Safe Haskell | None |
---|---|
Language | Haskell2010 |
- newtype Maker' a x = Maker {}
- type Maker a = Maker' a ()
- maker :: (Symbol a, [[Symbol a]]) -> Maker a
- (--->) :: FromMaker m => Ord a => Symbol a -> a -> m a ()
- (-->) :: FromMaker m => Ord a => a -> a -> m a ()
- (&) :: FromMaker m => Maker a -> a -> m a ()
- (|>) :: FromMaker m => Maker a -> a -> m a ()
- (|/) :: FromMaker m => Maker a -> Symbol a -> m a ()
- (>>>) :: FromMaker m => Symbol a -> Symbol a -> m a ()
- class FromMaker m where
Documentation
(&) :: FromMaker m => Maker a -> a -> m a () Source
Use &
to concatenate two user-defined symbols.
table :: [ProductRule MySym] table = productRules $ do Start >>> Null & C' |> ...
(|>) :: FromMaker m => Maker a -> a -> m a () Source
Use |>
to represent "or" when the left hand side can produce two different expressions,
and the right side in a user-defined type.
table :: [ProductRule MySym] table = productRules $ do Start ---> ... ... |> C'