Mercurial > urweb
comparison src/core.sml @ 177:5d030ee143e2
Case through corify
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sat, 02 Aug 2008 11:15:32 -0400 |
parents | 80192edca30d |
children | d11754ffe252 |
comparison
equal
deleted
inserted
replaced
176:33d4a8eea484 | 177:5d030ee143e2 |
---|---|
57 | 57 |
58 | CUnit | 58 | CUnit |
59 | 59 |
60 withtype con = con' located | 60 withtype con = con' located |
61 | 61 |
62 datatype patCon = | |
63 PConVar of int | |
64 | PConFfi of string * string | |
65 | |
66 datatype pat' = | |
67 PWild | |
68 | PVar of string | |
69 | PPrim of Prim.t | |
70 | PCon of patCon * pat option | |
71 | PRecord of (string * pat) list | |
72 | |
73 withtype pat = pat' located | |
74 | |
62 datatype exp' = | 75 datatype exp' = |
63 EPrim of Prim.t | 76 EPrim of Prim.t |
64 | ERel of int | 77 | ERel of int |
65 | ENamed of int | 78 | ENamed of int |
79 | ECon of int * exp option | |
66 | EFfi of string * string | 80 | EFfi of string * string |
67 | EFfiApp of string * string * exp list | 81 | EFfiApp of string * string * exp list |
68 | EApp of exp * exp | 82 | EApp of exp * exp |
69 | EAbs of string * con * con * exp | 83 | EAbs of string * con * con * exp |
70 | ECApp of exp * con | 84 | ECApp of exp * con |
72 | 86 |
73 | ERecord of (con * exp * con) list | 87 | ERecord of (con * exp * con) list |
74 | EField of exp * con * { field : con, rest : con } | 88 | EField of exp * con * { field : con, rest : con } |
75 | ECut of exp * con * { field : con, rest : con } | 89 | ECut of exp * con * { field : con, rest : con } |
76 | EFold of kind | 90 | EFold of kind |
91 | |
92 | ECase of exp * (pat * exp) list * con | |
77 | 93 |
78 | EWrite of exp | 94 | EWrite of exp |
79 | 95 |
80 | EClosure of int * exp list | 96 | EClosure of int * exp list |
81 | 97 |