Skip to content

baudtack/jank

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

JAvascript Nock Kompiler

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages