{-# LANGUAGE CPP #-}
{-# LANGUAGE ExplicitNamespaces #-}
module Data.DeBruijn.Thinning (
(:<=) (KeepAll, KeepOne, DropOne),
dropAll,
toBools,
fromTh,
fromThRaw,
SomeTh (..),
fromBools,
toSomeTh,
toSomeThRaw,
Thin (..),
ThRep,
) where
#ifdef EXPORT_SAFE_API
import Data.DeBruijn.Thinning.Safe (
SomeTh (..),
Thin (..),
dropAll,
toSomeTh,
toSomeThRaw,
fromBools,
toBools,
fromTh,
fromThRaw,
(:<=) (DropOne, KeepAll, KeepOne),
ThRep,
)
#else
import Data.DeBruijn.Thinning.Fast (
SomeTh (..),
Thin (..),
dropAll,
toSomeTh,
toSomeThRaw,
fromBools,
toBools,
fromTh,
fromThRaw,
(:<=) (DropOne, KeepAll, KeepOne),
ThRep,
)
#endif