view tests/cffi.ur @ 983:2cd8c1aa0d3a

Add tail call optimization to interpretation
author Adam Chlipala <adamc@hcoop.net>
date Thu, 24 Sep 2009 15:45:37 -0400
parents eac1974924bb
children
line wrap: on
line source
fun printer () = Test.foo

fun effect () =
  Test.print;
  return <xml><body>
    <button value="Remote" onclick={printer ()}/>
    <button value="Local" onclick={Test.bar "Hoho"}/>
    <button value="Either" onclick={Test.print}/>
  </body></xml>

fun xact () =
  Test.transactional;
  return <xml><body>
    All good.
  </body></xml>

fun xact2 () =
  Test.transactional;
  error <xml>Failure</xml>;
  return <xml><body>
    All gooder.
  </body></xml>

fun main () = return <xml><body>
  {[Test.out (Test.frob (Test.create "Hello ") "world!")]}
  <form><submit action={effect}/></form>
  <form><submit action={xact}/></form>
  <form><submit action={xact2}/></form>
</body></xml>