| Copyright | (c) Marcus Völker 2017-2018 |
|---|---|
| License | MIT |
| Maintainer | marcus.voelker@rwth-aachen.de |
| Safe Haskell | Safe |
| Language | Haskell2010 |
Text.LParse.TokenStream
Description
This module contains the TokenStream class, an abstraction of lists, similar to Traversable, but geared for use with LParse
Synopsis
- class (Functor t, Foldable t) => TokenStream t where
- drop :: TokenStream s => Int -> s a -> s a
- zip :: TokenStream s => s a -> s b -> s (a, b)
- zipWith :: TokenStream s => (a -> b -> c) -> s a -> s b -> s c
- filter :: TokenStream s => (a -> Bool) -> s a -> s a
Documentation
class (Functor t, Foldable t) => TokenStream t where Source #
TokenStream abstracts a list, i.e., something that has a next element to process and a rest afterwards
Methods
nil gives the empty TokenStream. Similar to `[]`
cons :: a -> t a -> t a Source #
cons prepends an element to the TokenStream. Similar to `(:)`
Instances
| TokenStream [] Source # | |
| TokenStream Maybe Source # | |
| TokenStream (Either a) Source # | |
drop :: TokenStream s => Int -> s a -> s a Source #
TokenStream version of drop
zip :: TokenStream s => s a -> s b -> s (a, b) Source #
TokenStream version of zip
zipWith :: TokenStream s => (a -> b -> c) -> s a -> s b -> s c Source #
TokenStream version of zipWith
filter :: TokenStream s => (a -> Bool) -> s a -> s a Source #
TokenStream version of filter