th-bang-compat-0.0.1.0: src/Language/Haskell/TH/Compat/Bang.hs
{-# LANGUAGE CPP #-}
-- |
-- Module : Language.Haskell.TH.Compat.Bang
-- Copyright : 2019 Kei Hibino
-- License : BSD3
--
-- Maintainer : ex8k.hibino@gmail.com
-- Stability : experimental
-- Portability : unknown
--
-- This module provides compatibility definitions of
-- bang-type template for before temaplate-haskell-2.10
module Language.Haskell.TH.Compat.Bang (
-- * Compat type constructors
Bang, BangQ,
BangType, BangTypeQ,
VarBangType, VarBangTypeQ,
SourceUnpackedness (NoSourceUnpackedness, SourceNoUnpack, SourceUnpack),
SourceUnpackednessQ,
SourceStrictness (NoSourceStrictness, SourceLazy, SourceStrict),
SourceStrictnessQ,
-- * Compat functions
bang, bangType, varBangType,
noSourceUnpackedness, sourceNoUnpack, sourceUnpack,
noSourceStrictness, sourceLazy, sourceStrict,
) where
#if MIN_VERSION_template_haskell(2,11,0)
import Language.Haskell.TH.Compat.Bang.Current
#else
import Language.Haskell.TH.Compat.Bang.V210
#endif