标签
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#objective-cqt誰得cocoawindowspythonphprubygameguibathyscaphec翻訳omegat計画中(planning stage)frameworktwittertestdombtronvb.netdirectxarduinopreviewerゲームエンジン

最近の作業部屋活動履歴

2022-08-14
2022-08-02
2022-07-03
2022-06-20
2022-06-08
2022-06-06
2022-05-18
2022-05-17
2022-04-26
2022-04-13

最近のWikiの更新 (Recent 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.时间作者Message RSS
d69bf9802022-08-14 13:35:28CorbinHack up a basic concept for a packed JSON hive.
598d53302022-08-12 10:05:59CorbinOkay, well, let's just leave embed/ broken.
aeb396852022-08-06 10:50:16CorbinReboot OCaml-oriented compiler. This time, we're focusin...
545291092022-07-25 06:28:24CorbinDamn you're fast.
fa785ac42022-07-13 00:40:27CorbinDisplay trails in the REPL when available.
57f596782022-07-12 09:35:51CorbinTeach movelist about app, and improve jelly in tandem.
5fd12d132022-07-10 12:56:20CorbinSpecialize (uncurry id) to app.
b5514dfa2022-07-03 23:20:13CorbinAdd the ability to display sequences, not just elements.
c7ccf9262022-07-02 14:49:58CorbinImplement the remainder function.
dbe659ea2022-07-02 12:06:13CorbinLogarithms 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.

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.