Arc Forumnew | comments | leaders | submitlogin
2 points by rocketnia 3777 days ago | link | parent

"Arc is currently an interpreted language running on top of MzScheme."

Well, MzScheme has had a bytecode compiler and native code compiler for a long time. The earliest mention I can find right now is 2003: http://download.plt-scheme.org/doc/205/pdf/mzc.pdf

Here's some up-to-date documentation (and note that MzScheme is now known as Racket):

http://docs.racket-lang.org/raco/index.html

http://docs.racket-lang.org/raco/API_for_Raw_Compilation.htm...

(I can't find the native code compiler. Did they make it internal to the JIT?)

If you just use Racket like an "interpreted language," as Arc does, then it will still compile each expression before executing it:

http://docs.racket-lang.org/reference/syntax-model.html?q=co...

Since Arc compiles each Arc expression to MzScheme before executing it, and since MzScheme compiles each of those expressions, Arc inherits this on-demand compilation behavior.