[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 1998-12-08 (18:51) |
From: | akay@s... |
Subject: | RE: Functional composition operator? |
John Whitley raised again a question that I had asked earlier. We were converting source from caml to ocaml, and needed to change our infix operator for function compostion. We found the performance and accuracy of the ocaml compiler (relative to the caml compiler) to be excellent. There were only two teething problems in our 1.2MB of source code, once all the syntax changes had been sorted out with the help of caml2csl, and these were resolved within a day. (Both were to do with questionable code of our own, which probably should not have worked in caml, but which somehow did.) This seems to us to be an amazing achievement of the ocaml development team, and gives us confidence in using and recommending ocaml in the future. From: John Whitley <whitley@cse.buffalo.edu> > is there a consensus for choice of infix composition operator? In the end we settled on >> and << for forward and reverse composition respectively, satisfying the equations: (f << g) x = f (g x) = (g >> f) x The chevrons give a nice feeling of a data pipeline running from g to f in each case. Since composition is associative (in the absence of side effects) we can write (f << g << h << i), which is more elegant than (compose (compose (compose f g) h) i), without fear of being misunderstood. We're still interested to know if other people have different approaches. Best wishes Andrew Kay -- Sharp Labs Europe Ltd, Oxford Science Park, Oxford, UK, OX4 4GB Andrew.Kay@sharp.co.uk Tel:+44 1865 747711 FAX:+44 1865 747717