TheolZacharopoulos / enso

Home Page:http://enso-lang.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Getting started with Enso
=========================
This project contains Ensō, a theoretically sound and practical reformulation 
of the concepts of model-driven software development.

See http://enso-lang.org for more information.



1) Installation
---------------
Main Enso requires no installation but individual modules might have outside
dependencies. There is a makefile for Javascript translation. It is not used 
for normal Enso operation.

You need:
 - Ruby 1.9.3 (fully tested with 2.1.0)
 - json gem (required!)
 - test-unit gem (required!)

You may need:
 - bigdecimal gem
 - colored gem (for debugger)
 - rake (for web)
 - wxruby (for old stencil)

You may want (only if you know you do):
 - Eclipse IDE. Suggested configuration files are kept in git.
 - Rascal. There is an Enso plugin for Rascal.



2) How to run Enso
------------------
Run: ruby -I {ENSO_HOME}/src {SOME RUBY FILE}

  eg. ruby -I enso/src enso/src/core/expr/eval.rb

You can add the following to your .bashrc to avoid the -I switch:

  export RUBYOPT="-I {ENSO_HOME}/src"

There are several commonly used utility functions in the /bin directory. These
are all aliases to existing Ruby files.



3) Running the demos
--------------------
Refer to README in individual sample for running instructions.

* demo/StateMachine
Simple state machine example to demonstrate writing a schema, grammar, and 
interpreter.

* demo/Piping
Most complete example from LWC '12. Has schema, grammar and interpreter for a 
water heating simulation system and its state-machine-based controller. Output
is rendered via stencil. Also feature a modular debugger.

* demo/Questionaire
Questionaire language submission for LWC '13. Zero lines of code! Logic is 
completely embedded into stencil (mostly) and grammar/schema.

* core/expr
Basic expression language and evaluator. Features value tracking (tainting) and
functional reactive programming (FRP).



About

http://enso-lang.org

License:Other


Languages

Language:HTML 45.9%Language:Ruby 31.9%Language:JavaScript 16.5%Language:CSS 3.9%Language:PHP 1.5%Language:Makefile 0.1%Language:Shell 0.1%Language:Gnuplot 0.0%Language:Gherkin 0.0%