diff options
author | Camil Staps | 2018-12-25 10:41:37 +0100 |
---|---|---|
committer | Camil Staps | 2018-12-25 10:41:37 +0100 |
commit | a9a2157f1e42f5f85fa7fa7912c51bcbceb2f6cd (patch) | |
tree | ae387304986e777c8e09951a7a7d7a7b1c914904 /Sjit/Syntax.icl | |
parent | Add comparisons; tak example (diff) |
Avoid Data.Foldable due to imports
Diffstat (limited to 'Sjit/Syntax.icl')
-rw-r--r-- | Sjit/Syntax.icl | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/Sjit/Syntax.icl b/Sjit/Syntax.icl index e382696..d18f06c 100644 --- a/Sjit/Syntax.icl +++ b/Sjit/Syntax.icl @@ -5,11 +5,9 @@ import StdEnv import Control.Applicative import Control.Monad import Data.Either -from Data.Foldable import class Foldable(foldr1) from Data.Func import $ import Data.Functor import Data.GenEq -from Data.List import instance Foldable [] import Data.Maybe import Text.Parsers.Simple.Core @@ -114,7 +112,8 @@ expr where tok :: !String -> Parser Token String tok s = pToken (TIdent s) $> s - toks = foldr1 (<|>) o map tok + toks fs = case map tok fs of + [t:ts] -> foldr (<|>) t ts rightAssoc :: !(Parser Token String) !(Parser Token Expr) -> Parser Token Expr rightAssoc opp exprp = exprp >>= \e1 -> |