large-records-0.1.0.0: Efficient compilation for large records, linear in the size of the record
Safe HaskellNone
LanguageHaskell2010

Data.Record.Internal.Record.Parser

Synopsis

Documentation

data RecordInstances Source #

Constructors

RecordInstances 

Fields

  • recordInstancesDerived :: [Deriving]

    Explicitly supported type class instances

  • recordInstancesAnyclass :: [Type]

    Anyclass deriving

    We list these separately, because we need to add these as anyclass deriving classes when defining the newtype, rather than as standalone deriving instances. (If we don't, we need to duplicate ghc's logic for figuring out how many parameters to provide to the datatype.)

data Deriving Source #

Constructors

DeriveEq 
DeriveOrd 
DeriveShow 

Instances

Instances details
Show Deriving Source # 
Instance details

Defined in Data.Record.Internal.Record.Parser

parseRecordDef :: Dec -> Q (Maybe (Record (), RecordInstances)) Source #

Try to match a record declaration

We use Maybe in these matching functions, along with reportError, so that we can report multiple errors rather than stopping at the first.