3 ms·
The term was coined by Philip Wadler: https://en.wikipedia.org/wiki/Expression_problem https://en.wikipedia.org/wiki/Expression_problem The older versions of B
by sklogic 11y ago
The term was coined by Philip Wadler: https://en.wikipedia.org/wiki/Expression_problem https://en.wikipedia.org/wiki/Expression_problem
The older versions of Bigloo used to contain an ML compiler built on top of Scheme (they dropped it later for some reason), so the concept is not new.
- nickpsecurity 11y agoAppreciate the reference. Will look into it in the future. The Wikipedia summary made sense but the recompile part doesnt bother me as much as others. My preferrence is to make compiles fast as possible with good incremental compilation and caching. Ive even pushed for trying to FPGA-accelerate compiler passes if possible.
- sklogic 11y agoMy solution allows incremental compilation. It is just a type system hack, and it does not even involve backtracking (my second favourite compilation technique), just a two pass typing instead of a single pass. As for the compilation speed, the Nanpass-like approach is very parallelisable and there is a lot of space for nice optimisations (like pass fusion).
- nickpsecurity 11y agoCurious, do you publish your tools that implement your solution?
- sklogic 11y agoOnly partially (see the discussion elsewhere in this thread). It's a work in progress. But I hope to be able to roll out a working prototype soon. The main component of this type system (weak sets unification) is already published.
- nickpsecurity 11y agoCool, cool.
- nickpsecurity 11y agoIIRC, you are into both tech like ML and hardware. I know of LISP machines & even a G-machine (Haskell) emulator on a Forth chip. However, given verification and non-Turing push, I was looking for a CPU to run algorithms written in Standard ML. Found one and thought you'd enjoy reading it too: http://cstein.kings.cam.ac.uk/~chris/part2/eb379.pdf http://cstein.kings.cam.ac.uk/~chris/part2/eb379.pdf
- sklogic 11y agoThanks! An interesting one. It's unusual to see an SKI-based implementation of an eager language.