annotate tests/cfold.lac @ 173:8221b95cc24c

Patterns for int and string constants
author Adam Chlipala <adamc@hcoop.net>
date Thu, 31 Jul 2008 10:44:52 -0400
parents 6431b315a1e3
children
rev   line source
adamc@67 1 con currier = fold (fn nm => fn t => fn acc => t -> acc) {}
adamc@67 2
adamc@71 3 con greenCurryIngredients :: {Type} = []
adamc@71 4 con greenCurry = currier greenCurryIngredients
adamc@67 5 val greenCurry : greenCurry = {}
adamc@67 6
adamc@71 7 con redCurryIngredients = [A = int, B = string]
adamc@71 8 con redCurry = currier redCurryIngredients
adamc@67 9 val redCurry : redCurry = fn x : int => fn y : string => {}
adamc@67 10
adamc@71 11 con yellowCurryIngredients = [A = string, B = int, C = float]
adamc@71 12 con yellowCurry = currier yellowCurryIngredients
adamc@67 13 val yellowCurry : yellowCurry = fn x => fn y => fn z => {}
adamc@70 14
adamc@70 15 val main = yellowCurry