johnynek / bosatsu

A python-ish pure and total functional programming language
Apache License 2.0
223 stars 11 forks source link

Truffle implementation #244

Open johnynek opened 5 years ago

johnynek commented 5 years ago

See https://github.com/oracle/graal/blob/master/truffle/README.md

This seems to be an interesting path to get a fast JVM implementation.

I’d want to do this after #54 since it would be nice to link statically compiled packages into a final executable.

I don’t know how well the polyglot stuff works with statically typed languages, I guess you can always call the compiler at runtime.

johnynek commented 5 years ago

This is an interesting tour of the API: https://lafo.ssw.uni-linz.ac.at/pub/papers/2016_PLDI_Truffle.pdf

It looks like it makes pretty heavy use (as of that writing) or annotation processing. So, it could present some build challenges to continue to have sbt + bazel support.

Maybe it would be a bazel only build at that point. Bazel can handle java annotation processors it seems.