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

Data.Record.Plugin.Options

Description

Export LargeRecordOptions for the sake of ANN pragmas

This module is added as an export to user code by the plugin.

Synopsis

Documentation

data LargeRecordOptions Source #

A type specifying how a record should be treated by large-records.

The default for Haskell code should probably be:

{-# ANN type T largeRecordLazy #-}
data T = ..

For records with strict fields, you can use:

{-# ANN type T largeRecordStrict #-}
data T = ..

To see the definitions generated by large-records:

{-# ANN type T largeRecordLazy {debugLargeRecords = True} #-}
data T = ..

Instances

Instances details
Data LargeRecordOptions Source # 
Instance details

Defined in Data.Record.Internal.Plugin.Options

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LargeRecordOptions -> c LargeRecordOptions #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LargeRecordOptions #

toConstr :: LargeRecordOptions -> Constr #

dataTypeOf :: LargeRecordOptions -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LargeRecordOptions) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LargeRecordOptions) #

gmapT :: (forall b. Data b => b -> b) -> LargeRecordOptions -> LargeRecordOptions #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LargeRecordOptions -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LargeRecordOptions -> r #

gmapQ :: (forall d. Data d => d -> u) -> LargeRecordOptions -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> LargeRecordOptions -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> LargeRecordOptions -> m LargeRecordOptions #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LargeRecordOptions -> m LargeRecordOptions #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LargeRecordOptions -> m LargeRecordOptions #