Mathematics and Computation

A blog about mathematics for computers

A toy call-by-push-value language

I have added two new languages to the PL Zoo. The minor addition is miniml+error, which is just MiniML with an error exception (raised by division by 0) that cannot be caught. The purpose is to demonstrate handling of fatal errors during runtime. The more interesting new animal is levy (written by Matija Pretnar and myself), an implementation of Paul Levy's call-by-push-value language. If you only know about Haskell's call-by-name and ML's call-by-value, I invite you to learn about call-by-push-value. Start by reading Paul's FAQ.


We have made some changes to levy to make look much more like Paul Levy's original call-by-push-value language. (The first version was rather confused because we were a bit confused about what is what. We thank Paul for straightening us out.)

Posting comments: At present comments are disabled because the relevant script died. You are welcome to contact me directly.