Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > a47f0719970f9f829128f311a437816d > files > 205

ghc-ForSyDe-devel-3.1.1-4.fc14.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--Rendered using the Haskell Html Library v0.2-->
<HTML
><HEAD
><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
><TITLE
>ForSyDe.Shallow.UntimedLib</TITLE
><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
></SCRIPT
><SCRIPT TYPE="text/javascript"
>window.onload = function () {setSynopsis("mini_ForSyDe-Shallow-UntimedLib.html")};</SCRIPT
></HEAD
><BODY
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topbar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
></TD
><TD CLASS="title"
>ForSyDe-3.1.1: ForSyDe's Haskell-embedded Domain Specific Language.</TD
><TD CLASS="topbut"
><A HREF="src/ForSyDe-Shallow-UntimedLib.html"
>Source code</A
></TD
><TD CLASS="topbut"
><A HREF="index.html"
>Contents</A
></TD
><TD CLASS="topbut"
><A HREF="doc-index.html"
>Index</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="modulebar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><FONT SIZE="6"
>ForSyDe.Shallow.UntimedLib</FONT
></TD
><TD ALIGN="right"
><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="infohead"
>Portability</TD
><TD CLASS="infoval"
>portable</TD
></TR
><TR
><TD CLASS="infohead"
>Stability</TD
><TD CLASS="infoval"
>experimental</TD
></TR
><TR
><TD CLASS="infohead"
>Maintainer</TD
><TD CLASS="infoval"
>forsyde-dev@ict.kth.se</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><B
>Contents</B
></TD
></TR
><TR
><TD
><DL
><DT
><A HREF="#1"
>Combinational process constructors
</A
></DT
><DT
><A HREF="#2"
>Sequential process constructors
</A
></DT
><DT
><A HREF="#3"
>Zipping and unzipping signals
</A
></DT
></DL
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Description</TD
></TR
><TR
><TD CLASS="doc"
>The untimed library defines process constructors and processes for
 the untimed computational model. A process constructor is a higher
 order function which together with combinational function(s) and
 values as arguments constructs a process.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Synopsis</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="#v%3AcombU"
>combU</A
> ::  <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; ([a] -&gt; [b]) -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Acomb2U"
>comb2U</A
> ::  <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; ([a] -&gt; [b] -&gt; [c]) -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> b -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> c</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Acomb2UC"
>comb2UC</A
> ::  <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; (a -&gt; [b] -&gt; [c]) -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> b -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> c</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmapU"
>mapU</A
> ::  <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; ([a] -&gt; [b]) -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AscanU"
>scanU</A
> ::  (b -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>) -&gt; (b -&gt; [a] -&gt; b) -&gt; b -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmealyU"
>mealyU</A
> ::  (b -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>) -&gt; (b -&gt; [a] -&gt; b) -&gt; (b -&gt; [a] -&gt; [c]) -&gt; b -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> c</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmooreU"
>mooreU</A
> ::  (b -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>) -&gt; (b -&gt; [a] -&gt; b) -&gt; (b -&gt; [c]) -&gt; b -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> c</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsourceU"
>sourceU</A
> ::  (a -&gt; a) -&gt; a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsinkU"
>sinkU</A
> ::  (a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>) -&gt; (a -&gt; a) -&gt; a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> b -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AinitU"
>initU</A
> ::  [a] -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AzipU"
>zipU</A
> ::  <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>, <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>) -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> b -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> ([a], [b])</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AzipUs"
>zipUs</A
> ::  <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> b -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> ([a], [b])</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AzipWithU"
>zipWithU</A
> ::  <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; ([a] -&gt; [b] -&gt; [c]) -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> b -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> c</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AzipWith3U"
>zipWith3U</A
> ::  <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; ([a] -&gt; [b] -&gt; [c] -&gt; [d]) -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> b -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> c -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> d</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AzipWith4U"
>zipWith4U</A
> ::  <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; ([a] -&gt; [b] -&gt; [c] -&gt; [d] -&gt; [e]) -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> b -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> c -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> d -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunzipU"
>unzipU</A
> ::  <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> ([a], [b]) -&gt; (<A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a, <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> b)</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="1"
><A NAME="1"
>Combinational process constructors
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
>Combinational process constructors are used for processes that do not have a state.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:combU"
><A NAME="v%3AcombU"
></A
></A
><B
>combU</B
> ::  <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; ([a] -&gt; [b]) -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> b</TD
><TD CLASS="declbut"
><A HREF="src/ForSyDe-Shallow-UntimedLib.html#combU"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:comb2U"
><A NAME="v%3Acomb2U"
></A
></A
><B
>comb2U</B
> ::  <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; ([a] -&gt; [b] -&gt; [c]) -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> b -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> c</TD
><TD CLASS="declbut"
><A HREF="src/ForSyDe-Shallow-UntimedLib.html#comb2U"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:comb2UC"
><A NAME="v%3Acomb2UC"
></A
></A
><B
>comb2UC</B
> ::  <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; (a -&gt; [b] -&gt; [c]) -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> b -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> c</TD
><TD CLASS="declbut"
><A HREF="src/ForSyDe-Shallow-UntimedLib.html#comb2UC"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:mapU"
><A NAME="v%3AmapU"
></A
></A
><B
>mapU</B
> ::  <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; ([a] -&gt; [b]) -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> b</TD
><TD CLASS="declbut"
><A HREF="src/ForSyDe-Shallow-UntimedLib.html#mapU"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
><P
>The first parameter of <TT
><A HREF="ForSyDe-Shallow-UntimedLib.html#v%3AmapU"
>mapU</A
></TT
> is a constant integer defining the number of tokens consumed in every evaluation cycle. The second argument is a function on lists of the input type and returning a list of the output type. For instance,
</P
><PRE
> r2 = mapU 1 f
   where f :: [Int] -&gt; [Int]
         f [x] = [2*x]
