<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//TaxonX//DTD Taxonomic Treatment Publishing DTD v0 20100105//EN" "../../nlm/tax-treatment-NS0.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:tp="http://www.plazi.org/taxpub" article-type="research-article" dtd-version="3.0" xml:lang="en">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">109</journal-id>
      <journal-id journal-id-type="index">urn:lsid:arphahub.com:pub:3dc5f44e-8666-58db-bc76-a455210e8891</journal-id>
      <journal-title-group>
        <journal-title xml:lang="en">JUCS - Journal of Universal Computer Science</journal-title>
        <abbrev-journal-title xml:lang="en">jucs</abbrev-journal-title>
      </journal-title-group>
      <issn pub-type="ppub">0948-695X</issn>
      <issn pub-type="epub">0948-6968</issn>
      <publisher>
        <publisher-name>Journal of Universal Computer Science</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.3217/jucs-011-07-1311</article-id>
      <article-id pub-id-type="publisher-id">28448</article-id>
      <article-categories>
        <subj-group subj-group-type="heading">
          <subject>Research Article</subject>
        </subj-group>
        <subj-group subj-group-type="scientific_subject">
          <subject>D.3.1 - Formal Definitions and Theory</subject>
          <subject>F.3.2 - Semantics of Programming Languages</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>Signals and Comonads</article-title>
      </title-group>
      <contrib-group content-type="authors">
        <contrib contrib-type="author" corresp="yes">
          <name name-style="western">
            <surname>Uustalu</surname>
            <given-names>Tarmo</given-names>
          </name>
          <email xlink:type="simple">tarmo@cs.ioc.ee</email>
          <xref ref-type="aff" rid="A1">1</xref>
        </contrib>
        <contrib contrib-type="author" corresp="no">
          <name name-style="western">
            <surname>Vene</surname>
            <given-names>Tarmo</given-names>
          </name>
          <xref ref-type="aff" rid="A2">2</xref>
        </contrib>
      </contrib-group>
      <aff id="A1">
        <label>1</label>
        <addr-line content-type="verbatim">Tallinn University of Technology, Tallinn, Estonia</addr-line>
        <institution>Tallinn University of Technology</institution>
        <addr-line content-type="city">Tallinn</addr-line>
        <country>Estonia</country>
      </aff>
      <aff id="A2">
        <label>2</label>
        <addr-line content-type="verbatim">Department of Computer Science, University of Tartu, , Estonia</addr-line>
        <institution>Department of Computer Science, University of Tartu</institution>
        <country>Estonia</country>
      </aff>
      <author-notes>
        <fn fn-type="corresp">
          <p>Corresponding author: Tarmo Uustalu (<email xlink:type="simple">tarmo@cs.ioc.ee</email>).</p>
        </fn>
        <fn fn-type="edited-by">
          <p>Academic editor: </p>
        </fn>
      </author-notes>
      <pub-date pub-type="collection">
        <year>2005</year>
      </pub-date>
      <pub-date pub-type="epub">
        <day>28</day>
        <month>07</month>
        <year>2005</year>
      </pub-date>
      <volume>11</volume>
      <issue>7</issue>
      <fpage>1310</fpage>
      <lpage>1326</lpage>
      <uri content-type="arpha" xlink:href="http://openbiodiv.net/3428AFFC-DAF3-5257-A296-EDEF56117AD9">3428AFFC-DAF3-5257-A296-EDEF56117AD9</uri>
      <uri content-type="zenodo_dep_id" xlink:href="https://zenodo.org/record/6996819">6996819</uri>
      <permissions>
        <copyright-statement>Tarmo Uustalu, Tarmo Vene</copyright-statement>
        <license license-type="creative-commons-attribution" xlink:href="" xlink:type="simple">
          <license-p>This article is freely available under the J.UCS Open Content License.</license-p>
        </license>
      </permissions>
      <abstract>
        <label>Abstract</label>
        <p>We propose a novel discipline for programming stream functions and for the semantic description of stream manipulation languages based on the observation that both general and causal stream functions can be characterized as coKleisli arrows of comonads. This seems to be a promising application for the old, but very little exploited idea that if monads abstract notions of computation of a value, comonads ought to be useable as an abstraction of notions of value in a context. We also show that causal partial-stream functions can be described in terms of a combination of a comonad and a monad.</p>
      </abstract>
    </article-meta>
  </front>
</article>
