sociolstat (sociolstat) wrote in ru_python,

Самореферентный язык

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

Возьмем реально работающий код на языке программирования 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)

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

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

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

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 13 comments