Skip to content

Latest commit

History

105 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

NoLisp2

Copyright (C) 2018-2019 Nolan Eakins

A language that looks like Lisp but lacks lists and compiles in a single pass. All it knows are integers and memory accesses.

https://github.com/sneakin/nolisp/tree/nolisp2

Requirements

  • Steel Bank Common Lisp
  • Ruby and Rake

Interactive Top Level

In a Lisp such as SBCL the following can be done:

Loading

 $ cd$ROOT
$ sbcl
cl> (load "sbcl.lisp")

Or in Emacs using Slime, evaluate sbcl.lisp with the slime-eval-buffer command.

Compiling Files

 cl> (repl::repl-file path)

Disassembling Files

 cl> (repl::disassemble-asm output-sequence)

Command Line

Compiling and disassembling can also be done outside of a Lisp:

Building

To produce compiler.exe and disassembler.exe run:

 $ cd$ROOT
$ rake

Running

 $ ./compiler.exe -o hello-world.bin tests/runtime/hello-world.nl

And to run hello-world.bin:

 $ NODE_PATH=$BACAW/js/lib node $BACAW/bin/bccon.js hello-world.bin

Bacaw can be fetched using git submodule update --init.

About

Nolan's Lisp

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages