Lila is a dynamic language running on the JVM with efficient multiple and predicate method dispatch
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.settings gitignore and eclipse project Feb 6, 2013
lib add dependency: ASM Mar 17, 2013
src new multi-method compilation Jun 8, 2013
tests update and add tests Jun 8, 2013
.classpath add dependency: ASM Mar 17, 2013
.gitignore update gitignore and build script Jun 8, 2013
.project gitignore and eclipse project Feb 6, 2013
LICENSE
README.md README Oct 27, 2013
build.xml update gitignore and build script Jun 8, 2013
lila.sh improve script Jun 8, 2013
thesis.pdf Thesis Oct 27, 2013

README.md

Lila

Lila is a dynamic language running on the JVM with efficient multiple and predicate method dispatch. It was developed as part of the thesis "Efficient Dynamic Method Dispatch on the Java Virtual Machine".

Requirements

  • jruby. Version 1.7.3 was tested and used during development. Version 1.5.6 is known to be incompatible with the dependencies.

Installation

  • Compile the runtime: ant
  • Install the dependencies: jruby -S gem install bitescript parslet

Usage

  • Run a program: lila.sh -f <filename>
  • Compile a program into a class file: lila.sh -c -f <filename> Run the compiled program by including the bin directory in the classpath.

The environment variable JRUBY is used to run jruby. The default value is jruby.

The directory tests contains various examples.