Need help?
<- Back

Comments (30)

  • steego
    For people wondering what this is and whether to take this seriously, I’ll try to provide some context:Tree Calculus is a novel alternative to lambda calculus as a minimal model of computation. Unlike most minimal systems, tree calculus is fundamentally capable of being fully reflective.If you were ever interested in creating a programming language that could fully reflect and enhance itself with libraries, this is one of a very few number of known minimal system you can use as a starting point. Think of it as a lambda calculus with macros built into the underlying calculus, not something bolted on afterward based on a partially implemented meta-theory.If you’re into formal proofs, you can find Rocq proofs of his work in his repo.https://github.com/barry-jay-personal/tree-calculusIf you’re interested in how something like tree calculus can express a type system, here’s a recent ACM paper:https://dl.acm.org/doi/pdf/10.1145/3704253.3706138Personal context, Barry Jay is a respected academic and researcher who’s collaborated with people like Simon Peyton Jones and Eugenio Moggi. His PhD advisor was Joachim Lambek (from the Curry-Howard-Lambek correspondence). He’s not a random professor with a neat toy, Barry’s been working with many of the best minds on the foundations of computation long before most of us knew category theory existed. He’s been formalizing and defining pattern matching, higher-ordered patterns and has been searching/separating what is truly essential from what is not essential for decades.Seriously, look at his research history on Google Scholar.I think it will take the rest of us a while to understand and unpack the insight he’s already imbued into such a small and simple calculus.
  • macintux
    Extensive discussion (202 comments) about 15 months ago: https://news.ycombinator.com/item?id=42373437
  • layer8
    > the application of E1 to E2 attaches E2 to the root of E1 on the right.It’s completely unclear to me what this means. The literal meaning is obviously wrong, because attaching a tree to a root that already has two child nodes would result in a ternary node, but apparently all trees in tree calculus are binary.
  • eitally
    Much better intro article about tree calculus here, vs the actual site: https://olydis.medium.com/a-visual-introduction-to-tree-calc...
  • pgt
    The inversion is really cool, e.g.> f = λa λb concat ["Hello ",a," ",b,"!"] > f "Jane" "Doe" Hello Jane Doe!then,> g = f "Admiral" > invert g "Hello Admiral Alice!" Alice
  • tripplyons
    The reduction rules seem kind of arbitrary to me. At that point why don't you just use combinators instead of defining a set of 5 ways their operator can be used?
  • gavinray
    This seems really up Stephen Wolframs alley.He's really into the graphical representation of Turing machines and multiway Turing machines.
  • anon
    undefined
  • gram-hours
    > Tree calculus is minimal, Turing-complete, reflective, modularOk. But what is it?
  • est
    wow this is amazing. There's an old Chinese proverb, 道生一,一生二,二生三,三生万物The Tao giveth △ (false)△ gives △ △ (true)△(△, △) giveth rise to all things computable(just kidding, I am totally lost to this)
  • henearkr
    That makes me think of the Inca's quipus.
  • timcobb
    I'm not used to math things being promoted like this (not to suggest that's a bad thing at all!). Can someone offer some context please.