HCoop
/
hcoop
/
domtool2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
init.d script for domtool-slave
[hcoop/domtool2.git]
/
src
/
ast.sml
diff --git
a/src/ast.sml
b/src/ast.sml
index
efc2fb0
..
ba00f78
100644
(file)
--- a/
src/ast.sml
+++ b/
src/ast.sml
@@
-59,7
+59,7
@@
datatype typ' =
| TUnif of string * typ option ref
(* Unification variable to be determined during type-checking *)
withtype typ = typ' * position
| TUnif of string * typ option ref
(* Unification variable to be determined during type-checking *)
withtype typ = typ' * position
- and record =
typ
StringMap.map
+ and record =
(typ' * position)
StringMap.map
datatype exp' =
EInt of int
datatype exp' =
EInt of int
@@
-89,14
+89,20
@@
datatype exp' =
* action are abandoned *)
| EWith of exp * exp
(* Apply a TNested to an action *)
* action are abandoned *)
| EWith of exp * exp
(* Apply a TNested to an action *)
+ | EALam of string * pred * exp
+ (* Abstraction for building TNested values *)
withtype exp = exp' * position
datatype decl' =
DExternType of string
| DExternVal of string * typ
| DVal of string * typ option * exp
withtype exp = exp' * position
datatype decl' =
DExternType of string
| DExternVal of string * typ
| DVal of string * typ option * exp
+ | DContext of string
type decl = decl' * string option * position
type decl = decl' * string option * position
-type file = decl list * exp option
+type file = string option * decl list * exp option
+
+fun multiApp (f, loc, args) =
+ foldl (fn (arg, e) => (EApp (e, arg), loc)) f args
end
end