aboutsummaryrefslogtreecommitdiff
path: root/Sjit
diff options
context:
space:
mode:
Diffstat (limited to 'Sjit')
-rw-r--r--Sjit/Syntax.icl5
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 ->