</PRE
><P
>defines a process r2 which consumes one token in each evaluation cycle and multiplies it by two.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="2"
><A NAME="2"
>Sequential process constructors
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
>Sequential process constructors are used for processes that have a state. One of the input parameters is the initial state.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:scanU"
><A NAME="v%3AscanU"
></A
></A
><B
>scanU</B
> ::  (b -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>) -&gt; (b -&gt; [a] -&gt; b) -&gt; b -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> b</TD
><TD CLASS="declbut"
><A HREF="src/ForSyDe-Shallow-UntimedLib.html#scanU"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
><TT
><A HREF="ForSyDe-Shallow-UntimedLib.html#v%3AscanU"
>scanU</A
></TT
> has an internal state which is visible at the output. The first argument is a function 'gamma' which, given the state returns the number of tokens consumed next. The second argument is the next state function and the third is the initial state.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:mealyU"
><A NAME="v%3AmealyU"
></A
></A
><B
>mealyU</B
> ::  (b -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>) -&gt; (b -&gt; [a] -&gt; b) -&gt; (b -&gt; [a] -&gt; [c]) -&gt; b -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> c</TD
><TD CLASS="declbut"
><A HREF="src/ForSyDe-Shallow-UntimedLib.html#mealyU"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>The process constructor <TT
><A HREF="ForSyDe-Shallow-UntimedLib.html#v%3AmealyU"
>mealyU</A
></TT
> creates a state machine of Moore type. In addition to the next state function they also have an output encoding function. The output depends directly on the internal state.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:mooreU"
><A NAME="v%3AmooreU"
></A
></A
><B
>mooreU</B
> ::  (b -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>) -&gt; (b -&gt; [a] -&gt; b) -&gt; (b -&gt; [c]) -&gt; b -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> c</TD
><TD CLASS="declbut"
><A HREF="src/ForSyDe-Shallow-UntimedLib.html#mooreU"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>The process constructor <TT
><A HREF="ForSyDe-Shallow-UntimedLib.html#v%3AmooreU"
>mooreU</A
></TT
> creates a state machine of Moore type. In addition to the next state function they also have an output encoding function. The output depends directly on the internal state.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:sourceU"
><A NAME="v%3AsourceU"
></A
></A
><B
>sourceU</B
> ::  (a -&gt; a) -&gt; a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a</TD
><TD CLASS="declbut"
><A HREF="src/ForSyDe-Shallow-UntimedLib.html#sourceU"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:sinkU"
><A NAME="v%3AsinkU"
></A
></A
><B
>sinkU</B
> ::  (a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>) -&gt; (a -&gt; a) -&gt; a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> b -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> b</TD
><TD CLASS="declbut"
><A HREF="src/ForSyDe-Shallow-UntimedLib.html#sinkU"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:initU"
><A NAME="v%3AinitU"
></A
></A
><B
>initU</B
> ::  [a] -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a</TD
><TD CLASS="declbut"
><A HREF="src/ForSyDe-Shallow-UntimedLib.html#initU"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
><TT
><A HREF="ForSyDe-Shallow-UntimedLib.html#v%3AinitU"
>initU</A
></TT
> is used to initialise a signal. Its first argument is prepended to its second argument, a signal.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="3"
><A NAME="3"
>Zipping and unzipping signals
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:zipU"
><A NAME="v%3AzipU"
></A
></A
><B
>zipU</B
> ::  <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>, <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
>) -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> b -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> ([a], [b])</TD
><TD CLASS="declbut"
><A HREF="src/ForSyDe-Shallow-UntimedLib.html#zipU"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:zipUs"
><A NAME="v%3AzipUs"
></A
></A
><B
>zipUs</B
> ::  <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> b -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> ([a], [b])</TD
><TD CLASS="declbut"
><A HREF="src/ForSyDe-Shallow-UntimedLib.html#zipUs"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:zipWithU"
><A NAME="v%3AzipWithU"
></A
></A
><B
>zipWithU</B
> ::  <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; ([a] -&gt; [b] -&gt; [c]) -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> b -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> c</TD
><TD CLASS="declbut"
><A HREF="src/ForSyDe-Shallow-UntimedLib.html#zipWithU"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:zipWith3U"
><A NAME="v%3AzipWith3U"
></A
></A
><B
>zipWith3U</B
> ::  <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; ([a] -&gt; [b] -&gt; [c] -&gt; [d]) -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> b -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> c -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> d</TD
><TD CLASS="declbut"
><A HREF="src/ForSyDe-Shallow-UntimedLib.html#zipWith3U"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:zipWith4U"
><A NAME="v%3AzipWith4U"
></A
></A
><B
>zipWith4U</B
> ::  <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; ([a] -&gt; [b] -&gt; [c] -&gt; [d] -&gt; [e]) -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> b -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> c -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> d -&gt; <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> e</TD
><TD CLASS="declbut"
><A HREF="src/ForSyDe-Shallow-UntimedLib.html#zipWith4U"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:unzipU"
><A NAME="v%3AunzipU"
></A
></A
><B
>unzipU</B
> ::  <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> ([a], [b]) -&gt; (<A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> a, <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal"
>Signal</A
> b)</TD
><TD CLASS="declbut"
><A HREF="src/ForSyDe-Shallow-UntimedLib.html#unzipU"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 2.6.1</TD
></TR
></TABLE
></BODY
></HTML
>