Hacker News new | past | comments | ask | show | jobs | submit login

As far as I understand it so far, the idea that the trees are "unlabeled" over simplifies.

The most common kind of binary tree is defined as

binary-tree = nil | node of binary-tree label binary-tree

for example

empty-tree

node nil Alice nil

node nil Bob (node nil Carol nil)

node (node nil David nil) Edward (node nil Fred nil)

node (node nil George nil) Harold nil

If we erase the labels, there remains an implicit label Alice = 00, Bob = 01, Carol = 00, David = 00, Edward = 11, Fred = 00, George = 00, Harold = 10 encoded by the pattern of empty trees.

The trees in the article seem to be doing it slightly differently, with implicit labels 0,1, or 2. Edward is erased, leaving an implicit 2 and the erasure of both Bob and Harold leaves an implicit 1 for both of them, removing the distinction between 01 and 10.

Edited to add: I'm up to page 27 (pdf reader says page 39 of 176) and some nodes have three children. 0, 1, or 2 children represent "values". "It follows that trees containing a node with three of more branches is a computation that is not a value, and so must be evaluated."




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: