It would be nice to be able to define a grammar for effects using a PEG/CFG-like DSL.
You'd have to track divergence (mark off unbounded loops perhaps except where users mark it as manually vetted).
[effect HttpResponse
[fn status [code]]
[fn header [name value]]
[fn body [content[[
[constrain
[sequence
status
[zeroPlus header]
[maybe body]]]]
It may also be nice to be able to prohibit some effects in portions of the code, with a compile-time check (shadowing handlers).
It would be nice to be able to define a grammar for effects using a PEG/CFG-like DSL.
You'd have to track divergence (mark off unbounded loops perhaps except where users mark it as manually vetted).
It may also be nice to be able to prohibit some effects in portions of the code, with a compile-time check (shadowing handlers).