Sebastian Sylvan writes:
Points free style is cool in a geeky sort of way, but not really all that useful when you're trying to write clear code that people can actually understand.
That's true of badly-written point-free code, certainly. However, anyone who has spent time doing shell scripting in UNIX should be fairly comfortable with function composition in principle. Here's some code I wrote when I was playing around with an RDF combinator library: tsArcFwd s p = maybe [] id . Map.lookup (s,p) . store_sp tsArcBwd p o = maybe [] id . Map.lookup (p,o) . store_po I suppose a point-wise version of these would look like this: tsArcFwd s p ts = maybe [] id (Map.lookup (s,p) (store_sp ts)) or this: tsArcFwd s p ts = case Map.lookup (s,p) (store_sp ts) of Just xs -> xs Nothing -> [] Here's another one: addTriple (s,p,o) = addArc s p o . addNode s . addNode p . addNode o I like to think it's pretty straightforward. I suppose you could argue that these are examples of "semi-point-free" style, or something. Certainly, I wouldn't want to rewrite tsArcFwd or addTriple into fully point-free style. -- David Menendez <zednenem@psualum.com> | "In this house, we obey the laws <http://www.eyrie.org/~zednenem> | of thermodynamics!"