Skip to content

jsborjesson/lasp

Repository files navigation

Läsp Build Status

A Lisp implementation in Ruby.

Features

  • Comprehensive documentation
  • Interactive REPL with auto-closing of missing trailing parentheses
  • Closures
  • let-bindings
  • Fully functional macro system
  • Interoperability with Ruby
  • Very concise core library written in Ruby
  • Standard library written in Läsp itself

Installation

It needs Ruby to work, on Mac or most Linux OS:s it's already there and you can simply

gem install lasp

# If it doesn't work you might need to sudo
sudo gem install lasp

# You can update to the latest version the same way:
gem update lasp
sudo gem update lasp

Running

After installing you can invoke lasp for a REPL or provide a lasp-file to execute.

# An interactive prompt that lets you play with the language
lasp

# Run lasp-files
lasp path/to/program.lasp

Documentation

  • Language - explains the core types and syntax of the language.
  • Reference - a list of every available function with description and usage examples.
  • Examples - various small examples of using the language.
  • Zuul - a small text-based game written in Läsp.

Developing

Run the specs

# Run all checks
bundle exec rake

# Run only tests
bundle exec rake spec

# Run only style checks
bundle exec rake style

Dev REPL

# This is basically just a shorthand for `rake install && lasp`
rake repl

About

A toy programming language

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages