view tests/cfold.ur @ 2081:d4ed20beb93b

Tiny lexer change for SML/NJ compatibility (suggested by Ziv Scully)
author Adam Chlipala <adam@chlipala.net>
date Tue, 25 Nov 2014 08:21:09 -0500
parents 71bafe66dbe1
children
line wrap: on
line source
con currier = fold (fn nm => fn t => fn acc => t -> acc) {}

con greenCurryIngredients :: {Type} = []
con greenCurry = currier greenCurryIngredients
val greenCurry : greenCurry = {}

con redCurryIngredients = [A = int, B = string]
con redCurry = currier redCurryIngredients
val redCurry : redCurry = fn x : int => fn y : string => {}

con yellowCurryIngredients = [A = string, B = int, C = float]
con yellowCurry = currier yellowCurryIngredients
val yellowCurry : yellowCurry = fn x => fn y => fn z => {}

val main = yellowCurry