view tests/datatype.ur @ 1675:13dad713da35

New, more principled heuristic for Especialize: only specialize uniform function arguments; that is, arguments that don't change across recursive calls
author Adam Chlipala <adam@chlipala.net>
date Wed, 11 Jan 2012 13:53:35 -0500
parents f387d12193ba
children
line wrap: on
line source
datatype t = A | B

val a = A
val b = B

datatype foo = C of t

val c = C a

datatype list = Nil | Cons of {Head : int, Tail : list}

val nil = Nil
val l1 = Cons {Head = 0, Tail = nil}

datatype term = App of term * term | Abs of term -> term