Tidak mungkin menulis bahasa pemrograman yang memungkinkan semua mesin berhenti pada semua input dan tidak ada yang lain. Namun, sepertinya mudah untuk mendefinisikan bahasa pemrograman seperti itu untuk kelas kompleksitas standar apa pun. Secara khusus, kita dapat mendefinisikan bahasa di mana kita dapat mengekspresikan semua perhitungan yang efisien dan hanya perhitungan yang efisien.
Misalnya, untuk sesuatu seperti : ambil bahasa pemrograman favorit Anda, dan setelah Anda menulis program Anda (sesuai dengan Turing Machine ), tambahkan tiga nilai ke header: integer , dan integer , dan output default . Ketika program dikompilasi, output mesin Turing yang diberikan input ukuran menjalankan on untuk langkah . Jika tidak berhenti sebelum langkah naik, output output default. Kecuali saya salah, bahasa pemrograman ini akan memungkinkan kami untuk mengekspresikan semua perhitungan dalam dan tidak lebih. Namun, bahasa yang diusulkan ini secara inheren tidak menarik.
Pertanyaan saya: apakah ada bahasa pemrograman yang menangkap himpunan bagian dari fungsi yang dapat dihitung (seperti semua fungsi yang dapat dihitung secara efisien) dengan cara yang tidak sepele? Jika tidak, apakah ada alasan untuk ini?