License: Creative Commons Attribution-NoDerivs 3.0 Unported license (CC BY-ND 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.CSL.2011.292
URN: urn:nbn:de:0030-drops-32386
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2011/3238/
Jeffrey, Alan ;
Rathke, Julian
The Lax Braided Structure of Streaming I/O
Abstract
We investigate and implement a model of typed streaming I/O. Each type
determines a language of traces analogous to regular expressions on
strings, and programs are modelled by certain monotone functions on
these traces. We show that sequential composition forms a lax braided
monoid in the category of types and programs. This lax braided
structure allows programs to be represented diagrammatically using
Joyal and Street's string diagrams in 3D space.
Monotone functions over traces cannot be executed efficiently, so we
present an equivalent monoidal category of transducers. We demonstrate
that transducers can be executed efficiently, theoretically by showing
that programs with diagrams embedded in the plane can be executed in
O(1) space, and experimentally by an implementation in the Agda
dependently typed functional language. Agda supports machine-assisted
proof: we have mechanically verified that the transducer
implementation and the I/O model form lax braided monoidal categories.
BibTeX - Entry
@InProceedings{jeffrey_et_al:LIPIcs:2011:3238,
author = {Alan Jeffrey and Julian Rathke},
title = {{The Lax Braided Structure of Streaming I/O}},
booktitle = {Computer Science Logic (CSL'11) - 25th International Workshop/20th Annual Conference of the EACSL},
pages = {292--306},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-939897-32-3},
ISSN = {1868-8969},
year = {2011},
volume = {12},
editor = {Marc Bezem},
publisher = {Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
address = {Dagstuhl, Germany},
URL = {http://drops.dagstuhl.de/opus/volltexte/2011/3238},
URN = {urn:nbn:de:0030-drops-32386},
doi = {10.4230/LIPIcs.CSL.2011.292},
annote = {Keywords: semantics, categorical models, streaming I/O, Agda}
}
Keywords: |
|
semantics, categorical models, streaming I/O, Agda |
Collection: |
|
Computer Science Logic (CSL'11) - 25th International Workshop/20th Annual Conference of the EACSL |
Issue Date: |
|
2011 |
Date of publication: |
|
31.08.2011 |