Skip to content

Instantly share code, notes, and snippets.

@michaeljklein
Created October 22, 2017 05:06
Show Gist options
  • Save michaeljklein/36dea7c33d7ded41e3e3c2654300c4a7 to your computer and use it in GitHub Desktop.
Save michaeljklein/36dea7c33d7ded41e3e3c2654300c4a7 to your computer and use it in GitHub Desktop.

The dependencies of the [blocks?] form a labeled spanning tree of the hypercube These labels allow us to form a regular tree language, which is what is used to parse/metaprogram/type-check/evaluate Flock.

It is isomorphic to the structure of any complete Flock:

  • diagram
  • AST
  • dependencies (proof, implementations, choices, etc)
  • parser
  • interpreter
  • compiler
  • type-checker
  • metalanguage
  • sublanguage
  • network
  • theory
  • book
  • exercise
  • circuit

Flock is isomorphic to

  • a directed hypercube graph
  • all unorientations of a directed hypercube graph
  • a unoriented hypercube graph

Once disarmed, English is relatively harmless.

@michaeljklein
Copy link
Author

https://en.wikipedia.org/wiki/Regular_tree_grammar

If L1, L2 both are regular tree languages, then the tree sets L1 ∩ L2, L1 ∪ L2, and L1 \ L2 are also regular tree languages, and it is decidable whether L1 ⊆ L2, and whether L1 = L2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment