purescript-0.10.0: PureScript Programming Language Compiler

Safe HaskellNone
LanguageHaskell98

Language.PureScript.Sugar.Operators.Common

Documentation

type Chain a = [Either a a] Source #

token :: Stream s Identity t => (t -> Maybe a) -> Parsec s u a Source #

parseOp :: (a -> Maybe (Qualified (OpName nameType))) -> Parsec (Chain a) () (Qualified (OpName nameType)) Source #

matchOp :: (a -> Maybe (Qualified (OpName nameType))) -> Qualified (OpName nameType) -> Parsec (Chain a) () () Source #

opTable :: [[(Qualified (OpName nameType), Associativity)]] -> (a -> Maybe (Qualified (OpName nameType))) -> (Qualified (OpName nameType) -> a -> a -> a) -> [[Operator (Chain a) () Identity a]] Source #

matchOperators :: forall a nameType. Show a => (a -> Bool) -> (a -> Maybe (a, a, a)) -> (a -> Maybe (Qualified (OpName nameType))) -> (Qualified (OpName nameType) -> a -> a -> a) -> ([[Operator (Chain a) () Identity a]] -> OperatorTable (Chain a) () Identity a) -> [[(Qualified (OpName nameType), Associativity)]] -> a -> a Source #