diff options
| author | Estevan Castilho <tevo@riajuu.net> | 2026-05-21 00:28:51 +0000 |
|---|---|---|
| committer | Estevan Castilho <tevo@riajuu.net> | 2026-05-21 00:29:27 +0000 |
| commit | 8c56a2250888c529fd14cf97c07317776bb0690d (patch) | |
| tree | dddabd442832421d3e207816b9c1e49f3f203a8b /lib/envelope.ml | |
| parent | f9097a0562ea8b40d40a19059578a9280b945de4 (diff) | |
| download | Sakura-8c56a2250888c529fd14cf97c07317776bb0690d.tar.gz Sakura-8c56a2250888c529fd14cf97c07317776bb0690d.zip | |
Sketches of a condition system
Diffstat (limited to 'lib/envelope.ml')
| -rw-r--r-- | lib/envelope.ml | 16 |
1 files changed, 0 insertions, 16 deletions
diff --git a/lib/envelope.ml b/lib/envelope.ml deleted file mode 100644 index 1c20c5b..0000000 --- a/lib/envelope.ml +++ /dev/null @@ -1,16 +0,0 @@ -(** Envelope parser for tagged S-expressions. - - Parses commands of the form (tag payload...) where the tag selects which - sublanguage handles the payload. The tag set is open — future sublanguages - (tcl, ppl, acl) just add new tags. *) - -type tagged = { tag : string; payload : Sexplib.Sexp.t } - -let parse (input : Sexplib.Sexp.t) : (tagged, Error.t) Result.t = - match input with - | Sexplib.Sexp.List (Sexplib.Sexp.Atom tag :: rest) -> - let payload = - match rest with [ single ] -> single | many -> Sexplib.Sexp.List many - in - Ok { tag; payload } - | s -> Error (Error.MalformedExpression s) |
