|
|
|
|
|
by patrec
2545 days ago
|
|
I really hope RaptorJIT or one of the other luajit forks gains some traction, because luajit is such an impressive feat of engineering and so massively superior to more mainstream dynamic language implementations (ffi, startup time, execution speed, code size...) that it would be tragic if it just slowly fades into obsolescence. I also think your focus on making performance more predictable and reducing the mental burden on devolopers who want to write reliably fast code is exactly the right one; even a version of luajit that's half as fast on average but more predictable could be more useful in practice to most people. Having said that, to keep some already precarious and fringe technology alive by adding as core part of the toolchain an app written in an even more fringe and decidedly more fiddly[*]/unstable language like Pharo, and one which has basically zero community overlap with luajit users seems... bold. As does moving forward by adding R/codegen targetting pharo to the mix. |
|
I'm viewing the tooling as a separate project. RaptorJIT is one application that it supports and Pharo is one UI.
Codegen is appealing for being able to use the same data for more things e.g. also generate gdb/rr extensions for debugging the RaptorJIT VM, or generate Lua code for a simple console-based analysis tool, etc. There are already other people writing LuaJIT tooling in Python and Javascript and ... so I want to keep an open mind about target environments for the sake of potential collaboration.
(You could also think of codegen as a bridging strategy in case the tooling should be ported to some more conventional environment(s) once it is mature e.g. CLI, web, emacs, etc.)
EDIT: Should also note that the Studio tooling can be run via Docker in pure text mode, converting the binary diagnostic data into ascii that's similar to but richer than the classic LuaJIT '-jdump'. So users don't need to use the GUI, or setup any of the dependencies, or even learn different ways of working.