"Our program will preallocate 1000 bytes on stack for variables, since all of our variables are static."<p>Oof, talk about cutting corners. Works well enough until you need function calls, I guess.<p>Anybody who finds this intriguing might look at <a href="http://esumii.github.io/min-caml/index-e.html" rel="nofollow">http://esumii.github.io/min-caml/index-e.html</a>, which is also written in OCaml and goes into a bit more depth.