news.volyx.in

Tree Calculus (treecalcul.us)

493 points by iamwil · 604 days ago · 194 comments on HN

Article summary

Tree Calculus is a minimal, Turing-complete, reflective, and modular calculus discovered by Barry Jay. It has one operator that computes whenever it is acting on three values, and its values are natural binary trees. The calculus has practical consequences such as trivial and safe interpreters on any platform, and it is a good fit for cross-platform configuration generation. Tree Calculus also allows for the representation of recursive functions as normal forms using fixpoint constructions.

Main themes

  • Tree Calculus
  • Turing completeness
  • Reflective programming
  • Modular programming
  • Combinatory logic
  • Programming language design

What commenters say

  • The article's presentation is confusing and lacks a clear introduction to the topic of Tree Calculus.
  • Tree Calculus is a programming language whose programs and values are unlabeled trees, and it defines a set of rules for evaluating these trees.
  • The lambda calculus is a more useful and well-known basis for programming languages, but its usefulness may be due to its historical influence rather than any inherent naturalness.
  • The reduction rules of Tree Calculus are confluent, disjoint, and branch on their left subtrees, making it a model of functions similar to the SK calculus.
  • The ability of Tree Calculus to reflect on its own program structure is a unique feature that sets it apart from other calculi like the SKI calculus.
  • The claim that Tree Calculus programs always converge to a stable normal form is questionable given its Turing completeness.
  • Understanding Tree Calculus requires prior knowledge of lambda calculus and combinators, and its usefulness is still a topic of debate.
  • The design of Tree Calculus has practical implications for programming language design, including the potential for self-interpretation and reflection.