<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Dominic Steinitz schrieb:
<blockquote cite="mid:loom.20070925T110408-338@post.gmane.org"
 type="cite">
  <pre wrap="">Andrew Coppin &lt;andrewcoppin &lt;at&gt; btinternet.com&gt; writes:

  </pre>
  <blockquote type="cite">
    <pre wrap="">I just found it rather surprising. Every time *I* try to compose with 
functions of more than 1 argument, the type checker complains. 
Specifically, suppose you have

  foo = f3 . f2 . f1

Assuming those are all 1-argument functions, it works great. But if f1 
is a *two* argument function (like map is), the type checker refuses to 
allow it, and I have to rewrite it as

  foo x y = f3 $ f2 $ f1 x y

    </pre>
  </blockquote>
  <pre wrap=""><!---->Look at the type of (.).(.) which should tell you how to compose functions 
with more than one variable. Mind you, I don't think it improves readability.

Dominic.
  </pre>
</blockquote>
<tt>Interesting function. It got a sibling: (.)(.) :: (a1 -&gt; b -&gt;
c) -&gt; a1 -&gt; (a -&gt; b) -&gt; a -&gt; c<br>
<br>
Anybody knows how to intepret that? I tried to call it with (++) "t"
(++"s") "it" but suddenly got distracted.<br>
<br>
</tt>
</body>
</html>