Proposal: Add (&) to Data.Function
Heinrich Apfelmus
apfelmus at quantentunnel.de
Fri Nov 23 12:34:23 CET 2012
Johan Tibell wrote:
> On Thursday, November 22, 2012, Joachim Breitner wrote:
>
>> Hi,
>>
>> -1 for adding such an operator at all. Languages benefit from consistnet
>> idiom; too many ways of doing the same thing are not always good.
>
>
> -1 for me for the same reason. After looking at examples in this thread I
> don't find that the loss in readability is worth it.
>
> Also for beginners I don't want to explain yet another way to write
> function application.
-1 from me as well.
The (#) operator is quite natural and useful in the diagrams library,
but the thing is that even though it is *implemented* as function
application, it is *semantically* not a function application. It only
serves to furnish shapes and diagrams with additional properties; it's
type is very restricted, so to speak.
Since the use cases mentioned (diagrams, lenses) are very similar,
perhaps there is a general combinator (&) that does the job for both,
but which has a much more restricted type and is not equivalent to
reverse function application. Maybe an abstraction like "Settable
functors", "Thingomorphisms with properties" or something like that.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
More information about the Libraries
mailing list