darcs patch: add Data.Set.notMember and Data.Map.notMember

Isto Aho isto.aho at dnainternet.net
Fri Mar 10 09:28:45 EST 2006

Johannes Waldmann wrote:

>>If "not" is so easy and simple, why do we have both break and span ;)
>OK, drop break. I mean, ( not . take ) break. Or something like that.
>"In anything at all, perfection is finally attained, not when there is
>no longer anything to add, but when there is no longer anything to take
>away..."    Antoine de Saint-Exupery, Wind, Sand and Stars
For newbies like me, being a bit more verbose over being terse
is the same thing as making things easier and faster to learn etc.

The second problem is that where do you draw the line?
If you have a small working set of basic primitives,
you can build everything on top of them separately: there is
no need for libraries at all... :)

Which reminds me of the language
called Dyalog APL: it was delivered with a set of "programming idioms"
(say 1000 or something), shorter and longer one-liners that
can do nice things on matrices etc but as a user, I should
copy them to my own code or to design my own library based on
them.  (And this is fustrating.)

I wonder, why they don't provide a library or several libraries
containing those idioms as helper functions.

That does not do any harm while I consider the habit of copying the
same idiom several times a bad habit. If there is a need to change it,
it means more work over doing a change in one place (by e.g. overriding
the usual lib definition by reading the function from some other lib etc).
And if there is a need to go over every line, it is still easier to change
a name to another than a programming construct.

br Isto

More information about the Libraries mailing list