Неможливо написати мову програмування, яка дозволяє всім машинам, які зупиняються на всіх входах, і жодних інших. Однак, схоже, визначити таку мову програмування легко для будь-якого стандартного класу складності. Зокрема, ми можемо визначити мову, якою ми можемо виразити всі ефективні обчислення та лише ефективні обчислення.
Наприклад, для чогось типу : візьміть улюблену мову програмування, і після того, як ви напишете свою програму (відповідну машині Turing Machine M ' ), додайте до заголовка три значення: ціле число c , ціле число k та вихід d за замовчуванням . Коли програма складається, виведіть машину Тюрінга M, яка задана введенням x розміру n працює M ' на x для c n k кроків. Якщо M ′ не зупиняється перед c n kкроки вгору, виведіть вихідний за замовчуванням . Якщо я не помиляюся, ці мови програмування дозволять нам виразити всі обчислення в P і нічого більше. Однак ця запропонована мова за своєю суттю нецікава.
Моє запитання: чи існують мови програмування, які фіксують підмножини обчислюваних функцій (таких як усі ефективно обчислювані функції) нетривіальним способом? Якщо їх немає, чи є причина для цього?