summaryrefslogtreecommitdiff
path: root/NOTES.md
diff options
context:
space:
mode:
Diffstat (limited to 'NOTES.md')
-rw-r--r--NOTES.md10
1 files changed, 10 insertions, 0 deletions
diff --git a/NOTES.md b/NOTES.md
index 684d883..6b7de3e 100644
--- a/NOTES.md
+++ b/NOTES.md
@@ -13,3 +13,13 @@ can we try a multicore implementation? write it at ocaml/lib/serial_parallel.ml
wtf tests sometimes faile running dune exec but not if i do _build/default/test/...exe
+
+
+## instructions
+
+OK so we're porting the Urbit runtime to OCaml. Long story, yes. There's a fatal error on the Nock interpreter in OCaml that crashes the runtime. So we're adding very minute and detailed logs to both the C
+Nock interpreter and to OCamls to compare what's going on. C and Ocaml are very different languages though so it's pretty hard. Right now I want you to help focus in one file at a time to solve the issue. The
+ C interpreter is called vere, it's the vere folder. There's a test file in there called solid-boot-test.c, you can run it doing `zig build solid-boot-test`. What it does is load a "pill", a file of a few
+megabytes, then process it according to Nock rules. The nock interpreter itself is at vere/pkg/noun/nock.c; you'll see it's full of logs but I'm not sure they are at the right place. If you don't know about
+Nock please read at docs/core-academy/ca00.md, the whole spec is there. It's a very simple spec, that's the whole idea. Anyway please run `zig build solid-boot-test` inside the vere folder and help me look at
+ the logs tracking which Nock Opcodes are being run and returned and let's make sure it's all showing the right data. Once we're sure we can move to the OCaml side and make sure it all matches.