dawg-ord-0.5.0.0: src/Data/DAWG/Int/Dynamic/Internal.hs
-- | The module exports internal representation of dynamic DAWG.
module Data.DAWG.Int.Dynamic.Internal
(
-- * DAWG type
DAWG (..)
) where
-- import Control.Applicative ((<$>), (<*>))
-- import Data.Binary (Binary, put, get)
import Data.DAWG.Gen.Types
import Data.DAWG.Gen.Graph (Graph)
import qualified Data.DAWG.Int.Dynamic.Node as N
-- | A directed acyclic word graph (DAWG), which can be seen as a map
-- from keys (sequences of 'Sym`'s) to values 'Val'.
-- See "Data.DAWG.Ord" for a more generic version of DAWGs.
data DAWG = DAWG
{ graph :: !(Graph N.Node)
-- | The root (start state) of the DAWG.
, root :: !ID }
deriving (Show, Eq, Ord)
-- instance Binary (DAWG a) where
-- put d = do
-- put (graph d)
-- put (root d)
-- get = DAWG <$> get <*> get