# Delorean Delorean is a simple functional scripting language. It is used at [PENNYMAC][] as a scripting language for a financial modeling system. ![](http://i.imgur.com/qiG7Av6.jpg) ## Installation $ gem install delorean_lang Or add it to your `Gemfile`, etc. ## Usage require 'delorean_lang' engine = Delorean::Engine.new("MyModule") my_code =<= teen_min && age <= teen_max IndiaInfo: USInfo teen_min = 10 In this example, node `USInfo` provides a definition of a `is_teenager` when provided with an `age` parameter. Node `IndiaInfo` is derived from `USInfo` and so it shares all of its attribute definitions. However, the `teen_min` attribute has been overridden. This specifies that the computation of `is_teenager` will use the newly defined `teen_min`. Therefore, `IndiaInfo.is_teenager` with input of `age = 10` will evaluate to `true`. Whereas, `USInfo.is_teenager` with input of `age = 10` will evaluate to `false`. TODO: provide details on the following topics: * Supported data types * Data structures (arrays and hashes) * List comprehension * Built-in functions * Defining Delorean-callable class functions * External modules ## Implementation This implementation of Delorean "compiles" script code to Ruby. TODO: provide details ## License Delorean has been released under the MIT license. Please check the [LICENSE][] file for more details. [license]: https://github.com/rubygems/rubygems.org/blob/master/MIT-LICENSE [pennymac]: http://www.pennymacusa.com [functional programming]: http://en.wikipedia.org/wiki/Functional_programming