Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#objective-cqt誰得cocoapythonrubywindowsphpgameguibathyscaphec翻訳omegatframework計画中(planning stage)twitterdombtronvb.nettestarduinodirectxpreviewerゲームエンジン

Recent Chamber Activity

2022-04-26
2022-04-13
2022-04-11
2022-03-17
2022-03-08
2022-03-03
2022-02-28
2022-02-27
2022-02-26
2022-02-23

Recent Wiki Changes

No changes on this wiki.

Wiki Guide

Side Bar

Cammy

  • R/O
  • R/O (HTTP)
  • R/W (SSH)
  • R/W (HTTPS)
Fork

A categorical programming language

Release Files

No download files.

Recent Commits

Rev.TimeAuthorMessage RSS
5e5d15912022-04-26 13:06:14CorbinSuccessfully compile to a category. The target category ...
3e7e57612022-04-17 12:19:14CorbinAdd exponential function.
fade1e552022-04-17 10:08:11CorbinFuck with fast fractals more. Still doesn't work, but at...
a79d0e362022-04-17 09:01:03CorbinAdd vmprof support. The "fast" fractal-drawing functions...
7353729e2022-04-15 10:20:34CorbinAdd beta-uncurry rule.
be55e7272022-04-13 13:52:38CorbinStart optimizing emitted bytecode.
ff384e392022-04-12 12:25:31CorbinFix an incorrect optimization.
7ab896f32022-04-11 14:47:58CorbinUse a variant of the CAM. More tuning needs to be done, ...
a12a5d8c2022-04-09 10:29:59CorbinUse CPython 2.7 instead of PyPy. This is a nixpkgs issue...
93e747262022-04-07 13:47:18CorbinImprove the JIT merge points. The generated JIT bridges ...
# 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

# Hive Documentation

The toolchain can generate documentation for hives. To generate PDF
documentation:

    $ cammy-weave hive/ | pandoc -o doc.pdf

And to generate HTML documentation:

    $ cammy-weave hive/ | pandoc --mathml -o doc.html

Latest updated Tickets

No tickets

About Chamber Wiki

Welcome to OSDN Wiki system. Here is your chamber Wiki space.

Check Wiki Guide (English) to refer syntax and functions.