language-ocaml-0.1.31: lib/Language/OCaml/Definitions/Parsing/ASTHelper/Pat.hs
{-# LANGUAGE RecordWildCards #-}
module Language.OCaml.Definitions.Parsing.ASTHelper.Pat
( MkOpts(..)
, attr
, mk
) where
import Data.Default
import Language.OCaml.Definitions.Parsing.ASTHelper.Common
import Language.OCaml.Definitions.Parsing.ParseTree
import Language.OCaml.Definitions.Parsing.Location
attr :: Pattern -> Attribute -> Pattern
attr d a = d { ppatAttributes = ppatAttributes d ++ [a] }
mk :: MkOpts -> PatternDesc -> Pattern
mk (MkOpts {..}) d = Pattern
{ ppatDesc = d
, ppatLoc = loc
, ppatAttributes = attrs
}
data MkOpts = MkOpts
{ attrs :: [Attribute]
, loc :: Location
}
instance Default MkOpts where
def = MkOpts
{ attrs = []
, loc = defaultLoc
}