view tests/cfold_disj.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 71bafe66dbe1
children
line wrap: on
line source
con id = fold (fn nm => fn t :: Type => fn acc => [nm] ~ acc => [nm = t] ++ acc) []

con idT = id [D = int, E = float]

val idV = fn x : $idT => x.E