Content deleted Content added
no blank lines in list for accessibility; fix heading style, ndash; rm trailing space; rm ref=harv, no lines, thus +no footnote; +commons categorys |
ColaEuphoria (talk | contribs) |
||
Line 35:
FAUST is a textual language but nevertheless block-diagram oriented. It actually combines two approaches: functional programming and algebraic block-diagrams. The key idea is to view block-diagram construction as function composition. For that, FAUST relies on a ''block-diagram algebra'' of five composition operations.
==
<source lang=
process = 0;
</source>
The second example
<source lang=
process = _;
</source>
Another
<source lang=
process = +;
</source>
[[File:Faust-simple-block-diagram.jpg|thumb|Block-diagrams generated by Faust from some simple programs]]
Most FAUST primitives are analogous to their C counterpart on numbers, but lifted to signals. For example, the FAUST primitive <code>sin</code> operates on a signal X by applying the [[C (Programming Language)|C]] function <code>sin</code> to each sample X
Some [[signal processing]] primitives are specific to FAUST. For example the delay operator <code>@</code> takes two input signals: X (the signal to be delayed) and D (the delay to be applied), and produces an output signal Y such that Y
==Block-diagram composition==
|