In search of: [a->b] -> a -> [b]
Keith Wansbrough
Keith.Wansbrough@cl.cam.ac.uk
Wed, 18 Jun 2003 11:34:29 +0100
> >or breakin' out the point-free style,
> > flist = flip (map . flip ($)) -- okay, so I wouldn't recommend this
>
> I keep on reading about this "point free style", but can't find any
> discussion of it. Are there any pointers (sic) ?
Search for "Squiggol" or "Bird-Meertens Formalism". A group of
functional programmers at Oxford. (Richard Bird and Lambert Meertens
are the ones the formalism was named after).
I see some citations of
Backus, J. 1978. "Can Programming Be Liberated from the von Neumann
Style? A Functional Style and Its Algebra of Programs," Communications
of the Association for Computing Machinery 21:613-641.
which appears to be available (as a scan) at, amongst others,
http://www.stanford.edu/class/cs242/readings/backus.pdf
Another source is
http://web.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/index.html#radix
(Jeremy Gibbons introduced me to the concept when I was an
undergraduate).
This is an introduction to Squiggol:
http://web.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/index.html#squiggolintro
This style underlies a lot of expert Haskeller's intuitions. The mass
of cute symbols can drive you crazy, though... see Erik Meijer et
al.'s paper _Functional Programming with Bananas, Lenses, and Barbed
Wire_:
http://www.cse.ogi.edu/~erik/Personal/classic.htm
Hope this helps.
(going on the Wiki as PointFreeStyle, linked from CommonHaskellIdioms).
--KW 8-)