deepseq-bounded-0.6.0.0: src/Control/DeepSeq/Bounded/PatUtil.hs
-------------------------------------------------------------------------------
{- LANGUAGE CPP #-}
-------------------------------------------------------------------------------
-- |
-- Module : Control.DeepSeq.Bounded.PatUtil
-- Copyright : Andrew G. Seniuk 2014-2015
-- License : BSD-style (see the file LICENSE)
--
-- Maintainer : Andrew Seniuk <rasfar@gmail.com>
-- Stability : provisional
-- Portability : portable
--
-------------------------------------------------------------------------------
module Control.DeepSeq.Bounded.PatUtil
(
#if NEW_IMPROVED_PATTERN_GRAMMAR
-- * Basic operations on Patterns
unionPats
, intersectPats
, subPat
-- , unionPatsStr
#if ! HASKELL98_FRAGMENT
-- * Operations for obtaining and modifying Patterns based on a term
, mkPat
, mkPatN
, growPat
#endif
-- * Operations for obtaining subpatterns (in the 'subPat' sense)
, truncatePat
, shrinkPat
#if PROVIDE_OLD_SHRINK_PAT
, shrinkPat_old
#endif
-- * Operations for the direct construction and perturbation of Patterns
, emptyPat
, liftPats
, splicePats
, elidePats
, erodePat
-- * Re-exported for convenience
, module Control.DeepSeq.Bounded.Pattern
-- * Debugging convenience
#if ! HASKELL98_FRAGMENT
, Shape
, shapeOf
, ghom
#endif
, probDensRose
, weightedRose
, unzipRose
, showRose
#else
-- * Basic operations on Patterns
unionPats
, intersectPats
, subPat
-- , unionPatsStr
#if ! HASKELL98_FRAGMENT
-- * Operations for obtaining and modifying Patterns based on a term
, mkPat
, mkPatN
, growPat
#endif
-- * Operations for obtaining subpatterns (in the 'subPat' sense)
, truncatePat
, shrinkPat
#if PROVIDE_OLD_SHRINK_PAT
, shrinkPat_old
#endif
-- * Operations for the direct construction and perturbation of Patterns
, emptyPat
, liftPats
, splicePats
, elidePats
, erodePat
-- * Re-exported for convenience
, module Control.DeepSeq.Bounded.Pattern
#endif
--- #if NEW_IMPROVED_PATTERN_GRAMMAR
--- module Control.DeepSeq.Bounded.PatUtil_new_grammar ,
--- #else
--- module Control.DeepSeq.Bounded.PatUtil_old_grammar ,
--- #endif
)
where
-------------------------------------------------------------------------------
#if NEW_IMPROVED_PATTERN_GRAMMAR
import Control.DeepSeq.Bounded.PatUtil_new_grammar
#else
import Control.DeepSeq.Bounded.PatUtil_old_grammar
#endif
-- Necessity seems like a Haddock bug, as it is both imported
-- and exported by PatUtil_{old,new}_*.hs.
import Control.DeepSeq.Bounded.Pattern
-------------------------------------------------------------------------------