aboutsummaryrefslogtreecommitdiffstats
path: root/lib/envelope.ml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/envelope.ml')
-rw-r--r--lib/envelope.ml16
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)