https://github.com/rxi/fe
A tiny, embeddable language implemented in ANSI C
https://github.com/rxi/fe
Last synced: 6 days ago
JSON representation
A tiny, embeddable language implemented in ANSI C
- Host: GitHub
- URL: https://github.com/rxi/fe
- Owner: rxi
- License: mit
- Created: 2019-04-09T18:51:49.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-07-04T01:56:15.000Z (9 months ago)
- Last Synced: 2025-04-01T12:03:42.527Z (13 days ago)
- Language: C
- Size: 20.5 KB
- Stars: 1,346
- Watchers: 28
- Forks: 83
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-programming-languages - Fe - A tiny, embeddable language implemented in ANSI C. (Uncategorized / Uncategorized)
README
# fe
A *tiny*, embeddable language implemented in ANSI C```clojure
(= reverse (fn (lst)
(let res nil)
(while lst
(= res (cons (car lst) res))
(= lst (cdr lst))
)
res
))(= animals '("cat" "dog" "fox"))
(print (reverse animals)) ; => ("fox" "dog" "cat")
```## Overview
* Supports numbers, symbols, strings, pairs, lambdas, macros
* Lexically scoped variables, closures
* Small memory usage within a fixed-sized memory region — no mallocs
* Simple mark and sweep garbage collector
* Easy to use C API
* Portable ANSI C — works on 32 and 64bit
* Concise — less than 800 sloc---
* **[Demo Scripts](scripts)**
* **[C API Overview](doc/capi.md)**
* **[Language Overview](doc/lang.md)**
* **[Implementation Overview](doc/impl.md)**## Contributing
The library focuses on being lightweight and minimal; pull requests will
likely not be merged. Bug reports and questions are welcome.## License
This library is free software; you can redistribute it and/or modify it under
the terms of the MIT license. See [LICENSE](LICENSE) for details.