https://github.com/kyleect/cid-lang
An (on going) implementation of a Scheme based language.
https://github.com/kyleect/cid-lang
lisp programming-language programming-languages s-expressions scheme
Last synced: 3 months ago
JSON representation
An (on going) implementation of a Scheme based language.
- Host: GitHub
- URL: https://github.com/kyleect/cid-lang
- Owner: kyleect
- Created: 2023-03-03T20:38:36.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-09-16T17:46:09.000Z (over 2 years ago)
- Last Synced: 2024-12-21T14:13:12.388Z (about 1 year ago)
- Topics: lisp, programming-language, programming-languages, s-expressions, scheme
- Language: TypeScript
- Homepage: https://kyleect.github.io/cid-lang/
- Size: 868 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 33
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🧩 The CID Programming Language
[](https://github.com/kyleect/cid-lang/actions/workflows/ci.yml)
An (on going) implementation of a Scheme based language.
## Usage
### Library
```typescript
import { exec } from "cid-lang";
exec(`
(define a 100)
(define b 5)
(* a b)
`); // "500"
```
### CLI
```bash
npm run build && npm run cli -- spec/test.scm
```
### REPL
```bash
npm run build && npm run repl
CID> (+ 10 25)
35
```
### Binaries
```bash
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](./spec) and can be ran:
```bash
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](DEVELOPMENT.md)