module Make (NT : Nt.S) = struct module Exec = Executor.Make (NT) type configuration = unit type ast = Ast.statement type error = Exec.error let name = "scl" let parse _ = Ok () let parse_sexp sexp = match Parser.of_sexp sexp with | Ok r -> Ok r | Error (Parser.ParseError s) -> Error (Exec.ParseError s) let execute ctx ast = Exec.execute ctx ast |> Result.map (function | Executor.Batch { cursor_id; rows; has_more } -> Sublanguage_types.Cursor { cursor_id; rows; has_more } | Executor.Closed delta -> Sublanguage_types.Transition delta) let sexp_of_error = Exec.sexp_of_error end