Skip to content
Oeiuwq Faith Blog OpenSource Porfolio

GwenNelson/BearLang

lisp for bears

GwenNelson/BearLang.json
{
"createdAt": "2018-03-21T20:10:02Z",
"defaultBranch": "master",
"description": "lisp for bears",
"fullName": "GwenNelson/BearLang",
"homepage": null,
"language": "C",
"name": "BearLang",
"pushedAt": "2023-06-26T10:04:14Z",
"stargazersCount": 13,
"topics": [],
"updatedAt": "2023-06-26T09:01:11Z",
"url": "https://github.com/GwenNelson/BearLang"
}

BearLang is a lispy-like language (ok, it’s a lisp essentially) written by me to match my own mental model of coding better. At the same time, it’s a heavy work in progress so expect bugs.

BOW!!!!

Build and install the dependencies under vendor/ first (running build.sh as root will do this for you automatically).

Next do this:

mkdir build
cd build
cmake ..
make
./bli ../examples/euler/problem01.bl

The REPL is named bli (for BearLang Interpreter), a compiler is currently under development.

Documentation on the language can be accessed by running the documentation browser webapp in docs/docs.bl

  • Lispy primitives (list operations, lambdas etc)
  • Nested functions
  • Tail call optimisation
  • Fast flex-based parsing
  • Boehms GC