PatLang Family Tree

For new readers

An interactive demo: click "Add relationship" to build a family tree node by node, then click any node to see its ancestors, descendants, or siblings computed live. Underneath, this is a small example of PatLang doing relational reasoning (SQL-backed storage plus a fast in-memory index) โ€” the interactive part below is the easiest way to get a feel for it, no reading required first.

Overview & Architecture

Build a family tree by adding child, parent relationships, then click any node to explore it. See self_hosting/lib/family_tree.patlang for the underlying ancestor/descendant/sibling logic -- a small, reusable module (SQL-backed durable storage plus an in-memory adjacency index for fast traversal) with no demo-specific code in it, also used as-is by fantpop-patlang's own family tree reporting.

is a child of

Interactive Demonstration

Click a node to select it.

no node selected