Resumen de Tree Calculus
- Tree Calculus es un sistema Turing completo con operadores simples y una semántica que captura la esencia del cómputo.
- Permite serializar y deserializar funciones, y puede compilarse a varios formatos.
- Tiene la capacidad de realizar análisis de programas, verificación de tipos, compilación y optimización dentro del propio programa.
Democratización de las funciones y la metateoría
- Explica las capacidades de Tree Calculus mediante ejemplos de funciones de manipulación de cadenas.
- La verificación de tipos puede realizarse de forma sencilla con una llamada de función, y también es posible optimizar.
- El rendimiento puede comprobarse comparando la cantidad de pasos de evaluación y el número de nodos del árbol antes y después de la optimización.
Ventajas de la intencionalidad
- Tiene la capacidad de reflejar programas sin necesidad de citas para analizarlos.
- Las verificaciones estáticas y dinámicas pueden realizarse con la misma llamada de función.
- La compilación y el despliegue pueden hacerse desde el propio programa, lo que ofrece un entorno REPL muy potente.
La potencia de Tree Calculus
- Tree Calculus es Turing completo y no distingue entre un programa y su codificación.
- La codificación de datos y los algoritmos están optimizados de forma asimétrica.
- Las funciones comunes de manipulación de listas se representan como árboles binarios con cientos de nodos.
Concisión
- La sintaxis abstracta de Tree Calculus es simple, y los valores se representan como árboles binarios sin etiquetas.
- Permite arrancar rápidamente diversos conceptos sin depender de estándares como JSON o UTF8.
- Es adecuado para la enseñanza, ya que permite introducir abstracciones y modelado de forma gradual.
Portabilidad
- La sintaxis y la semántica de Tree Calculus están minimizadas y no dependen de una plataforma.
- Es fácil escribir un intérprete en cualquier plataforma o lenguaje de programación.
- Se puede arrancar toda la funcionalidad de Tree Calculus en cualquier lugar, por lo que resulta adecuado como lenguaje de configuración como código en sistemas heterogéneos.
1 comentarios
Comentarios en Hacker News
Tree Calculus es muy interesante y tiene muchas implicaciones más allá de este sitio web. Sin embargo, es una lástima que el sitio no mencione a su creador y autor, el Prof. Barry Jay. Su libro puede consultarse en GitHub
Tree Calculus parece un concepto muy genial. Pero hace falta una explicación más fácil de entender. Me pregunto si existe una versión para principiantes
En la página principal usan las frases "Democratizing Functions" y "Democratizing Metatheory". Me queda la duda de si el uso de esa palabra es apropiado
Hice un diagrama para representar visualmente las reglas de reducción lógica de Tree Calculus. Puede ser útil para quienes piensan de forma visual
Me pregunto si hay gente votando esto fingiendo que lo entiende
Me pregunto si alguien podría explicar en qué se diferencia Tree Calculus de Lisp o Forth. No es una crítica, sino una pregunta para entenderlo
Se explican los conceptos básicos de Tree Calculus con un ejemplo de código en Python
Leaf,StemyFork, y la lógica se implementa con la funciónapplyshowSe intenta convertir el combinador Z de SKI a Tree Calculus. Se usan ejemplos del cálculo lambda para imprimir árboles
Se comparte una visualización de las reglas de Tree Calculus como pattern matching sobre árboles binarios
Es muy bueno ver a Johannes experimentar con Tree Calculus y mostrar explícitamente posibilidades que en su libro en GitHub solo se mencionaban de forma implícita. Ahora que existe un Tree Calculus con tipos, empezó un blog al respecto