SkillAgentSearch skills...

Karuta

A compiler for a relational programming language for the BEAM written in OCaml

Install / Use

/learn @dont-rely-on-nulls/Karuta

README

#+TITLE: Karuta 🎴

#+html: <a href="https://builtwithnix.org"><img alt="built with nix" src="https://builtwithnix.org/badge.svg" /></a><br>

#+html: <p align="center"><img src="images/logo.png" alt="The Karuta Logo" style="width: 30%;"></p>

  • About This is a semi-toy, general-purpose relational (aiming to be constraint-based) programming language. We are not held accountable for anything that might happen if you are crazy enough to use it.

  • Requirements

** [[https://minikanren.org/][Kanren]]

  • [X] Parsing
  • [X] Query Conjunction
  • [X] Comments
  • [X] BEAM runtime library (logic variables, backtracking)
  • [X] Compilation
  • [X] Integer Literals
  • [X] List Literals
  • [X] Implement toolchain (i.e. compile to BEAM assembly, call ~erlc~ on that)
  • [X] Modules
  • [ ] ML Functors
  • [ ] Type checking

** [[https://github.com/dont-rely-on-nulls/sakura][Sakura]]

  • [ ] AST nodes for Sakura interaction.
  • [ ] Sakura directives.
  • [ ] Runtime support for database interaction (sockets).
  • [ ] Compiler can fold together multiple queries in a single predicate body.
  • References
  • [[https://www.erlang.org/doc/apps/erts/absform.html][BEAM Abstract Form]]
  • [[https://webperso.info.ucl.ac.be/~pvr/VanRoyHaridi2003-book.pdf][Computer, Techniques, and Models of Computer Programming]]
  • [[https://users.dimi.uniud.it/~marco.comini/Students/Documentation/wam-book.pdf][Warren's Abtract Machine]]

Related Skills

View on GitHub
GitHub Stars17
CategoryDevelopment
Updated6d ago
Forks2

Languages

OCaml

Security Score

80/100

Audited on Apr 3, 2026

No findings