comparse-0.2.0.0: Data/Stream.hs
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE TypeFamilies #-}
module Data.Stream
( Stream (..),
)
where
import Data.Kind (Type)
class Ord (Pos s) => Stream s where
type Item s :: Type
type Pos s :: Type
next :: s -> Maybe (Item s, s)
getPos :: s -> Pos s