Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tiancaiamao/cora
Genius programmer should write his own lisp!
https://github.com/tiancaiamao/cora
cora lambda lisp programming-language
Last synced: 6 days ago
JSON representation
Genius programmer should write his own lisp!
- Host: GitHub
- URL: https://github.com/tiancaiamao/cora
- Owner: tiancaiamao
- Created: 2015-09-01T16:50:29.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2024-11-06T06:35:19.000Z (14 days ago)
- Last Synced: 2024-11-06T07:29:40.939Z (14 days ago)
- Topics: cora, lambda, lisp, programming-language
- Language: C
- Homepage:
- Size: 1.96 MB
- Stars: 52
- Watchers: 4
- Forks: 8
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# The cora programming language
Inspired by scheme, shen, femtolisp and many more...
## kernel lambda
Minimal special forms:
- quote
- lambda
- if
- do`set` can be a function rather than special form.
`let` is a macro.
(let a 3 b 5 ...)
## proper tail call
proper tail call, as scheme does.
## partial apply
```lisp
((+ 3) 4)
```## pattern match
```lisp
(match (cons 1 2)
(cons a b) a)
```## The `func` macro
```lisp
(func map
f [] => []
f [x . y] => [(f x) . (map f y)])
```Nowadays any cats and dogs write their own programming languages, mostly sucks. Many of them are too small to be even a **finished** toy, many lack features, worsely, many choose the wrong features.
However, it's still an important practice for a true lisp hacker to keep inventing his own one, adapting the language to his own taste.
Among the most important features, lisp1, of course. Then comes proper tail call and partial apply, for functional programming goodness. Keep the kernel language miminal is also important, I think.