From 7209f9dde5ea9085cf61a7210be836e1e7f8dcc7 Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Tue, 30 Aug 2022 23:17:29 +0200 Subject: Fixed prefix/mixfix usage as singleton function --- src/Parser.hs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/Parser.hs b/src/Parser.hs index 984c276..15400f6 100644 --- a/src/Parser.hs +++ b/src/Parser.hs @@ -144,12 +144,18 @@ parseFunction = do parseMixfix :: Parser Expression parseMixfix = do s <- sepBy1 - (try prefixAsMixfix <|> try operatorAsMixfix <|> singletonAsMixfix) + ( try prefixAsMixfix + <|> try prefixOperatorAsMixfix + <|> try operatorAsMixfix + <|> singletonAsMixfix + ) sc pure $ MixfixChain s - where - prefixAsMixfix = MixfixExpression <$> parsePrefix - operatorAsMixfix = MixfixOperator <$> mixfixOperator + where -- TODO: Rethink this. + prefixAsMixfix = MixfixExpression <$> parsePrefix + prefixOperatorAsMixfix = + MixfixExpression . Function <$> (prefixOperator <* char '‣') + operatorAsMixfix = MixfixOperator . MixfixFunction <$> some mixfixSome singletonAsMixfix = MixfixExpression <$> parseSingleton parsePrefix :: Parser Expression -- cgit v1.2.3