{-# LANGUAGE CPP #-}
module Data.DeBruijn.Index (
Ix (FZ, FS),
eqIx,
fromIx,
fromIxRaw,
isPos,
thin,
thick,
inject,
raise,
SomeIx (..),
withSomeIx,
toSomeIx,
toSomeIxRaw,
fromSomeIx,
fromSomeIxRaw,
IxRep,
) where
#ifdef EXPORT_SAFE_API
import Data.DeBruijn.Index.Safe (
Ix (FS, FZ),
SomeIx (..),
eqIx,
fromIx,
fromIxRaw,
fromSomeIx,
fromSomeIxRaw,
inject,
isPos,
raise,
thick,
thin,
toSomeIx,
toSomeIxRaw,
withSomeIx,
IxRep,
)
#else
import Data.DeBruijn.Index.Fast (
Ix (FS, FZ),
SomeIx (..),
eqIx,
fromIx,
fromIxRaw,
fromSomeIx,
fromSomeIxRaw,
inject,
isPos,
raise,
thick,
thin,
toSomeIx,
toSomeIxRaw,
withSomeIx,
IxRep,
)
#endif