A categorical programming language
Rev. | 时间 | 作者 | Message RSS |
d69bf980 | 2022-08-14 13:35:28 | Corbin | Hack up a basic concept for a packed JSON hive. |
598d5330 | 2022-08-12 10:05:59 | Corbin | Okay, well, let's just leave embed/ broken. |
aeb39685 | 2022-08-06 10:50:16 | Corbin | Reboot OCaml-oriented compiler. This time, we're focusin... |
54529109 | 2022-07-25 06:28:24 | Corbin | Damn you're fast. |
fa785ac4 | 2022-07-13 00:40:27 | Corbin | Display trails in the REPL when available. |
57f59678 | 2022-07-12 09:35:51 | Corbin | Teach movelist about app, and improve jelly in tandem. |
5fd12d13 | 2022-07-10 12:56:20 | Corbin | Specialize (uncurry id) to app. |
b5514dfa | 2022-07-03 23:20:13 | Corbin | Add the ability to display sequences, not just elements. |
c7ccf926 | 2022-07-02 14:49:58 | Corbin | Implement the remainder function. |
dbe659ea | 2022-07-02 12:06:13 | Corbin | Logarithms for floats. |
# Jelly The jelly optimizer is a Cammy-to-Cammy optimizer which uses e-graphs to search for the smallest equivalent expression. The rule engine is from the `egg` library. The rules are written in a DSL embedded in Rust, along with comments explaining their provenance and correctness. To update Cargo dependencies for jelly: $ nix-shell -p crate2nix cargo $ cd jelly/ $ cargo metadata $ crate2nix generate # Movelist The movelist is a relational typechecker written in CHICKEN Scheme's dialect of miniKanren. It can typecheck a Cammy expression, or take a type representation and synthesize Cammy expressions with the given type. To update eggs for movelist: $ egg2nix movelist/eggs.scm > movelist/eggs.nix # Shell Environment The environment for developing the Cammy toolchain is contained within `shell.nix`. To update eggs for the shell environment: $ egg2nix eggs.scm > eggs.nix # Compiling to Categories The second argument to cammy-frame applies a list of functors. Each functor corresponds to a path in the hive; functor `foo` corresponds to `cats/foo/`. The list is comma-separated and applied left-to-right.
Welcome to OSDN Wiki system. Here is your chamber Wiki space.
Check Wiki Guide (English) to refer syntax and functions.
[PageInfo]
(auto generated page)
[Permissions]
view:all, edit:admins, delete/config:admins