Skip to content

jsyeo/malady

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Malady Build Status

Malady is an implementation of mal that compiles to Rubinius bytecode.

Installation

$ gem install malady

Usage

Use the malady binary provided in the bin directory to start the malady repl.

$ malady
malady> (+ 42 88)
130
malady> (def! fib (fn* [x]
          (if (< x 2)
              1
              (+ (fib (- x 1)) (fib (- x 2))))))
#<Rubinius::BlockEnvironment:0x30ac>
malady> (fib 8)
34
malady>

Development

Malady requires Rubinius.

Install dependencies with bundle

$ bundle install

To run tests, use rspec

$ rspec

To Do:

  • Data structures
    • Lists
    • Hashes
    • Symbols
  • Macros
  • Import mal's test cases

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/jsyeo/malady.

Credits

Inspired by lani, a programming language in Rubinius.

License

The gem is available as open source under the terms of the MIT License.

About

A lisp that compiles to rubinius bytecode

Resources

License

Stars

Watchers

Forks

Packages

No packages published