From f9c8941b8cb8e9f5f6d3e5eacdf384b252e7ad64 Mon Sep 17 00:00:00 2001 From: drew Date: Wed, 25 Oct 2023 18:22:15 -0500 Subject: [PATCH] Add angstrom letops --- lib/util/parser.ml | 4 ++++ lib/util/parser.mli | 3 +++ 2 files changed, 7 insertions(+) diff --git a/lib/util/parser.ml b/lib/util/parser.ml index 98ceeef..a6fc15b 100644 --- a/lib/util/parser.ml +++ b/lib/util/parser.ml @@ -3,6 +3,10 @@ module A = Angstrom module Syntax = struct module Let_syntax = A.Let_syntax.Let_syntax + let ( let+ ) = A.( let+ ) + let ( and+ ) = A.( and+ ) + let ( let* ) = A.( let* ) + let ( >>| ), ( *> ), ( <* ), ( <|> ), ( <$> ) = A.(( >>| ), ( *> ), ( <* ), ( <|> ), ( <$> )) ;; diff --git a/lib/util/parser.mli b/lib/util/parser.mli index f7000a0..103d45a 100644 --- a/lib/util/parser.mli +++ b/lib/util/parser.mli @@ -5,6 +5,9 @@ module Syntax : sig include module type of A.Let_syntax.Let_syntax end + val ( let+ ) : 'a A.t -> ('a -> 'b) -> 'b A.t + val ( and+ ) : 'a A.t -> 'b A.t -> ('a * 'b) A.t + val ( let* ) : 'a A.t -> ('a -> 'b A.t) -> 'b A.t val ( *> ) : 'a A.t -> 'b A.t -> 'b A.t val ( <* ) : 'a A.t -> 'b A.t -> 'a A.t val ( >>| ) : 'a A.t -> ('a -> 'b) -> 'b A.t