28 lines
4.6 KiB
Plaintext
28 lines
4.6 KiB
Plaintext
-->
|
|
<span style="color: #004080;">sequence</span> <span style="color: #000000;">ctable</span> <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">{<span style="color: #0000FF;">}</span>
|
|
|
|
<span style="color: #008080;">function</span> <span style="color: #000000;">compose<span style="color: #0000FF;">(<span style="color: #004080;">integer</span> <span style="color: #000000;">f<span style="color: #0000FF;">,</span> <span style="color: #004080;">integer</span> <span style="color: #000000;">g<span style="color: #0000FF;">)</span>
|
|
<span style="color: #000000;">ctable</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">append<span style="color: #0000FF;">(<span style="color: #000000;">ctable<span style="color: #0000FF;">,<span style="color: #0000FF;">{<span style="color: #000000;">f<span style="color: #0000FF;">,<span style="color: #000000;">g<span style="color: #0000FF;">}<span style="color: #0000FF;">)</span>
|
|
<span style="color: #008080;">return</span> <span style="color: #7060A8;">length<span style="color: #0000FF;">(<span style="color: #000000;">ctable<span style="color: #0000FF;">)</span>
|
|
<span style="color: #008080;">end</span> <span style="color: #008080;">function</span>
|
|
|
|
<span style="color: #008080;">function</span> <span style="color: #000000;">call_composite<span style="color: #0000FF;">(<span style="color: #004080;">integer</span> <span style="color: #000000;">f<span style="color: #0000FF;">,</span> <span style="color: #004080;">atom</span> <span style="color: #000000;">x<span style="color: #0000FF;">)</span>
|
|
<span style="color: #004080;">integer</span> <span style="color: #000000;">g</span>
|
|
<span style="color: #0000FF;">{<span style="color: #000000;">f<span style="color: #0000FF;">,<span style="color: #000000;">g<span style="color: #0000FF;">}</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">ctable<span style="color: #0000FF;">[<span style="color: #000000;">f<span style="color: #0000FF;">]</span>
|
|
<span style="color: #008080;">return</span> <span style="color: #7060A8;">call_func<span style="color: #0000FF;">(<span style="color: #000000;">f<span style="color: #0000FF;">,<span style="color: #0000FF;">{<span style="color: #7060A8;">call_func<span style="color: #0000FF;">(<span style="color: #000000;">g<span style="color: #0000FF;">,<span style="color: #0000FF;">{<span style="color: #000000;">x<span style="color: #0000FF;">}<span style="color: #0000FF;">)<span style="color: #0000FF;">}<span style="color: #0000FF;">)</span>
|
|
<span style="color: #008080;">end</span> <span style="color: #008080;">function</span>
|
|
|
|
<span style="color: #008080;">function</span> <span style="color: #000000;">plus1<span style="color: #0000FF;">(<span style="color: #004080;">atom</span> <span style="color: #000000;">x<span style="color: #0000FF;">)</span>
|
|
<span style="color: #008080;">return</span> <span style="color: #000000;">x<span style="color: #0000FF;">+<span style="color: #000000;">1</span>
|
|
<span style="color: #008080;">end</span> <span style="color: #008080;">function</span>
|
|
|
|
<span style="color: #008080;">function</span> <span style="color: #000000;">halve<span style="color: #0000FF;">(<span style="color: #004080;">atom</span> <span style="color: #000000;">x<span style="color: #0000FF;">)</span>
|
|
<span style="color: #008080;">return</span> <span style="color: #000000;">x<span style="color: #0000FF;">/<span style="color: #000000;">2</span>
|
|
<span style="color: #008080;">end</span> <span style="color: #008080;">function</span>
|
|
|
|
<span style="color: #008080;">constant</span> <span style="color: #000000;">m</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">compose<span style="color: #0000FF;">(<span style="color: #7060A8;">routine_id<span style="color: #0000FF;">(<span style="color: #008000;">"halve"<span style="color: #0000FF;">)<span style="color: #0000FF;">,<span style="color: #7060A8;">routine_id<span style="color: #0000FF;">(<span style="color: #008000;">"plus1"<span style="color: #0000FF;">)<span style="color: #0000FF;">)</span>
|
|
|
|
<span style="color: #0000FF;">?<span style="color: #000000;">call_composite<span style="color: #0000FF;">(<span style="color: #000000;">m<span style="color: #0000FF;">,<span style="color: #000000;">1<span style="color: #0000FF;">)</span> <span style="color: #000080;font-style:italic;">-- displays 1</span>
|
|
<span style="color: #0000FF;">?<span style="color: #000000;">call_composite<span style="color: #0000FF;">(<span style="color: #000000;">m<span style="color: #0000FF;">,<span style="color: #000000;">4<span style="color: #0000FF;">)</span> <span style="color: #000080;font-style:italic;">-- displays 2.5
|
|
<!--
|