view tests/efold.ur @ 1505:8c851e5508a7

Tutorial: up to First-Class Polymorphism
author Adam Chlipala <adam@chlipala.net>
date Sun, 17 Jul 2011 11:00:04 -0400
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