A categorical programming language
|23bcde0c||2023-02-02 14:41:01||Corbin||Debug FP multiplication somewhat. For some reason, groun...|
|ec5a0689||2023-02-02 13:32:51||Corbin||Finish implementing FP. Does it work? Kind of! We can ev...|
|65b06ab9||2023-01-30 16:33:19||Corbin||Clean up imports, fix FP unifications. FP values are sti...|
|6209f4c5||2023-01-30 15:50:21||Corbin||More FP. Strangely, these relations don't want to run fo...|
|bacf8c18||2023-01-30 15:03:37||Corbin||Really start implementing FP. 1.0 becomes 4.0, which is ...|
|dee936e3||2023-01-30 12:54:38||Corbin||Make jelly acceptance jelly-specific.|
|455bde16||2023-01-30 12:08:19||Corbin||Factor eval° more; make n-pred-maybe reversible. I'm sta...|
|b5d326f9||2023-01-30 11:08:39||Corbin||Implement sums; start implementing floats.|
|c8cc966d||2023-01-29 14:08:36||Corbin||Implement relational currying. I was worried about this,...|
|0f322cea||2023-01-28 14:30:24||Corbin||Search backwards through eval° and cammy°. I figured it ...|
# 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.
(auto generated page)
[Permissions] view:all, edit:admins, delete/config:admins