<!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.Signal</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-Signal.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-Signal.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.Signal</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 CLASS="section1" >Description</TD ></TR ><TR ><TD CLASS="doc" >This module defines the shallow-embedded <TT ><A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A ></TT > datatype and functions operating on it. </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" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3ASignal" >Signal</A > a </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3ANullS" >NullS</A ></TD ></TR ><TR ><TD CLASS="decl" >| a <A HREF="#v%3A%3A-" >:-</A > (<A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a)</TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3A-%3A" >(-:)</A > :: <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> a -> <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%3A%2B-%2B" >(+-+)</A > :: <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> <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%3A%21-" >(!-)</A > :: <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Asignal" >signal</A > :: [a] -> <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%3AfromSignal" >fromSignal</A > :: <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> [a]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AunitS" >unitS</A > :: a -> <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%3AnullS" >nullS</A > :: <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AheadS" >headS</A > :: <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AtailS" >tailS</A > :: <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> <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%3AatS" >atS</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AtakeS" >takeS</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> <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%3AdropS" >dropS</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> <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%3AlengthS" >lengthS</A > :: <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > b -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AinfiniteS" >infiniteS</A > :: (a -> a) -> a -> <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%3AcopyS" >copyS</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3ANum" >Num</A > a => a -> b -> <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%3AselectS" >selectS</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 > -> <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> <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%3AwriteS" >writeS</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > a => <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A >]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AreadS" >readS</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Read.html#t%3ARead" >Read</A > a => [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A >] -> <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%3AfanS" >fanS</A > :: (<A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > b) -> (<A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > c) -> <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> (<A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > b, <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > c)</TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Documentation</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Signal" ><A NAME="t%3ASignal" ></A ></A ><B >Signal</B > a </TD ><TD CLASS="declbut" ><A HREF="src/ForSyDe-Shallow-Signal.html#Signal" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >A signal is defined as a list of events. An event has a tag and a value. The tag of an event is defined by the position in the list. A signal is defined as an instance of the classes <TT ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Read.html#t%3ARead" >Read</A ></TT > and <TT ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A ></TT >. The signal 1 :- 2 :- NullS is represented as {1,2}. </TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:NullS" ><A NAME="v%3ANullS" ></A ></A ><B >NullS</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" >a <A NAME="v::-" ><A NAME="v%3A%3A-" ></A ></A ><B >:-</B > (<A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a)</TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Signal')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:Signal" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > a => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > (<A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Read.html#t%3ARead" >Read</A > a => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Read.html#t%3ARead" >Read</A > (<A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > a => <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > (<A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a)</TD ></TR ></TABLE ></DIV ></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:-:" ><A NAME="v%3A-%3A" ></A ></A ><B >(-:)</B > :: <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> a -> <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a</TD ><TD CLASS="declbut" ><A HREF="src/ForSyDe-Shallow-Signal.html#-%3A" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >The operator '-:' adds at an element to a signal at the tail. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:+-+" ><A NAME="v%3A%2B-%2B" ></A ></A ><B >(+-+)</B > :: <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a</TD ><TD CLASS="declbut" ><A HREF="src/ForSyDe-Shallow-Signal.html#%2B-%2B" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >The operator <TT ><A HREF="ForSyDe-Shallow-Signal.html#v%3A%2B-%2B" >+-+</A ></TT > concatinates two signals into one signal. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:!-" ><A NAME="v%3A%21-" ></A ></A ><B >(!-)</B > :: <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> a</TD ><TD CLASS="declbut" ><A HREF="src/ForSyDe-Shallow-Signal.html#%21-" >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:signal" ><A NAME="v%3Asignal" ></A ></A ><B >signal</B > :: [a] -> <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a</TD ><TD CLASS="declbut" ><A HREF="src/ForSyDe-Shallow-Signal.html#signal" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >The function <TT ><A HREF="ForSyDe-Shallow-Signal.html#v%3Asignal" >signal</A ></TT > converts a list into a signal. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:fromSignal" ><A NAME="v%3AfromSignal" ></A ></A ><B >fromSignal</B > :: <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> [a]</TD ><TD CLASS="declbut" ><A HREF="src/ForSyDe-Shallow-Signal.html#fromSignal" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >The function <TT ><A HREF="ForSyDe-Shallow-Signal.html#v%3AfromSignal" >fromSignal</A ></TT > converts a signal into a list. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:unitS" ><A NAME="v%3AunitS" ></A ></A ><B >unitS</B > :: a -> <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a</TD ><TD CLASS="declbut" ><A HREF="src/ForSyDe-Shallow-Signal.html#unitS" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >The function <TT ><A HREF="ForSyDe-Shallow-Signal.html#v%3AunitS" >unitS</A ></TT > creates a signal with one value. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:nullS" ><A NAME="v%3AnullS" ></A ></A ><B >nullS</B > :: <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/ForSyDe-Shallow-Signal.html#nullS" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >The function <TT ><A HREF="ForSyDe-Shallow-Signal.html#v%3AnullS" >nullS</A ></TT > checks if a signal is empty. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:headS" ><A NAME="v%3AheadS" ></A ></A ><B >headS</B > :: <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> a</TD ><TD CLASS="declbut" ><A HREF="src/ForSyDe-Shallow-Signal.html#headS" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >The function <TT ><A HREF="ForSyDe-Shallow-Signal.html#v%3AheadS" >headS</A ></TT > gives the first value - the head - of a signal. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:tailS" ><A NAME="v%3AtailS" ></A ></A ><B >tailS</B > :: <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a</TD ><TD CLASS="declbut" ><A HREF="src/ForSyDe-Shallow-Signal.html#tailS" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >The function <TT ><A HREF="ForSyDe-Shallow-Signal.html#v%3AtailS" >tailS</A ></TT > gives the rest of the signal - the tail. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:atS" ><A NAME="v%3AatS" ></A ></A ><B >atS</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> a</TD ><TD CLASS="declbut" ><A HREF="src/ForSyDe-Shallow-Signal.html#atS" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >The function <TT ><A HREF="ForSyDe-Shallow-Signal.html#v%3AatS" >atS</A ></TT > returns the n-th event in a signal. The numbering of events in a signal starts with 0. There is also an operator version of this function, '(!-)'. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:takeS" ><A NAME="v%3AtakeS" ></A ></A ><B >takeS</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a</TD ><TD CLASS="declbut" ><A HREF="src/ForSyDe-Shallow-Signal.html#takeS" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >The function <TT ><A HREF="ForSyDe-Shallow-Signal.html#v%3AtakeS" >takeS</A ></TT > returns the first n values of a signal. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:dropS" ><A NAME="v%3AdropS" ></A ></A ><B >dropS</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a</TD ><TD CLASS="declbut" ><A HREF="src/ForSyDe-Shallow-Signal.html#dropS" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >The function <TT ><A HREF="ForSyDe-Shallow-Signal.html#v%3AdropS" >dropS</A ></TT > drops the first $n$ values from a signal. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:lengthS" ><A NAME="v%3AlengthS" ></A ></A ><B >lengthS</B > :: <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > b -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ><TD CLASS="declbut" ><A HREF="src/ForSyDe-Shallow-Signal.html#lengthS" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >The function <TT ><A HREF="ForSyDe-Shallow-Signal.html#v%3AlengthS" >lengthS</A ></TT > returns the length of a finite signal. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:infiniteS" ><A NAME="v%3AinfiniteS" ></A ></A ><B >infiniteS</B > :: (a -> a) -> a -> <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a</TD ><TD CLASS="declbut" ><A HREF="src/ForSyDe-Shallow-Signal.html#infiniteS" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" ><P >The function <TT ><A HREF="ForSyDe-Shallow-Signal.html#v%3AinfiniteS" >infiniteS</A ></TT > creates an infinite signal. The first argument f is a function that is applied on the current value. The second argument x gives the first value of the signal. </P ><PRE > Signal> takeS 5 (infiniteS (*3) 1) {1,3,9,27,81} :: Signal Integer </PRE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:copyS" ><A NAME="v%3AcopyS" ></A ></A ><B >copyS</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3ANum" >Num</A > a => a -> b -> <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > b</TD ><TD CLASS="declbut" ><A HREF="src/ForSyDe-Shallow-Signal.html#copyS" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >The function <TT ><A HREF="ForSyDe-Shallow-Signal.html#v%3AcopyS" >copyS</A ></TT > creates a signal with n values x. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:selectS" ><A NAME="v%3AselectS" ></A ></A ><B >selectS</B > :: <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 > -> <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a</TD ><TD CLASS="declbut" ><A HREF="src/ForSyDe-Shallow-Signal.html#selectS" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" ><P >The function <TT ><A HREF="ForSyDe-Shallow-Signal.html#v%3AselectS" >selectS</A ></TT > takes three parameters, an offset, a stepsize and a signal and returns some elements of the signal such as in the following example: </P ><PRE > Signal> selectS 2 3 (signal[1,2,3,4,5,6,7,8,9,10]) {3,6,9} :: Signal Integer </PRE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:writeS" ><A NAME="v%3AwriteS" ></A ></A ><B >writeS</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > a => <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A >]</TD ><TD CLASS="declbut" ><A HREF="src/ForSyDe-Shallow-Signal.html#writeS" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" ><P >The function <TT ><A HREF="ForSyDe-Shallow-Signal.html#v%3AwriteS" >writeS</A ></TT > transforms a signal into a string of the following format: </P ><PRE > Signal> writeS (signal[1,2,3,4,5]) <A HREF="1n2n3n4n5n.html" >1n2n3n4n5n</A > :: [Char] </PRE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:readS" ><A NAME="v%3AreadS" ></A ></A ><B >readS</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Read.html#t%3ARead" >Read</A > a => [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A >] -> <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a</TD ><TD CLASS="declbut" ><A HREF="src/ForSyDe-Shallow-Signal.html#readS" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" ><P >The function <TT ><A HREF="ForSyDe-Shallow-Signal.html#v%3AreadS" >readS</A ></TT > transforms a formatted string into a signal. </P ><PRE > Signal> readS <A HREF="1n2n3n4n5n.html" >1n2n3n4n5n</A > :: Signal Int {1,2,3,4,5} :: Signal Int </PRE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:fanS" ><A NAME="v%3AfanS" ></A ></A ><B >fanS</B > :: (<A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > b) -> (<A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > c) -> <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > a -> (<A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > b, <A HREF="ForSyDe-Shallow-Signal.html#t%3ASignal" >Signal</A > c)</TD ><TD CLASS="declbut" ><A HREF="src/ForSyDe-Shallow-Signal.html#fanS" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >The combinator <TT ><A HREF="ForSyDe-Shallow-Signal.html#v%3AfanS" >fanS</A ></TT > takes two processes p1 and p2 and and generates a process network, where a signal is split and processed by the processes p1 and p2. </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 >