| Copyright | (C) 2015-2017 Ryan Scott | 
|---|---|
| License | BSD-style (see the file LICENSE) | 
| Maintainer | Ryan Scott | 
| Portability | Template Haskell | 
| Safe Haskell | None | 
| Language | Haskell2010 | 
Data.Ix.Deriving
Contents
Description
Exports functions to mechanically derive Ix instances.
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).
deriveIx limitations
Be aware of the following potential gotchas:
- Type variables of kind 
*are assumed to haveIxconstraints. If this is not desirable, usemakeRangeor one of its cousins.