Skip to content

kyleect/cid-lang

Repository files navigation

🧩 The CID Programming Language

verify

An (on going) implementation of a Scheme based language.

Usage

Library

import { exec } from "cid-lang";

exec(`
(define a 100)
(define b 5)
(* a b)
`); // "500"

CLI

npm run build && npm run cli -- spec/test.scm

REPL

npm run build && npm run repl

CID> (+ 10 25)
35

Binaries

npm run build

apps/cidlang/dist/bins/cidlang-{linux|macos|windows.exe} spec/test.scm

# .....

apps/cidrepl/dist/bins/cidrep-{linux|macos|windows.exe}

CID> (+ 10 25)
35

Spec

Language spec tests are found in ./spec and can be ran:

npm run build

dist/lib/cidlang.js spec/test.scm

Differences To Scheme (So Far)

  • Quoting lists is not required
  • Case sensitive identifiers

Todos

  • Lots of stuff!
  • Most built-in functions
  • Macros

Development

See DEVELOPMENT.md