Задачата е поснавена още от Н. Винер. За пръв път е решена успешно върху теоретичен модел на абстрактна машина /"Машината на Пост"/, после и с "Машината на Тюринг". Общата теорема е намерена от Ч. Уезъръл... Стига, да не издам и решението
Остави, ами в много програмни езици задачата не може да се реши посмъртно.
Та задачата е такава:
Да се напише програма, която да отпечатва собствения си текст.
Търси се пълна идентичност на входния и изходния текст.
По-точни изисквания:
За да няма скрита помощ откъм особеностите на OS или от средата за програмиране не се допускат специални инструменти за само-документиране /команди като "LIST" от старите бейсици, "WRITE" на Focal, "words" от Prolog и т. н./
Абсолютна автономност и отсъствие на външни подпрограми, файлове, данни. Това е и уточнение към предишното изискване. Не върви да извикаш команда TYPE на ДОС-а да изпечата текста
Допуска се само използване на стандартни оператори за печат/извеждане. Специални оператори за прекъсване и продължаване на ред не се допускат /FORTRAN-ите от приди 1996 автоматично отпадат по тоя пункт/.
Изискването за пълна идентичност не засяга неизпълнимите части на програмните текстове. Примерно "шапката" на паскалските програми може да се изпусне, но е предимство да я има.
Който се има за разбирач да хваща любимия си език и да се пробва!
Хай сега да видим!