blob: 5f3dd49816c0373c2b32f4a321acca2aad20275f (
plain) (
tree)
|
|
module Make (NT : Nt.S) = struct
type error =
| ParseError of string
| NtError of Nt.error
let sexp_of_error e =
let open Sexplib.Sexp in
match e with
| ParseError s -> List [ Atom "parse-error"; Atom s ]
| NtError e -> List [ Atom "nt-error"; Atom (Nt.string_of_error e) ]
let execute (ctx : Sublanguage_context.t) (stmt : Ast.statement) :
(Sublanguage_types.result, error) result =
match stmt with
| Ast.Use branch_name ->
match ctx.switch_branch branch_name with
| Ok delta -> Ok (Sublanguage_types.Transition delta)
| Error e -> Error (NtError e)
let _ = (module NT : Nt.S)
end
|