Skip to content

froderick/warp-lang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Warp

Logo

Warp is a programming language and runtime that explores many aspects of modern, high-level language design.

The key features of Warp are the following:

  • A bytecode-based virtual machine
  • Garbage-collected memory allocation
  • Lisp syntax and macros
  • Tail Recursion
  • An interactive REPL environment

Warp is far from complete and not actively supported, please do not hook up your pace maker to it.

A Very Small Example

(defn fib (start)
  (let loop (prev1 0 
             prev2 1
             n n)
    (if (= n 0)
      prev2
      (loop prev2 (+ prev1 prev2) (- n 1)))))

For more examples, check out the standard library.

Building and Runing

brew install check cmake

Then, in the root of the repo:

mkdir -p build
cd build
cmake ../
make all

This will generate a binary called repl-main, which is the primary means of interacting with Warp. Run it, and you will be presented with a prompt with which you can evaluate Warp code.

You can also run the test suite with make test.

Supported Environments

I have only tested Warp on MacOS, YMMV on other operating systems.

About

A lisp-based language, compiler and virtual machine.

Topics

Resources

License

Stars

Watchers

Forks