Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
mmhelloworld committed Mar 4, 2014
1 parent ca7e117 commit 55ad718
Showing 1 changed file with 5 additions and 6 deletions.
11 changes: 5 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,15 @@
This project aims to interpret Frege code snippets with on-the-fly in-memory compilation.

The interpreter reuses most of the Frege compiler - lexer, parser, type checker and Java code generation.
Just after the code generation, instead of generating Java class files on the file system
using an external Javac process, the interpreter compiles the Java code into memory and then
Just after the code generation, instead of generating Java class files on the file system, the interpreter compiles the Java code into memory and then
through a special classloader, it loads the byte codes from memory. The actual result is then obtained through reflection
on the dynamically generated class.

Unlike normal Frege compilation, the interpreter does not produce any class files on the
file system; instead it keeps them in memory. Eclipse compiler is used for Java compilation on-the-fly which
eliminates the JDK dependency so to use the interpreter, only JRE is necessary.
eliminates the JDK dependency for Java compiler.

Frege REPL and [Online REPL](http://try.frege-lang.org/) make use of frege-scripting to provide an interactive
Frege REPL and [Online REPL](http://try.frege-lang.org/) make use of frege-interpreter to provide an interactive
environment on terminal as well as on the browser.

####JSR 223 Scripting support####
Expand All @@ -21,8 +20,8 @@ This project also implements JSR 223, a scripting engine for Frege. This enables
which support other JVM languages through JSR 223 scripting engines.


###How to get frege-scripting?###
###How to get frege-interpreter?###

**Build from sources**: Checkout into some directory and then ```mvn install```

**Binary**: Under releases page [here](https://github.com/Frege/frege-scripting/releases).
**Binary**: Under releases page [here](https://github.com/Frege/frege-interpreter/releases).

0 comments on commit 55ad718

Please sign in to comment.