aboutsummaryrefslogtreecommitdiffstats
path: root/lib/scl
diff options
context:
space:
mode:
authorMarcos Magueta <maguetamarcos@gmail.com>2026-09-26 15:30:53 -0300
committerMarcos Magueta <maguetamarcos@gmail.com>2026-09-26 15:30:53 -0300
commite32ba6294781691846c3ab19281fe977350b4d0f (patch)
treef38e92ba2fc03e966d7263c7ee2e0b5d7983ebae /lib/scl
parentbe375a52da6174dfda5b68617d27e1542cc80499 (diff)
downloadSakura-e32ba6294781691846c3ab19281fe977350b4d0f.tar.gz
Sakura-e32ba6294781691846c3ab19281fe977350b4d0f.zip
preparation cleanup for RNT integration
Diffstat (limited to 'lib/scl')
-rw-r--r--lib/scl/ast.ml7
-rw-r--r--lib/scl/executor.ml29
-rw-r--r--lib/scl/parser.ml22
-rw-r--r--lib/scl/sublanguage.ml17
4 files changed, 0 insertions, 75 deletions
diff --git a/lib/scl/ast.ml b/lib/scl/ast.ml
deleted file mode 100644
index 41a5239..0000000
--- a/lib/scl/ast.ml
+++ /dev/null
@@ -1,7 +0,0 @@
-open Sexplib.Std
-
-type statement =
- | Begin of {query: Drl.Ast.query; limit: int option}
- | Fetch of {cursor: string; limit: int option}
- | Close of {cursor: string}
-[@@deriving sexp]
diff --git a/lib/scl/executor.ml b/lib/scl/executor.ml
deleted file mode 100644
index 5fadc6d..0000000
--- a/lib/scl/executor.ml
+++ /dev/null
@@ -1,29 +0,0 @@
-let default_batch = 50
-
-type cursor_batch = {cursor_id: string; rows: Tuple.materialized list; has_more: bool}
-type exec_result = Batch of cursor_batch | Closed of Sublanguage_types.transition_delta
-
-module Make (NT : Nt.S) = struct
- module DrlExec = Drl.Executor.Make (NT)
-
- module Error = struct
- open Condition
-
- (* TODO: more structure *)
- let cursor_error msg = condition "cursor-error" msg empty
- end
-
- let ( let* ) = Result.bind
-
- let execute (ctx : Sublanguage_context.t) (stmt : Ast.statement) :
- (exec_result, Condition.t) result =
- ignore default_batch;
- match stmt with
- | Ast.Begin _ -> Error (Error.cursor_error "cursors not yet implemented")
- | Ast.Fetch _ -> Error (Error.cursor_error "cursors not yet implemented")
- | Ast.Close _ ->
- let* () = Ok () in
- Ok (Closed ctx.branch#multigroups)
-end
-
-module Memory = Make (Nt.Memory)
diff --git a/lib/scl/parser.ml b/lib/scl/parser.ml
deleted file mode 100644
index 670139b..0000000
--- a/lib/scl/parser.ml
+++ /dev/null
@@ -1,22 +0,0 @@
-module Error = struct
- open Condition
-
- let parse_error msg = condition "parse-error" msg empty
-end
-
-let validate = function
- | (Ast.Begin {limit= Some limit; _} | Ast.Fetch {limit= Some limit; _}) when limit <= 0 ->
- Error (Error.parse_error "The provision of `limit` is expected to be positive.")
- | stmt -> Ok stmt
-
-let of_sexp sexp =
- match Ast.statement_of_sexp sexp with
- | exception exn -> Error (Error.parse_error (Printexc.to_string exn))
- | stmt -> validate stmt
-
-let of_string s =
- match Sexplib.Sexp.of_string s |> Ast.statement_of_sexp with
- | exception exn -> Error (Error.parse_error (Printexc.to_string exn))
- | stmt -> validate stmt
-
-let to_string stmt = Ast.sexp_of_statement stmt |> Sexplib.Sexp.to_string_hum
diff --git a/lib/scl/sublanguage.ml b/lib/scl/sublanguage.ml
deleted file mode 100644
index 526e7a2..0000000
--- a/lib/scl/sublanguage.ml
+++ /dev/null
@@ -1,17 +0,0 @@
-module Make (NT : Nt.S) = struct
- module Exec = Executor.Make (NT)
-
- type configuration = unit
- type ast = Ast.statement
-
- let name = "scl"
- let parse _ = Ok ()
- let parse_sexp sexp = Parser.of_sexp sexp
-
- 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 )
-end