deriving-compat-0.5.9: Backports of GHC deriving extensions

Copyright(C) 2015-2017 Ryan Scott
LicenseBSD-style (see the file LICENSE)
MaintainerRyan Scott
PortabilityTemplate Haskell
Safe HaskellNone
LanguageHaskell2010

Data.Ix.Deriving.Internal

Contents

Description

Exports functions to mechanically derive Ix instances.

Note: this is an internal module, and as such, the API presented here is not guaranteed to be stable, even between minor releases of this library.

Synopsis

Ix

deriveIx :: Name -> Q [Dec] Source #

Generates a Ix instance declaration for the given data type or data family instance.

makeRange :: Name -> Q Exp Source #

Generates a lambda expression which behaves like range (without requiring an Ix instance).

makeUnsafeIndex :: Name -> Q Exp Source #

Generates a lambda expression which behaves like unsafeIndex (without requiring an Ix instance).

makeInRange :: Name -> Q Exp Source #

Generates a lambda expression which behaves like inRange (without requiring an Ix instance).