The Lax Braided Structure of Streaming I/O
The Lax Braided Structure of Streaming I/O
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 investigating which transducers 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.
Jeffrey, Alan
d79c647d-86f4-43f2-94d0-78be65748331
Rathke, Julian
dba0b571-545c-4c31-9aec-5f70c231774b
September 2011
Jeffrey, Alan
d79c647d-86f4-43f2-94d0-78be65748331
Rathke, Julian
dba0b571-545c-4c31-9aec-5f70c231774b
Jeffrey, Alan and Rathke, Julian
(2011)
The Lax Braided Structure of Streaming I/O.
Annual Conference of the European Association for Computer Science Logic, Bergen, Norway.
11 - 14 Sep 2011.
Record type:
Conference or Workshop Item
(Paper)
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 investigating which transducers 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.
This record has no associated files available for download.
More information
Published date: September 2011
Additional Information:
Event Dates: 12th-15th Sep 2011
Venue - Dates:
Annual Conference of the European Association for Computer Science Logic, Bergen, Norway, 2011-09-11 - 2011-09-14
Organisations:
Electronic & Software Systems
Identifiers
Local EPrints ID: 272429
URI: http://eprints.soton.ac.uk/id/eprint/272429
PURE UUID: 63b3fec2-4bc0-4eb1-83e9-74581478d492
Catalogue record
Date deposited: 08 Jun 2011 16:18
Last modified: 08 Jan 2022 09:00
Export record
Contributors
Author:
Alan Jeffrey
Author:
Julian Rathke
Download statistics
Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.
Loading...
View more statistics