X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/8df2e702cf3e5ed9b8433585b357bbcd9f0d623e..ed9fda3a0e2edcf4ed546e0eb9ac128865538276:/src/env.sml diff --git a/src/env.sml b/src/env.sml index 48ec715..85c29c9 100644 --- a/src/env.sml +++ b/src/env.sml @@ -70,6 +70,10 @@ fun mapFail f [] = SOME [] fun list f (EList ls, _) = mapFail f ls | list _ _ = NONE +fun none func f (_, []) = (f (); + SM.empty) + | none func _ (_, es) = badArgs (func, es) + fun one func (name, arg) f (_, [e]) = (case arg e of NONE => badArg (func, name, e) @@ -91,6 +95,7 @@ fun type_one func arg f = NONE => false | SOME v => f v) +fun action_none name f = registerAction (name, none name f) fun action_one name args f = registerAction (name, one name args f) fun action_two name args f = registerAction (name, two name args f)