From 55dd8ebfdd2629f97388e52953fe5bbd52733745 Mon Sep 17 00:00:00 2001 From: Marcos Magueta Date: Sat, 31 Oct 2026 02:30:40 -0300 Subject: update docs with partial bindings --- docs/subsystem-interop.org | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 docs/subsystem-interop.org (limited to 'docs/subsystem-interop.org') diff --git a/docs/subsystem-interop.org b/docs/subsystem-interop.org new file mode 100644 index 0000000..b8503c1 --- /dev/null +++ b/docs/subsystem-interop.org @@ -0,0 +1,23 @@ +RNT is going for a route of a microkernel, and here is one use case +for its servers: imagine a subsystem A and subsystem B. Each register +an evaluator and has their specific program image execution from their +own server, operating under an RNT supervisor. A program image from +subsystem A should be able to invoke and interop with programs from B, +as they both share the common ephemeral relation protocol. + +A more concrete case that is warranted is Sakura and Karuta. Here is a +brief introduction of what each is: + +- Sakura :: A purely relational algebra system that performs strictly + first order logic for data retrieval, and integrates other + subsystems for DDL, DML and version control. +- Karuta :: A logic language targeting the BEAM, similar to Prolog, + but that operates under microKanren. + +Karuta compiles programs to a /.beam/ format, and embeds them with two +additional /.lfe/ files: karuta.lfe & sakura.lfe, and executes them with +/play/ lfescript that glues all together. + +Our goal with the subsystem integration is to make Karuta produce +Sakura programs (it already does), that can be loaded as program +images on RNT, executing through the registered evaluator. -- cgit v1.2.3