Mercurial > urweb
comparison src/mono.sml @ 178:eb3f9913bf31
First part of getting cases through monoize
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sun, 03 Aug 2008 09:26:49 -0400 |
parents | 25b169416ea8 |
children | d11754ffe252 |
comparison
equal
deleted
inserted
replaced
177:5d030ee143e2 | 178:eb3f9913bf31 |
---|---|
35 | TDatatype of int * (string * int * typ option) list | 35 | TDatatype of int * (string * int * typ option) list |
36 | TFfi of string * string | 36 | TFfi of string * string |
37 | 37 |
38 withtype typ = typ' located | 38 withtype typ = typ' located |
39 | 39 |
40 datatype patCon = | |
41 PConVar of int | |
42 | PConFfi of string * string | |
43 | |
44 datatype pat' = | |
45 PWild | |
46 | PVar of string | |
47 | PPrim of Prim.t | |
48 | PCon of patCon * pat option | |
49 | PRecord of (string * pat) list | |
50 | |
51 withtype pat = pat' located | |
52 | |
40 datatype exp' = | 53 datatype exp' = |
41 EPrim of Prim.t | 54 EPrim of Prim.t |
42 | ERel of int | 55 | ERel of int |
43 | ENamed of int | 56 | ENamed of int |
57 | ECon of int * exp option | |
44 | EFfi of string * string | 58 | EFfi of string * string |
45 | EFfiApp of string * string * exp list | 59 | EFfiApp of string * string * exp list |
46 | EApp of exp * exp | 60 | EApp of exp * exp |
47 | EAbs of string * typ * typ * exp | 61 | EAbs of string * typ * typ * exp |
48 | 62 |
49 | ERecord of (string * exp * typ) list | 63 | ERecord of (string * exp * typ) list |
50 | EField of exp * string | 64 | EField of exp * string |
65 | |
66 | ECase of exp * (pat * exp) list * typ | |
51 | 67 |
52 | EStrcat of exp * exp | 68 | EStrcat of exp * exp |
53 | 69 |
54 | EWrite of exp | 70 | EWrite of exp |
55 | ESeq of exp * exp | 71 | ESeq of exp * exp |