A categorical programming language
|bd63be8d||2021-11-15 13:47:25||Corbin||hive: Basic 2D signed distance functions. Circles and me...|
|3da098e7||2021-11-14 15:05:24||Corbin||movelist: Clean up clause ordering. It was getting unmai...|
|e8c828e6||2021-11-14 15:05:13||Corbin||frame: Comment out debugging messages.|
|120cf18b||2021-11-14 15:03:49||Corbin||Refactor demos.|
|1afe5549||2021-11-14 05:52:34||Corbin||cammy-run: Multiple JIT drivers.|
|5e592f74||2021-11-14 02:23:00||Corbin||demo/mandelbrot: Use bounded unfolds instead of applicati...|
|a7b8dbad||2021-11-13 14:38:58||Corbin||Implement bounded unfolds.|
|e701bc50||2021-11-13 14:38:30||Corbin||cammy-run: Add lists.|
|4baf5e2d||2021-11-06 07:13:23||Corbin||cammy-run: Better NaN handling in f-add and f-mul.|
|66de9701||2021-11-06 02:04:43||Corbin||cammy-run: Better multisampling.|
# Frame The frame is a preprocessor written in OCaml which statically links together multiple Cammy expressions. The frame takes any nullary functor which is not standard, and treats it as a file path into a tree of Cammy expressions. Each path is replaced with the expression at that path. # 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: $ pushd 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
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