3 ms·
Exceptions as the underpinning of such a lang is interesting, but I think you might be better off with push-prompt, and an implementation of delimited dynamic b
by alexisread 3y ago
Exceptions as the underpinning of such a lang is interesting, but I think you might be better off with push-prompt, and an implementation of delimited dynamic binding to allow eg. Process migration.
Wat is a very small language which does fexprs (vau calculus), delimited continuations, delimited dynamic binding, custom algebraic effects (try catch, fibres) on top of them, modules, types, and has a metacircular VM in a few hundred LOC. It's missing a native implementation but it's very impressive.
https://github.com/GiacomoCau/wat-js https://github.com/GiacomoCau/wat-js
Links to the formal research are in the readme.
http://axisofeval.blogspot.com/?m=1 http://axisofeval.blogspot.com/?m=1
Has several good discussions on the topics, and are more accessible than the papers.