From 58e3c8e237fe22c43137e22c3f67e7c376146377 Mon Sep 17 00:00:00 2001 From: Rachel Lambda Samuelsson Date: Mon, 10 Jun 2024 21:41:49 +0200 Subject: [PATCH] no more than once --- src/Parse.hs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Parse.hs b/src/Parse.hs index 3931661..bd8a85c 100644 --- a/src/Parse.hs +++ b/src/Parse.hs @@ -9,6 +9,7 @@ import Control.Monad.Combinators.Expr import Data.Text (Text, unpack) import Data.Char (isLetter, isSpace) import Data.List (elemIndex) +import Data.Maybe (maybeToList) import Control.Applicative ((<|>)) import Control.Monad (guard) @@ -69,7 +70,7 @@ parseSyn ctx = ns (makeExprParser (parseInnerSyn ctx) opTable) parseInnerSyn :: Ctx -> Parser Syn parseInnerSyn ctx = do l <- many (ns goL) - r <- many (ns goR) + r <- maybeToList <$> optional (ns goR) let lr = l ++ r guard (not (null lr)) pure (foldl1 App lr)