Самореферентный язык (original) (raw)

Позволю себе определенные измышления.

Возьмем реально работающий код на языке программирования Python:

s="""print '''s=%s%s%s
%s'''%('"'*3,s,'"'*3,s)"""
print '''s=%s%s%s
%s'''%('"'*3,s,'"'*3,s)

Этот код выводит сам себя. Он раскрывает автономную микроязыковую структуру
(то есть некое языковое подмножество языка Python).

Обращаю внимание на

почти симметричные ветви кода.

первая:

s="""print '''s=%s%s%s
%s'''%('"'*3,s,'"'*3,s)"""

Назовем ее условно "геномной" - содержит в себе память о структуре микроязыка.
(по аналогии с тем, как ДНК хранит информацию о человеке).

вторая:

print '''s=%s%s%s
%s'''%('"'*3,s,'"'*3,s)

Назовем ее условно "соматической" - разворачивает "геномную" информацию.

Однако свою целостность микроязык раскрывает только в рефлексивном закрытии
в контексте приведенного выше кода.

Важно. Нарушение симметричности в коде влечет блокирование возможности
самовоспроизводства.