{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE InstanceSigs #-} {-# LANGUAGE MultiParamTypeClasses #-} module HaskellWorks.Data.Xml.Internal.ToIbBp64 ( toBalancedParens64 , toInterestBits64 , toIbBp64 ) where import Data.ByteString (ByteString) import HaskellWorks.Data.Xml.Internal.BalancedParens import HaskellWorks.Data.Xml.Internal.List import HaskellWorks.Data.Xml.Succinct.Cursor.BlankedXml (BlankedXml (..)) toBalancedParens64 :: BlankedXml -> [ByteString] toBalancedParens64 (BlankedXml bj) = compressWordAsBit (blankedXmlToBalancedParens bj) toInterestBits64 :: BlankedXml -> [ByteString] toInterestBits64 (BlankedXml bj) = blankedXmlToInterestBits bj toIbBp64 :: BlankedXml -> [(ByteString, ByteString)] toIbBp64 bj = zip (toInterestBits64 bj) (toBalancedParens64 bj)