News for hackers. Stuff that matters.
Re:Nash – A tracing JIT compiler for Scheme [pdf] by Johnny_Brahms on Saturday March 04, 2017 @01:50PM (#13792263)
What's most impressive about Nash is that it is a one man show. I don't thing any of the guile devs knew about Nash when Atshro stood up and introduced it at scheme workshop 2016.

There was talk about merging it, but I dont know what happened with that. We moved to chez at work, so we sort of lost interest.

Re:Nash – A tracing JIT compiler for Scheme [pdf] by sabauma on Saturday March 04, 2017 @02:03PM (#13792323)
Chez is pretty tough to compete with in terms of Scheme performance. On the benchmarks presented in the paper, Chez averages faster than all the systems presented, even Pycket post warmup. Its not the fastest on every benchmark, but gives consistently good performance without huge warmup time, which is Pycket's biggest weakness. With Racket planning to switch over to Chez, it may be difficult to justify Pycket's existence, especially if some of Chez's known performance sore spots receive attention.
Re:Nash – A tracing JIT compiler for Scheme [pdf] by throwaway7645 on Saturday March 04, 2017 @02:09PM (#13792354)
Is Chez AOT compiled or JIT based? If it is AOT, would the REPL still be interpreted and just a finished program AOT compiled?
Re:Nash – A tracing JIT compiler for Scheme [pdf] by sabauma on Saturday March 04, 2017 @02:20PM (#13792433)
Chez is an AOT compiler. I am not sure how the REPL operates, but I believe it just compiles expression on the fly before executing them. I suppose you could characterize that as JIT compilation, but the optimizer does not make use of any runtime profiling information. Racket's "JIT" is similar in that code is generated for a function when it is first called, but the optimizer is run on the bytecodes of the program before anything is run.
Re:Nash – A tracing JIT compiler for Scheme [pdf] by fiddlerwoaroof on Saturday March 04, 2017 @02:48PM (#13792588)
In Common Lisp it's fairly common for eval to compile the code and then execute it. For example, sbcl's repl usually compiles the entered expression and then executes it: although recent versions also provide an interpreted mode.
Re:Nash – A tracing JIT compiler for Scheme [pdf] by sedachv on Sunday March 05, 2017 @12:27AM (#13794736)
> I suppose you could characterize that as JIT compilation, but the optimizer does not make use of any runtime profiling information.

That is JIT compilation. AFAIK James Gosling started using the phrase in the 1990s to pretend that it was something novel and to ignore the fact that that is how Lisp and Smalltalk systems have always worked. This is really confusing today because a lot of people started using "JIT" to be synonymous with dynamic recompilation techniques like tracing.

Re:Nash – A tracing JIT compiler for Scheme [pdf] by throwaway7645 on Saturday March 04, 2017 @03:17PM (#13792731)
Ah. So if Racket uses the Chez Compiler it could use it for the REPL as well.
Re:Nash – A tracing JIT compiler for Scheme [pdf] by orangeshark on Saturday March 04, 2017 @02:14PM (#13792386)
There is still discussions on the Guile mailing list[0] about it. Someone is maintaining a repo of guile with Nash and keeping it up to date with guile master.

[0] https://lists.gnu.org/archive/html/guile-user/2017-03/msg000...