language-ocaml-0.1.31: lib/Language/OCaml/Parser/PatternSemiList.hs
module Language.OCaml.Parser.PatternSemiList
( patternSemiListP
) where
import Language.OCaml.Definitions.Parsing.ParseTree
import Language.OCaml.Parser.Tokens
import Language.OCaml.Parser.Utils.Combinators
import Language.OCaml.Parser.Utils.Types
patternSemiListP :: Parser Pattern -> Parser [Pattern]
patternSemiListP patternP = leftRecursive
[ (: []) <$> patternP
]
[ do
semiT
e2 <- patternP
return $ \ e1 -> e2 : e1
]