标签
No Tags

Frequently used words (click to add to your profile)

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

最近の作業部屋活動履歴

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
2022-04-11

最近の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
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.
f34cbf0d2022-06-26 12:00:46CorbinAdd another demo.
76b698cb2022-06-24 14:26:09CorbinImplement left-shifting for bits.
714d4c0f2022-06-20 14:10:40CorbinLet the viewport for drawings automatically scale.
# 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.