+++ /dev/null
-<html><head>
-<link rel="stylesheet" href="style.css" type="text/css">
-<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
-<link rel="Start" href="index.html">
-<link title="Index of types" rel=Appendix href="index_types.html">
-<link title="Index of exceptions" rel=Appendix href="index_exceptions.html">
-<link title="Index of values" rel=Appendix href="index_values.html">
-<link title="Index of modules" rel=Appendix href="index_modules.html">
-<link title="Types" rel="Chapter" href="Types.html">
-<link title="Parser" rel="Chapter" href="Parser.html">
-<link title="Lexer" rel="Chapter" href="Lexer.html">
-<link title="Value" rel="Chapter" href="Value.html">
-<link title="Signal" rel="Chapter" href="Signal.html">
-<link title="Faustexp" rel="Chapter" href="Faustexp.html">
-<link title="Interpreter" rel="Chapter" href="Interpreter.html">
-<link title="Preprocess" rel="Chapter" href="Preprocess.html">
-<link title="Main" rel="Chapter" href="Main.html"><title>Interpreter.interpret_ident</title>
-</head>
-<body>
-<code class="code"><span class="keyword">let</span> interpret_ident = <span class="keyword">fun</span> s <span class="keywordsign">-></span> <span class="keyword">fun</span> input_beam <span class="keywordsign">-></span><br>
- <span class="keyword">let</span> n = <span class="constructor">List</span>.length input_beam <span class="keyword">in</span><br>
- <span class="keyword">match</span> s <span class="keyword">with</span><br>
- <span class="keywordsign">|</span><span class="constructor">Pass</span> <span class="keywordsign">-></span> <span class="keyword">if</span> n = 1 <span class="keyword">then</span> input_beam <span class="keyword">else</span> raise (<span class="constructor">Evaluation_Error</span> <span class="string">"Ident _"</span>)<br>
-<br>
- <span class="keywordsign">|</span><span class="constructor">Stop</span> <span class="keywordsign">-></span> <span class="keyword">if</span> n = 1 <span class="keyword">then</span> [] <span class="keyword">else</span> raise (<span class="constructor">Evaluation_Error</span> <span class="string">"Ident !"</span>)<br>
-<br>
- <span class="keywordsign">|</span><span class="constructor">Add</span> <span class="keywordsign">-></span> <span class="keyword">if</span> n = 2 <span class="keyword">then</span> [signal_add (<span class="constructor">List</span>.nth input_beam 0) (<span class="constructor">List</span>.nth input_beam 1)] <br>
- <span class="keyword">else</span> raise (<span class="constructor">Evaluation_Error</span> <span class="string">"Ident +"</span>)<br>
-<br>
- <span class="keywordsign">|</span><span class="constructor">Sup</span> <span class="keywordsign">-></span> <span class="keyword">if</span> n = 2 <span class="keyword">then</span> [signal_sub (<span class="constructor">List</span>.nth input_beam 0) (<span class="constructor">List</span>.nth input_beam 1)] <br>
- <span class="keyword">else</span> raise (<span class="constructor">Evaluation_Error</span> <span class="string">"Ident -"</span>)<br>
-<br>
- <span class="keywordsign">|</span><span class="constructor">Mul</span> <span class="keywordsign">-></span> <span class="keyword">if</span> n = 2 <span class="keyword">then</span> [signal_mul (<span class="constructor">List</span>.nth input_beam 0) (<span class="constructor">List</span>.nth input_beam 1)] <br>
- <span class="keyword">else</span> raise (<span class="constructor">Evaluation_Error</span> <span class="string">"Ident *"</span>)<br>
-<br>
- <span class="keywordsign">|</span><span class="constructor">Div</span> <span class="keywordsign">-></span> <span class="keyword">if</span> n = 2 <span class="keyword">then</span> [signal_div (<span class="constructor">List</span>.nth input_beam 0) (<span class="constructor">List</span>.nth input_beam 1)] <br>
- <span class="keyword">else</span> raise (<span class="constructor">Evaluation_Error</span> <span class="string">"Ident /"</span>)<br>
-<br>
- <span class="keywordsign">|</span><span class="constructor">Delay</span> <span class="keywordsign">-></span> <span class="keyword">if</span> n = 2 <span class="keyword">then</span> [signal_delay (<span class="constructor">List</span>.nth input_beam 0) (<span class="constructor">List</span>.nth input_beam 1)] <br>
- <span class="keyword">else</span> raise (<span class="constructor">Evaluation_Error</span> <span class="string">"Ident @"</span>)<br>
-<br>
- <span class="keywordsign">|</span><span class="constructor">Mem</span> <span class="keywordsign">-></span> <span class="keyword">if</span> n = 1 <span class="keyword">then</span> [signal_mem (<span class="constructor">List</span>.nth input_beam 0)] <br>
- <span class="keyword">else</span> raise (<span class="constructor">Evaluation_Error</span> <span class="string">"Ident mem"</span>)<br>
-<br>
- <span class="keywordsign">|</span><span class="constructor">Vectorize</span> <span class="keywordsign">-></span> <span class="keyword">if</span> n = 2 <span class="keyword">then</span> [signal_vectorize (<span class="constructor">List</span>.nth input_beam 0) (<span class="constructor">List</span>.nth input_beam 1)]<br>
- <span class="keyword">else</span> raise (<span class="constructor">Evaluation_Error</span> <span class="string">"Ident vectorize"</span>)<br>
-<br>
- <span class="keywordsign">|</span><span class="constructor">Serialize</span> <span class="keywordsign">-></span> <span class="keyword">if</span> n = 1 <span class="keyword">then</span> [signal_serialize (<span class="constructor">List</span>.nth input_beam 0)]<br>
- <span class="keyword">else</span> raise (<span class="constructor">Evaluation_Error</span> <span class="string">"Ident serialize"</span>)<br>
-<br>
- <span class="keywordsign">|</span><span class="constructor">Concat</span> <span class="keywordsign">-></span> <span class="keyword">if</span> n = 2 <span class="keyword">then</span> [signal_append (<span class="constructor">List</span>.nth input_beam 0) (<span class="constructor">List</span>.nth input_beam 1)]<br>
- <span class="keyword">else</span> raise (<span class="constructor">Evaluation_Error</span> <span class="string">"Ident #"</span>)<br>
-<br>
- <span class="keywordsign">|</span><span class="constructor">Nth</span> <span class="keywordsign">-></span> <span class="keyword">if</span> n = 2 <span class="keyword">then</span> [signal_nth (<span class="constructor">List</span>.nth input_beam 0) (<span class="constructor">List</span>.nth input_beam 1)]<br>
- <span class="keyword">else</span> raise (<span class="constructor">Evaluation_Error</span> <span class="string">"Ident []"</span>)<br>
-<br>
- <span class="keywordsign">|</span><span class="constructor">Floor</span> <span class="keywordsign">-></span> <span class="keyword">if</span> n = 1 <span class="keyword">then</span> [signal_floor (<span class="constructor">List</span>.nth input_beam 0)]<br>
- <span class="keyword">else</span> raise (<span class="constructor">Evaluation_Error</span> <span class="string">"Ident floor"</span>)<br>
-<br>
- <span class="keywordsign">|</span><span class="constructor">Int</span> <span class="keywordsign">-></span> <span class="keyword">if</span> n = 1 <span class="keyword">then</span> [signal_int (<span class="constructor">List</span>.nth input_beam 0)]<br>
- <span class="keyword">else</span> raise (<span class="constructor">Evaluation_Error</span> <span class="string">"Ident int"</span>)<br>
-<br>
- <span class="keywordsign">|</span><span class="constructor">Sin</span> <span class="keywordsign">-></span> <span class="keyword">if</span> n = 1 <span class="keyword">then</span> [signal_sin (<span class="constructor">List</span>.nth input_beam 0)]<br>
- <span class="keyword">else</span> raise (<span class="constructor">Evaluation_Error</span> <span class="string">"Ident sin"</span>)<br>
-<br>
- <span class="keywordsign">|</span><span class="constructor">Cos</span> <span class="keywordsign">-></span> <span class="keyword">if</span> n = 1 <span class="keyword">then</span> [signal_cos (<span class="constructor">List</span>.nth input_beam 0)]<br>
- <span class="keyword">else</span> raise (<span class="constructor">Evaluation_Error</span> <span class="string">"Ident cos"</span>)<br>
-<br>
- <span class="keywordsign">|</span><span class="constructor">Atan</span> <span class="keywordsign">-></span> <span class="keyword">if</span> n = 1 <span class="keyword">then</span> [signal_atan (<span class="constructor">List</span>.nth input_beam 0)]<br>
- <span class="keyword">else</span> raise (<span class="constructor">Evaluation_Error</span> <span class="string">"Ident atan"</span>)<br>
-<br>
- <span class="keywordsign">|</span><span class="constructor">Atantwo</span> <span class="keywordsign">-></span> <span class="keyword">if</span> n = 2 <span class="keyword">then</span> [signal_atantwo (<span class="constructor">List</span>.nth input_beam 0) (<span class="constructor">List</span>.nth input_beam 1)]<br>
- <span class="keyword">else</span> raise (<span class="constructor">Evaluation_Error</span> <span class="string">"Ident atantwo"</span>)<br>
-<br>
- <span class="keywordsign">|</span><span class="constructor">Sqrt</span> <span class="keywordsign">-></span> <span class="keyword">if</span> n = 1 <span class="keyword">then</span> [signal_sqrt (<span class="constructor">List</span>.nth input_beam 0)]<br>
- <span class="keyword">else</span> raise (<span class="constructor">Evaluation_Error</span> <span class="string">"Ident sqrt"</span>)<br>
-<br>
- <span class="keywordsign">|</span><span class="constructor">Rdtable</span> <span class="keywordsign">-></span> <span class="keyword">if</span> n = 3 <span class="keyword">then</span> [signal_rdtable (<span class="constructor">List</span>.nth input_beam 0) <br>
- (<span class="constructor">List</span>.nth input_beam 1) (<span class="constructor">List</span>.nth input_beam 2)] <br>
- <span class="keyword">else</span> raise (<span class="constructor">Evaluation_Error</span> <span class="string">"Ident rdtable"</span>)<br>
-<br>
- <span class="keywordsign">|</span><span class="constructor">Selecttwo</span> <span class="keywordsign">-></span> <span class="keyword">if</span> n = 3 <span class="keyword">then</span> [signal_select2 (<span class="constructor">List</span>.nth input_beam 0) (<span class="constructor">List</span>.nth input_beam 1) <br>
- (<span class="constructor">List</span>.nth input_beam 2)] <br>
- <span class="keyword">else</span> raise (<span class="constructor">Evaluation_Error</span> <span class="string">"Ident select2"</span>)<br>
-<br>
- <span class="keywordsign">|</span><span class="constructor">Selectthree</span> <span class="keywordsign">-></span> <span class="keyword">if</span> n = 4 <span class="keyword">then</span> [signal_select3 (<span class="constructor">List</span>.nth input_beam 0) (<span class="constructor">List</span>.nth input_beam 1) <br>
- (<span class="constructor">List</span>.nth input_beam 2) (<span class="constructor">List</span>.nth input_beam 3)] <br>
- <span class="keyword">else</span> raise (<span class="constructor">Evaluation_Error</span> <span class="string">"Ident select3"</span>)<br>
-<br>
- <span class="keywordsign">|</span><span class="constructor">Prefix</span> <span class="keywordsign">-></span> <span class="keyword">if</span> n = 2 <span class="keyword">then</span> [signal_prefix (<span class="constructor">List</span>.nth input_beam 0) (<span class="constructor">List</span>.nth input_beam 1)] <br>
- <span class="keyword">else</span> raise (<span class="constructor">Evaluation_Error</span> <span class="string">"Ident prefix"</span>)<br>
-<br>
- <span class="keywordsign">|</span><span class="constructor">Mod</span> <span class="keywordsign">-></span> <span class="keyword">if</span> n = 2 <span class="keyword">then</span> [signal_mod (<span class="constructor">List</span>.nth input_beam 0) (<span class="constructor">List</span>.nth input_beam 1)] <br>
- <span class="keyword">else</span> raise (<span class="constructor">Evaluation_Error</span> <span class="string">"Ident %"</span>)<br>
-<br>
- <span class="keywordsign">|</span><span class="constructor">Larger</span> <span class="keywordsign">-></span> <span class="keyword">if</span> n = 2 <span class="keyword">then</span> [signal_sup (<span class="constructor">List</span>.nth input_beam 0) (<span class="constructor">List</span>.nth input_beam 1)] <br>
- <span class="keyword">else</span> raise (<span class="constructor">Evaluation_Error</span> <span class="string">"Ident >"</span>)<br>
-<br>
- <span class="keywordsign">|</span><span class="constructor">Smaller</span> <span class="keywordsign">-></span> <span class="keyword">if</span> n = 2 <span class="keyword">then</span> [signal_inf (<span class="constructor">List</span>.nth input_beam 0) (<span class="constructor">List</span>.nth input_beam 1)] <br>
- <span class="keyword">else</span> raise (<span class="constructor">Evaluation_Error</span> <span class="string">"Ident <"</span>)</code></body></html>
\ No newline at end of file