Skip to content

Latest commit

 

History

History
49 lines (32 loc) · 1.64 KB

readme.md

File metadata and controls

49 lines (32 loc) · 1.64 KB

Things here are based on the simpler design of jet matching which is currently is not fully implemented in cl-urbit but will be Soon(tm)

  • DONE math.lisp
  • data protocol ** head, tail, etc ** mugs

Data protocol here is the format for cells. There are a few things we need to store on each one, primarily mugs, head, and tail. Going to be simple javascript objects.

  • mugs ** unique data objects in memory representing noun values ** find hashtable library for js?

Mugs are murmur3 scramblers. Just need to be implemented, not much to say beyond that, we have multiple implementations and there may already be a js library to do this.

  • write unifying equality

  • write nock ** compiles to js

Probably the simplest part, nock is fairly straight forward. Just a mater of implementing and testing basic nock.

  • hints ** memo ** slog (printing) ** stack hints

Have about three really important hints to handle, memo for memoization, slog for printing, and a hint for stack printing.

Jets are the most historically complicated part of a nock compiler. The pasted code illustrates a new jet system that is going to be implemented in cl-urbit as well. It should greatly simplify the work.

** memoization

  • caching in hoon compiler ("a whole thing") ** Jared working on removing them ** implement find, mint with memoization *** problematic because it's weird and very sensitive

This may or may not actually be required by the time I get to it as Jared is working on removing this.

  • jets for hoon

To actually be able to boot an ivory pill, we'll need to write a ton of jets.