th-lift-instances-0.1.11: Lift instances for template-haskell for common data types.

Safe HaskellNone
LanguageHaskell2010

Instances.TH.Lift

Contents

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

Containers (both strict/lazy)

ByteString (both strict/lazy)

Text (both strict/lazy)

Vector (Boxed, Unboxed, Storable, Primitive)

Orphan instances

Lift ByteString # 

Methods

lift :: ByteString -> Q Exp #

Lift ByteString # 

Methods

lift :: ByteString -> Q Exp #

Lift IntSet # 

Methods

lift :: IntSet -> Q Exp #

Lift Text # 

Methods

lift :: Text -> Q Exp #

Lift Text # 

Methods

lift :: Text -> Q Exp #

Lift v => Lift (IntMap v) # 

Methods

lift :: IntMap v -> Q Exp #

Lift a0 => Lift (Tree a0) # 

Methods

lift :: Tree a0 -> Q Exp #

Lift a => Lift (Seq a) # 

Methods

lift :: Seq a -> Q Exp #

Lift a => Lift (Set a) # 

Methods

lift :: Set a -> Q Exp #

Lift a => Lift (Vector a) # 

Methods

lift :: Vector a -> Q Exp #

(Storable a, Lift a) => Lift (Vector a) # 

Methods

lift :: Vector a -> Q Exp #

(Unbox a, Lift a) => Lift (Vector a) # 

Methods

lift :: Vector a -> Q Exp #

(Prim a, Lift a) => Lift (Vector a) # 

Methods

lift :: Vector a -> Q Exp #

(Lift k, Lift v) => Lift (Map k v) # 

Methods

lift :: Map k v -> Q Exp #