view tests/efold.ur @ 2195:18e6fb487880

Reduce: add reduction in some spots previously missed, associated with 'case' return types
author Adam Chlipala <adam@chlipala.net>
date Wed, 25 Nov 2015 18:48:17 -0500
parents 71bafe66dbe1
children
line wrap: on
line source
val currier : rs :: {Type} -> Cfold.currier rs =
        fold [Cfold.currier] (fn nm :: Name => fn t :: Type => fn rest :: {Type} => fn acc => fn x : t => acc) {}

val greenCurry : Cfold.greenCurry = currier [Cfold.greenCurryIngredients]
val redCurry : Cfold.redCurry = currier [Cfold.redCurryIngredients]
val yellowCurry : Cfold.yellowCurry = currier [Cfold.yellowCurryIngredients]

val main = yellowCurry