accelerate-1.2.0.0: src/Data/Array/Accelerate/Analysis/Hash/TH.hs
-- |
-- Module : Data.Array.Accelerate.Analysis.Hash.TH
-- Copyright : [2017] Manuel M T Chakravarty, Gabriele Keller, Trevor L. McDonell
-- License : BSD3
--
-- Maintainer : Trevor L. McDonell <tmcdonell@cse.unsw.edu.au>
-- Stability : experimental
-- Portability : non-portable (GHC extensions)
--
module Data.Array.Accelerate.Analysis.Hash.TH (
hashQ,
hashWithSaltQ,
) where
import Data.Hashable
import Language.Haskell.TH
hashQ :: Hashable a => a -> ExpQ
hashQ = intE . hash
hashWithSaltQ :: Hashable a => Int -> a -> ExpQ
hashWithSaltQ s x = intE (hashWithSalt s x)
intE :: Int -> ExpQ
intE = litE . integerL . fromIntegral