Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
Documentation
This module provides orphan instances for the Lift
class from template-haskell. Following is a list of the provided instances.
Lift instances are useful to precompute values at compile time using template haskell. For example, if you write the following code,
you can make sure that 3 * 10
is really computed at compile time:
{-# LANGUAGE TemplateHaskell #-} import Language.Haskell.TH.Syntax expensiveComputation :: Word32 expensiveComputation = $(lift $ 3 * 10) -- This will computed at compile time
This uses the Lift instance for Word32.
The following instances are provided by this package:
Base
Word8
,Word16
,Word32
,Word64
Int8
,Int16
,Int32
,Int64
NonEmpty
andVoid
, until provided bytemplate-haskell-2.15
Containers (both strict/lazy)
ByteString (both strict/lazy)
Text (both strict/lazy)
Vector (Boxed, Unboxed, Storable, Primitive)
Orphan instances
Lift ByteString Source # | |
lift :: ByteString -> Q Exp # | |
Lift ByteString Source # | |
lift :: ByteString -> Q Exp # | |
Lift IntSet Source # | |
Lift a => Lift (Identity a) Source # | |
Lift v => Lift (IntMap v) Source # | |
Lift a => Lift (Tree a) Source # | |
Lift a => Lift (Seq a) Source # | |
Lift a => Lift (Set a) Source # | |
Lift a => Lift (Vector a) Source # | |
(Prim a, Lift a) => Lift (Vector a) Source # | |
(Storable a, Lift a) => Lift (Vector a) Source # | |
(Unbox a, Lift a) => Lift (Vector a) Source # | |
(Lift k, Lift v) => Lift (Map k v) Source # | |
Lift a => Lift (Const a b) Source # | |