Eu estava pensando outro dia, e me ocorreu que todos os programas de computador parecem representáveis como um gráfico (uma árvore de sintaxe abstrata, por exemplo) ou, uma vez que expressões comuns são combinadas, um gráfico de sintaxe abstrata.
Ocorreu-me que talvez qualquer programa de computador possa ser representado como um desses gráficos + semântica de avaliação anexada a ele. Estou curioso para saber se isso é universalmente verdadeiro para uma máquina de turing (suponho que você possa obter um gráfico potencialmente infinito, mas isso é matemática, então tudo bem). Eu tenho pensado nisso e em muitas coisas, como sistemas de tipos fortes e que se encaixam bem nessa abstração (eles impõem restrições estruturais no gráfico). Você pode até considerar o sistema de tipos como seu próprio programa e representá- lo como um gráfico diferente + semântica de avaliação operando no gráfico do programa ...
Apenas curioso se essa é uma equivalência conhecida ou não.