Safe Haskell | None |
---|---|
Language | Haskell2010 |
Point
index structures are used for left- and right-linear grammars.
Such grammars have at most one syntactic symbol on each r.h.s. of a rule.
The syntactic symbol needs to be in an outermost position.
- newtype PointL t = PointL {
- fromPointL :: Int
- pointLI :: Int -> PointL I
- pointLO :: Int -> PointL O
- pointLC :: Int -> PointL C
- newtype PointR t = PointR {
- fromPointR :: Int
- streamUpMk :: Monad m => t1 -> t -> m (t, t1)
- streamUpStep :: Monad m => Int -> (t1, Int) -> m (Step (t1, Int) ((:.) t1 (PointL t)))
- streamDownMk :: Monad m => t1 -> t -> m (t, t1)
- streamDownStep :: Monad m => Int -> (t1, Int) -> m (Step (t1, Int) ((:.) t1 (PointL t)))
Documentation
A point in a left-linear grammar. The syntactic symbol is in left-most position.
PointL | |
|
Vector Vector (PointL t) Source | |
MVector MVector (PointL t) Source | |
Eq (PointL t) Source | |
Read (PointL t) Source | |
Show (PointL t) Source | |
Generic (PointL t) Source | |
Arbitrary (PointL t) Source | |
ToJSON (PointL t) Source | |
FromJSON (PointL t) Source | |
Binary (PointL t) Source | |
Serialize (PointL t) Source | |
NFData (PointL t) Source | |
Hashable (PointL t) Source | |
Unbox (PointL t) Source | |
IndexStream ((:.) Z (PointL t)) => IndexStream (PointL t) Source | |
Index (PointL t) Source | |
IndexStream z => IndexStream ((:.) z (PointL C)) Source | |
IndexStream z => IndexStream ((:.) z (PointL O)) Source | |
IndexStream z => IndexStream ((:.) z (PointL I)) Source | |
data MVector s0 (PointL t0) = MV_PointL (MVector s Int) Source | |
type Rep (PointL t) Source | |
data Vector (PointL t0) = V_PointL (Vector Int) Source |
A point in a right-linear grammars.
PointR | |
|
Vector Vector (PointR t) Source | |
MVector MVector (PointR t) Source | |
Eq (PointR t) Source | |
Read (PointR t) Source | |
Show (PointR t) Source | |
Generic (PointR t) Source | |
ToJSON (PointR t) Source | |
FromJSON (PointR t) Source | |
Binary (PointR t) Source | |
Serialize (PointR t) Source | |
NFData (PointR t) Source | |
Hashable (PointR t) Source | |
Unbox (PointR t) Source | |
Index (PointR t) Source | |
data MVector s0 (PointR t0) = MV_PointR (MVector s Int) Source | |
type Rep (PointR t) Source | |
data Vector (PointR t0) = V_PointR (Vector Int) Source |
streamUpMk :: Monad m => t1 -> t -> m (t, t1) Source
streamDownMk :: Monad m => t1 -> t -> m (t, t1) Source