adict-0.3.0: NLP/Adict/Node.hs
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
-- | A graph node data type.
module NLP.Adict.Node
( Node
, mkNode
, nodeValue
, nodeEdges
) where
import Data.Binary (Binary)
newtype Node a b = Node { unNode :: (b, [(a, Int)]) }
deriving (Show, Eq, Ord, Binary)
mkNode :: b -> [(a, Int)] -> Node a b
mkNode x xs = Node (x, xs)
nodeValue :: Node a b -> b
nodeValue = fst . unNode
nodeEdges :: Node a b -> [(a, Int)]
nodeEdges = snd . unNode