A small erratum &lt;*|||&gt; has type (b -&gt; c) (a -&gt; a1 -&gt; a2 -&gt; b) a a1 a3 and it is nicer to add more * by defining these functions:<br>con = (flip.) .(.)<br><br>(&lt;**&gt;) = flip<br>(&lt;***&gt;) = con (&lt;**&gt;)<br>

(&lt;****&gt;) = con (&lt;***&gt;)<br>(&lt;*****&gt;) = con (&lt;****&gt;)<br><br><br>Then the serie of &lt;**|&gt; gets:<br><br>(&lt;*****|&gt;) = (&lt;*|&gt;).(&lt;*****&gt;)<br>(&lt;****|&gt;) = (&lt;*|&gt;).(&lt;****&gt;)<br>

(&lt;***|&gt;) = (&lt;*|&gt;).(&lt;***&gt;)<br>(&lt;**|&gt;) = (&lt;*|&gt;).(&lt;**&gt;)<br>(&lt;*|&gt;) = (.)<br><br>Now they behave more like (.), Eg: &lt;**|&gt; :: (a -&gt; b -&gt; c) (a1 -&gt; b) -&gt; a1 -&gt; a -&gt; c<br>

<br>And the rest becomes:<br><br>(&lt;**||&gt;) = (&lt;*||&gt;).(&lt;**&gt;)<br>(&lt;**|||&gt;) = (&lt;*|&gt;).(&lt;**||&gt;)<br>(&lt;**||||&gt;) = (&lt;*|&gt;).(&lt;**|||&gt;)<br>(&lt;***||&gt;) =  (&lt;*||&gt;).(&lt;***&gt;)   <br>

(&lt;***|||&gt;) = (&lt;*|&gt;).(&lt;***||&gt;)<br><br><br><br><br><br><div class="gmail_quote">On Mon, Mar 29, 2010 at 2:04 AM, edgar klerks <span dir="ltr">&lt;<a href="mailto:edgar.klerks@gmail.com">edgar.klerks@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">He All,<br><br>I was toying a bit around and found a function, which combines an function of arity 1 with 2. <br>

Then I produced a whole sequence of these function, the number of * stands for the arity of the left function and the number of | stands for arity the right function. so &lt;*|||&gt; :: (b -&gt; c -&gt; d) -&gt; (a -&gt; c) -&gt; a -&gt; b -&gt; d:<br>


<br>(&lt;*****|&gt;) = flip (&lt;*|||||&gt;)<br>(&lt;****|&gt;) = flip (&lt;*||||&gt;)<br>(&lt;***|&gt;) = flip (&lt;*|||&gt;)<br>(&lt;**|&gt;) = flip (&lt;*||&gt;)<br>(&lt;*|&gt;) = (.)<br>(&lt;*||&gt;) = (&lt;*|&gt;).(&lt;*|&gt;)<br>


(&lt;*|||&gt;) =(&lt;*||&gt;).(&lt;*|&gt;)<br>(&lt;*||||&gt;) = (&lt;*||&gt;).(&lt;*||&gt;)<br>(&lt;*|||||&gt;) = (&lt;*||||&gt;).(&lt;*|&gt;)<br><br>con = (flip.) .(.)<br>(&lt;**||&gt;) = (&lt;*||&gt;).flip <br>(&lt;**|||&gt;) = (&lt;*|&gt;).(&lt;**||&gt;)<br>


(&lt;**||||&gt;) = (&lt;*|&gt;).(&lt;**|||&gt;)<br>(&lt;***||&gt;) =  (&lt;*||&gt;).(con flip)<br>(&lt;***|||&gt;) = (&lt;*|&gt;).(&lt;***||&gt;)<br>(&lt;****||&gt;) = (&lt;*||&gt;).(con.con $ flip)<br><br>I found it interesting, but now I am stuck. is it possible to make the stars addable instead of the | or both?<br>


<br>Greets,<br><br>Edgar<br><font color="#888888">Edgar <br><br> <br>
</font></blockquote></div><br><br clear="all"><br>-- <br>Flatliner ICT Service,<br>Email: <a href="mailto:Edgar.klerks@gmail.com">Edgar.klerks@gmail.com</a>,<br>Tel: +31727851429<br>Fax: +31848363080<br>Skype: edgar.klerks<br>

Website: <a href="http://flatlinerict.nl">flatlinerict.nl</a><br>Adres: Koelmalaan 258,<br>1813JD, Alkmaar<br>Nederland<br>