Skip to content
A tiny, embeddable language implemented in ANSI C
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc
scripts
src
LICENSE
README.md
build.sh

README.md

fe

A tiny, embeddable language implemented in ANSI C

(= 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

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 for details.

You can’t perform that action at this time.