No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-cqtcocoa誰得pythonphprubygameguibathyscaphec翻訳計画中(planning stage)omegatframeworktwittertestdomvb.netdirectxbtronarduinopreviewerゲームエンジン

Recent Chamber Activity


Recent Wiki Changes

No changes on this wiki.

Wiki Guide

Side Bar


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

A categorical programming language

Release Files

No download files.

Recent Commits

Rev.TimeAuthorMessage RSS
23bcde0c2023-02-02 14:41:01CorbinDebug FP multiplication somewhat. For some reason, groun...
ec5a06892023-02-02 13:32:51CorbinFinish implementing FP. Does it work? Kind of! We can ev...
65b06ab92023-01-30 16:33:19CorbinClean up imports, fix FP unifications. FP values are sti...
6209f4c52023-01-30 15:50:21CorbinMore FP. Strangely, these relations don't want to run fo...
bacf8c182023-01-30 15:03:37CorbinReally start implementing FP. 1.0 becomes 4.0, which is ...
dee936e32023-01-30 12:54:38CorbinMake jelly acceptance jelly-specific.
455bde162023-01-30 12:08:19CorbinFactor eval° more; make n-pred-maybe reversible. I'm sta...
b5d326f92023-01-30 11:08:39CorbinImplement sums; start implementing floats.
c8cc966d2023-01-29 14:08:36CorbinImplement relational currying. I was worried about this,...
0f322cea2023-01-28 14:30:24CorbinSearch 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

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.

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.