| ctxt of pred
| recd of record
| recdNe of record
+ | SEMIopt of unit
%verbose (* print summary of errors *)
%pos int (* positions *)
| LET exp IN exp END (ELocal (exp1, exp2), (LETleft, ENDright))
| SYMBOL (EVar SYMBOL, (SYMBOLleft, SYMBOLright))
-sets : CSYMBOL EQ apps ([(ESet (CSYMBOL, apps), (CSYMBOLleft, appsright))])
+sets : CSYMBOL EQ apps SEMIopt ([(ESet (CSYMBOL, apps), (CSYMBOLleft, appsright))])
| CSYMBOL EQ apps SEMI sets ((ESet (CSYMBOL, apps), (CSYMBOLleft, appsright))
:: sets)
+SEMIopt: SEMI ()
+ | ()
+
elist : ([])
| elistNe (elistNe)
val _ = Env.type_one "homedir_path"
Env.string
(fn dir => Domain.yourPath (OS.Path.concat (Domain.homedir (), dir))
- handle OS.Path.InvalidArc => false
- | OS.Path.Path => false)
+ handle _ => false)
val () = Env.registerFunction ("home",
fn [(EString dir, _)] => (SOME (EString (OS.Path.concat (Domain.homedir (), dir)), dl)
- handle OS.Path.InvalidArc => NONE
- | OS.Path.Path => NONE)
+ handle _ => NONE)
| _ => NONE)
end