This module provides a limited form of stream used by the serializers, and utility functions for using serializers on lists.

# Documentation

class Monad m => MonadWStream m e | m -> e whereSource

The class of streams that support write operations. e is the type of elements written.

MonadWStream (ListBuild e) e |

An implementation of `MonadWStream`

using difference lists.

Monad (ListBuild e) | |

MonadWStream (ListBuild e) e |

buildList :: ListBuild e () -> [e]Source

Run an action in a `MonadWStream`

to produce a list, using `ListBuild`

.

class Monad m => MonadRStream m e | m -> e whereSource

The class of readable streams.

Read one element. Invokes `fail`

if there are no more to read.

Examine the next element without removing it.

MonadRStream (ListRead e) e |

An implementation of `MonadRStream`

using lists.

Monad (ListRead e) | |

MonadRStream (ListRead e) e |