Skip to content

Instantly share code, notes, and snippets.

View mjohngreene's full-sized avatar

John Greene mjohngreene

  • Houston, TX
  • 20:30 (UTC -05:00)
View GitHub Profile
@philipcmonk
philipcmonk / baby.hoon
Created February 11, 2023 22:53
A baby pill -- no jets required
!.
=> ~
=/ core
!=
=> ~ =>
|%
+$ card (cask)
++ cask |$ [a] (pair mark a)
+$ knot @ta
++ list |$ [item] $@(~ [i=item t=(list item)])

libames

It should be possible to build apps outside Urbit that communicate with Urbits using the Ames protocol. For this to work, we need an implementation of Ames written in an Earth language that other Earth programs can easily embed. Languages that might be embeddable enough include Lua, Zig, Rust, Chez Scheme, Guile, and of course C itself.

This project will be broken into four major milestones:

  • moon-specific: can only talk to sponsoring planet, no persistence
  • persistent: writes packets to disk to work across moon restarts
  • universal: can pretend to be any ship and talk to any ship, tracks azimuth
  • portable: can run on Windows and MacOS, not just Linux