Function composition: Difference between revisions

Jump to navigation Jump to search
add comb log eqv.
m (Text replacement - "<source" to "<syntaxhighlight")
(add comb log eqv.)
 
Line 31: Line 31:
=== Summary of rules ===
=== Summary of rules ===


The above compositions can be summarised as follows:
The above compositions can be summarised as follows, including their [[wikipedia:combinatory logic|combinatory logic]] equivalents:


<syntaxhighlight lang=apl inline>  (f⍛g  ) ⍵</syntaxhighlight> {{←→}} <syntaxhighlight lang=apl inline>(  f ⍵) g      ⍵ </syntaxhighlight><br>
{| class=wikitable
<syntaxhighlight lang=apl inline>⍺ (f⍛g  ) ⍵</syntaxhighlight> {{←→}} <syntaxhighlight lang=apl inline>(  f ⍺) g      ⍵ </syntaxhighlight><br>
! Tacit form !! Explicit form !! Function Abstraction !! Symbol !! Bird Name
<syntaxhighlight lang=apl inline>  (  g∘h) ⍵</syntaxhighlight> {{←→}} <syntaxhighlight lang=apl inline>        g (  h ⍵)</syntaxhighlight><br>
|-
<syntaxhighlight lang=apl inline>⍺ (  g∘h) ⍵</syntaxhighlight> {{←→}} <syntaxhighlight lang=apl inline>   ⍺    g (  h ⍵)</syntaxhighlight><br>
| <syntaxhighlight lang=apl inline>  (f⍛g  ) ⍵</syntaxhighlight> || <syntaxhighlight lang=apl inline>(  f ⍵) g      ⍵ </syntaxhighlight> || λabc.a(bc)c || style="text-align:center" | Σ || Violet Starling
 
|-
<syntaxhighlight lang=apl inline>  (  g⍤h) ⍵</syntaxhighlight> {{←→}} <syntaxhighlight lang=apl inline>        g (  h ⍵)</syntaxhighlight><br>
| <syntaxhighlight lang=apl inline>⍺ (f⍛g  ) ⍵</syntaxhighlight> || <syntaxhighlight lang=apl inline>(  f ⍺) g      ⍵ </syntaxhighlight> ||  λabcd.a(bc)d || style="text-align:center" | Δ || Zebra Dove
<syntaxhighlight lang=apl inline>⍺ (  g⍤h) ⍵</syntaxhighlight> {{←→}} <syntaxhighlight lang=apl inline>        g (⍺ h ⍵)</syntaxhighlight><br>
|-
<syntaxhighlight lang=apl inline>  (  g⍥h) ⍵</syntaxhighlight> {{←→}} <syntaxhighlight lang=apl inline>        g (  h ⍵)</syntaxhighlight><br>
| <syntaxhighlight lang=apl inline>  (  g∘h) ⍵</syntaxhighlight> || <syntaxhighlight lang=apl inline>        g (  h ⍵)</syntaxhighlight> || λabc.a(bc) || style="text-align:center" | B || Bluebird
<syntaxhighlight lang=apl inline>⍺ (  g⍥h) ⍵</syntaxhighlight> {{←→}} <syntaxhighlight lang=apl inline>(  h ⍺) g (  h ⍵)</syntaxhighlight><br>
|-
 
| <syntaxhighlight lang=apl inline>⍺ (  g∘h) ⍵</syntaxhighlight> || <syntaxhighlight lang=apl inline>   ⍺    g (  h ⍵)</syntaxhighlight> || λabcd.ab(cd) || style="text-align:center" | D ||| Dove
<syntaxhighlight lang=apl inline>  (  g h) ⍵</syntaxhighlight> {{←→}} <syntaxhighlight lang=apl inline>        g (  h ⍵)</syntaxhighlight><br>
|-
<syntaxhighlight lang=apl inline>⍺ (  g h) ⍵</syntaxhighlight> {{←→}} <syntaxhighlight lang=apl inline>        g (⍺ h ⍵)</syntaxhighlight><br>
|
<syntaxhighlight lang=apl inline>  (f g h) ⍵</syntaxhighlight> {{←→}} <syntaxhighlight lang=apl inline>(  f ⍵) g (  h ⍵)</syntaxhighlight><br>
|-
<syntaxhighlight lang=apl inline>⍺ (f g h) ⍵</syntaxhighlight> {{←→}} <syntaxhighlight lang=apl inline>(⍺ f ⍵) g (⍺ h ⍵)</syntaxhighlight><br>
| <syntaxhighlight lang=apl inline>  (  g⍤h) ⍵</syntaxhighlight> || <syntaxhighlight lang=apl inline>        g (  h ⍵)</syntaxhighlight> || λabc.a(bc) || style="text-align:center" | B || Bluebird
 
|-
<syntaxhighlight lang=apl inline>  (A∘g  ) ⍵</syntaxhighlight> {{←→}} <syntaxhighlight lang=apl inline>   A    g      ⍵ </syntaxhighlight><br>
| <syntaxhighlight lang=apl inline>⍺ (  g⍤h) ⍵</syntaxhighlight> || <syntaxhighlight lang=apl inline>        g (⍺ h ⍵)</syntaxhighlight> || λabcd.a(bcd) || style="text-align:center" | B<sub>1</sub> || Blackbird
<syntaxhighlight lang=apl inline>  (  g∘A) ⍵</syntaxhighlight> {{←→}} <syntaxhighlight lang=apl inline>   ⍵    g      A </syntaxhighlight><br>
|-
<syntaxhighlight lang=apl inline>  (A g h) ⍵</syntaxhighlight> {{←→}} <syntaxhighlight lang=apl inline>   A    g (  h ⍵)</syntaxhighlight><br>
| <syntaxhighlight lang=apl inline>  (  g⍥h) ⍵</syntaxhighlight> || <syntaxhighlight lang=apl inline>        g (  h ⍵)</syntaxhighlight> || λabc.a(bc) || style="text-align:center" | B || Bluebird
<syntaxhighlight lang=apl inline>⍺ (A g h) ⍵</syntaxhighlight> {{←→}} <syntaxhighlight lang=apl inline>   A    g (⍺ h ⍵)</syntaxhighlight><br>
|-
| <syntaxhighlight lang=apl inline>⍺ (  g⍥h) ⍵</syntaxhighlight> || <syntaxhighlight lang=apl inline>(  h ⍺) g (  h ⍵)</syntaxhighlight> || λabcd.a(bc)(bd) || style="text-align:center" | Ψ ||
|-
|
|-
| <syntaxhighlight lang=apl inline>  (  g h) ⍵</syntaxhighlight> || <syntaxhighlight lang=apl inline>        g (  h ⍵)</syntaxhighlight> || λabc.a(bc) || style="text-align:center" | B || Bluebird
|-
| <syntaxhighlight lang=apl inline>⍺ (  g h) ⍵</syntaxhighlight> || <syntaxhighlight lang=apl inline>        g (⍺ h ⍵)</syntaxhighlight> || λabcd.a(bcd) || style="text-align:center" | B<sub>1</sub> || Blackbird
|-
| <syntaxhighlight lang=apl inline>  (f g h) ⍵</syntaxhighlight> || <syntaxhighlight lang=apl inline>(  f ⍵) g (  h ⍵)</syntaxhighlight> || λabcd.a(bd)(cd) || style="text-align:center" | Φ || Phoenix
|-
| <syntaxhighlight lang=apl inline>⍺ (f g h) ⍵</syntaxhighlight> || <syntaxhighlight lang=apl inline>(⍺ f ⍵) g (⍺ h ⍵)</syntaxhighlight> || λabcde.a(bde)(cde) || style="text-align:center" | Φ<sub>1</sub> || Pheasant
|-
|
|-
| <syntaxhighlight lang=apl inline>  (A∘g  ) ⍵</syntaxhighlight> || <syntaxhighlight lang=apl inline>   A    g      ⍵ </syntaxhighlight> || || ||
|-
| <syntaxhighlight lang=apl inline>  (  g∘A) ⍵</syntaxhighlight> || <syntaxhighlight lang=apl inline>   ⍵    g      A </syntaxhighlight> || || ||
|-
| <syntaxhighlight lang=apl inline>  (A g h) ⍵</syntaxhighlight> || <syntaxhighlight lang=apl inline>   A    g (  h ⍵)</syntaxhighlight> || || ||
|-
| <syntaxhighlight lang=apl inline>⍺ (A g h) ⍵</syntaxhighlight> || <syntaxhighlight lang=apl inline>   A    g (⍺ h ⍵)</syntaxhighlight> || || ||
|}


== Additional compositions ==
== Additional compositions ==

Navigation menu