Visão geral do Tree Calculus
- Tree Calculus é um sistema Turing-completo com operadores e semântica simples que capturam a essência da computação.
- Permite serialização e desserialização de funções, além de poder ser compilado em vários formatos.
- Tem a capacidade de realizar análise de programas, verificação de tipos, compilação e otimização dentro do próprio programa.
Democratização das funções e da metateoria
- Explica os recursos do Tree Calculus por meio de exemplos de funções de manipulação de strings.
- A verificação de tipos pode ser feita de forma simples com uma chamada de função, e a otimização também é possível.
- É possível verificar o desempenho comparando o número de etapas de avaliação e o número de nós da árvore antes e depois da otimização.
Vantagens da intensionalidade
- Tem a capacidade de refletir programas sem precisar de citação para análise de programas.
- Verificações estáticas e dinâmicas podem ser realizadas com a mesma chamada de função.
- Compilação e distribuição podem ser feitas no próprio programa, oferecendo um ambiente REPL poderoso.
O poder do Tree Calculus
- Tree Calculus é Turing-completo e não há distinção entre o programa e sua codificação.
- A codificação de dados e os algoritmos são otimizados de forma assimétrica.
- Funções comuns de manipulação de listas são representadas como árvores binárias com centenas de nós.
Concisão
- A sintaxe abstrata do Tree Calculus é simples, e os valores são representados como árvores binárias sem rótulos.
- É possível fazer bootstrap rapidamente de vários conceitos sem usar padrões como JSON ou UTF8.
- É adequado para ensino, permitindo introduzir abstrações e modelagem de forma gradual.
Portabilidade
- A sintaxe e a semântica do Tree Calculus são minimizadas e não dependem de plataforma.
- É fácil escrever um interpretador em qualquer plataforma ou linguagem de programação.
- Como é possível fazer bootstrap de toda a funcionalidade do Tree Calculus em qualquer lugar, ele é adequado como linguagem de configuração como código em sistemas heterogêneos.
1 comentários
Comentários do Hacker News
Tree Calculus é muito interessante e tem muitas implicações além deste site. No entanto, é uma pena que o site não mencione o criador e autor, o Prof. Barry Jay. O livro dele pode ser encontrado no GitHub
Tree Calculus parece um conceito muito legal. Mas precisa de uma explicação mais fácil de entender. Fico me perguntando se existe uma versão para iniciantes
A página inicial usa as expressões "Democratizing Functions" e "Democratizing Metatheory". Fico em dúvida se o uso dessa palavra é apropriado
Fiz um diagrama para representar visualmente as regras de redução lógica de Tree Calculus. Pode ser útil para pessoas que pensam de forma visual
Fico me perguntando se há pessoas votando nisso fingindo que entendem o conteúdo
Gostaria de saber se alguém pode explicar em que Tree Calculus difere de Lisp ou Forth. Não é uma crítica, é uma pergunta para entender
Explica os conceitos básicos de Tree Calculus por meio de um exemplo de código em Python
Leaf,StemeFork, e implementa a lógica com a funçãoapplyshowHouve uma tentativa de converter o combinador Z de SKI para Tree Calculus. Usa um exemplo do cálculo lambda para imprimir a árvore
Compartilha um resultado que visualiza as regras de Tree Calculus como pattern matching em árvores binárias
É muito bom ver Johannes experimentando com Tree Calculus e mostrando explicitamente possibilidades que no livro dele no GitHub eram mencionadas apenas de forma implícita. Agora existe um Tree Calculus tipado, e ele começou um blog sobre isso