ADPfusion-0.4.1.0: Efficient, high-level dynamic programming.

Safe HaskellNone
LanguageHaskell2010

ADP.Fusion.Term.Edge.Type

Documentation

data Edge e where Source

Constructors

Edge :: (Int -> Int -> e) -> Edge e 

Instances

(Monad m, Element ls (Complement (BS2I First Last)), MkStream m ls (Complement (BS2I First Last))) => MkStream m ((:!:) ls (Edge f)) (Complement (BS2I First Last)) 
(Monad m, Element ls (Outside (BS2I First Last)), MkStream m ls (Outside (BS2I First Last))) => MkStream m ((:!:) ls (Edge f)) (Outside (BS2I First Last)) 
(Monad m, Element ls (BS2I First Last), MkStream m ls (BS2I First Last)) => MkStream m ((:!:) ls (Edge e)) (BS2I First Last) 
Build (Edge e) 
(Show i, Show e, Show (Elm ls i)) => Show (Elm ((:!:) ls (Edge e)) i) 
Element ls i => Element ((:!:) ls (Edge e)) i 
type Stack (Edge e) = (:!:) S (Edge e) 
data Elm ((:!:) ls (Edge e)) = ElmEdge !e !i !i (Elm ls i) 
type Arg ((:!:) ls (Edge e)) = (:.) (Arg ls) e 
type TermArg (TermSymbol a (Edge e)) = (:.) (TermArg a) e