deepseq-bounded-0.6.0.0: src/Control/DeepSeq/Bounded/Flags.hs
-------------------------------------------------------------------------------
{- LANGUAGE CPP #-} -- specified in .cabal default-extensions
-------------------------------------------------------------------------------
{- LANGUAGE BangPatterns #-}
{- OPTIONS_GHC -fno-warn-name-shadowing #-}
-------------------------------------------------------------------------------
-- |
-- Module : Control.DeepSeq.Bounded.Flags
-- Copyright : Andrew G. Seniuk 2014-2015
-- License : BSD-style (see the file LICENSE)
--
-- Maintainer : Andrew Seniuk <rasfar@gmail.com>
-- Stability : unstable
-- Portability : portable (CPP)
--
-- This module exposes some of the deepseq-bounded Cabal flags,
-- so reverse dependencies can check their status.
-------------------------------------------------------------------------------
module Control.DeepSeq.Bounded.Flags
(
-- * Transient flag while old grammar is phased out
deepseq_bounded_flag__new_improved_pattern_grammar ,
#if 0
-- * Optional NFDataP features
deepseq_bounded_flag__use_par_patnode ,
deepseq_bounded_flag__use_pseq_patnode ,
deepseq_bounded_flag__use_trace_patnode ,
deepseq_bounded_flag__use_ping_patnode ,
deepseq_bounded_flag__use_die_patnode ,
#endif
#if 0
-- * Quick and dirty way to get ahold of the ThreadId
-- of the main thread, when seqaid is being used
-- on the other side to instrument the executable
-- we're testing, studying, optimising, whatever...
deepseq_bounded_ioref__main_thread_id ,
#endif
)
where
import Data.IORef ( IORef, newIORef )
import Control.Concurrent ( ThreadId )
import System.IO.Unsafe ( unsafePerformIO )
-------------------------------------------------------------------------------
#if 0
deepseq_bounded_ioref__main_thread_id
= unsafePerformIO $ newIORef (undefined::ThreadId)
#endif
------------------------------------------------------------------
#if NEW_IMPROVED_PATTERN_GRAMMAR
deepseq_bounded_flag__new_improved_pattern_grammar = True
#else
deepseq_bounded_flag__new_improved_pattern_grammar = False
#endif
------------------------------------------------------------------
#if 0
#if USE_PAR_PATNODE
deepseq_bounded_flag__use_par_patnode = True
#else
deepseq_bounded_flag__use_par_patnode = False
#endif
#if USE_PSEQ_PATNODE
deepseq_bounded_flag__use_pseq_patnode = True
#else
deepseq_bounded_flag__use_pseq_patnode = False
#endif
#if USE_TRACE_PATNODE
deepseq_bounded_flag__use_trace_patnode = True
#else
deepseq_bounded_flag__use_trace_patnode = False
#endif
#if USE_PING_PATNODE
deepseq_bounded_flag__use_ping_patnode = True
#else
deepseq_bounded_flag__use_ping_patnode = False
#endif
#if USE_DIE_PATNODE
deepseq_bounded_flag__use_die_patnode = True
#else
deepseq_bounded_flag__use_die_patnode = False
#endif
#endif
------------------------------------------------------------------
-------------------------------------------------------------------------------