wat-js
safe-read
wat-js | safe-read | |
---|---|---|
2 | 1 | |
2 | 41 | |
- | - | |
10.0 | 10.0 | |
over 1 year ago | over 1 year ago | |
JavaScript | Common Lisp | |
MIT License | BSD 2-clause "Simplified" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
wat-js
-
Hurl: A terrible but cute idea for a language
Callcc 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 (validate calculus), delimited continuations, delimited dynamic binding, custom algebraic effects (try catch, fibres) on top of them, modules, 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
Links to the formal research are in the readme.
http://axisofeval.blogspot.com/?m=1
-
Csexp: S-Expressions over the Network
https://okmij.org/ftp/papers/DDBinding.pdf
I think that you would be able to freeze certain variables in the closure, and have others open eg. API_ENDPOINT variable might be configured to change between environments.
Something like https://github.com/GiacomoCau/wat-js implements delimited continuations, ddbinding and algebraic effects (registered handlers for I/O etc) - pushing continuations over the network should be easier with these facilities.
safe-read
-
Csexp: S-Expressions over the Network
I think this should be safe: https://github.com/phoe/safe-read
This doesn’t provide such functionality out of the box, but it makes it pretty trivial to produce a custom READ that only has the features you want: https://github.com/s-expressionists/Eclector
What are some alternatives?
Eclector - A portable Common Lisp reader that is highly customizable, can recover from errors and can return concrete syntax trees
cl-secure-read - Securing a reader in spirit of Let Over Lambda
cl-safe-read - A variant of READ secure against internbombing, excessive input and macro characters.
exceptional - No control flow, only exceptions