[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[no subject]
From: Kevin Hammond <kh@cs.glasgow.ac.uk>
Date: Mon, 22 Oct 90 12:10:34 BST
To: colin@minster.york.ac.uk, haskell@cs.glasgow.ac.uk
Sender: haskell-request@cs.glasgow.ac.uk
> re: sections
> ...
> B. a function application: "(op) L" or "C (op) R"
> (where "C" is the usual combinator: C f x y = f y x.)
> ...
>
> The application style B. has a particularly nasty characteristic:
> a partial application to a left argument **looks** more like a partial
> application to a right argument. This makes the notation very error
> prone for non-commuting operators. It is difficult NOT to read
>
> filter ((<) x) ys
>
> as "the items in ys less than x", for example.
Given the desirability of retaining operators as functions, i.e.
allowing for example
lts = map (<)
how confusing is it for:
filter ((<) x) ys
to mean the opposite of:
filter (< x) ys
[Incidentally, there seems no violent opposition to operator sections amongst
committee members. Sections were deleted from the preliminary design
solely on the grounds of simplifying Haskell. Implementation is trivial,
of course.]
Kevin