view tests/recBad.ur @ 1855:0480b8f29a47

Undo 'let' inlining tweak; improve optimization of 'case' of type 'transaction'
author Adam Chlipala <adam@chlipala.net>
date Fri, 07 Jun 2013 16:11:52 -0400
parents 71bafe66dbe1
children
line wrap: on
line source
datatype list a = Nil | Cons of a * list a

fun append (t ::: Type) (ls1 : list t) (ls2 : list t) : list t =
        case ls1 of
            Nil => ls2
          | Cons (h, t) => Cons (h, append t ls2)

(*val rec ones : list int = Cons (1, ones)*)
val rec ones = fn () => Cons (1, ones ())