Next Previous Contents

The Haskell Ports Library

Manuel M. T. Chakravarty,

v0.2, 15 July 2000

Ports are an abstraction for modeling variables, i.e., entities whose values evolve over time, without the need to resort to mutable variable, such as IORefs. More precisely, a port represents all values that a time-dependent variable successively takes as a stream, where each element of the stream corresponds to a state change - we can also say that a port represents a time series. Moreover, a port supports concurrent construction of the time series, or stream of values. Ports are ideally suited for functional GUI interfaces that completely avoid the use of mutable variables. It is planned to extend the library to interaction between different processes possibly located on distinct processing nodes.

Copyright & Distribution

Copyright (c) [1999..2000] by Manuel M. T. Chakravarty. The manual is distributed under the terms GNU Free Documentation License available from

The master copy of this document is at; the source is in SGML, which allows you to produce a selection of standard formats, including HTML and Postscript.


If you have any comments, suggestions, or contributions, please send them to

1. Introduction

2. Interface of the Module SVars

3. Interface of the Module Ports

4. Bug Reports and Suggestions

5. Copyright

6. GNU Free Documentation License

7. Release Notes

Next Previous Contents