annotate tests/cfold.ur @ 808:d8f58d488cfb

Mutual datatypes through Pathcheck
author Adam Chlipala <adamc@hcoop.net>
date Sat, 16 May 2009 15:55:15 -0400
parents 71bafe66dbe1
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