On 10/11/2010, at 10:59 PM, John Smith wrote:
> Obvious benefits of this are that conflicting function names
> from imported modules can be used without qualification (verbose) 

Why is making life harder for people reading the code counted as
a "benefit"?

Let me offer an example from another language.

        aStream next    => consume an item from an input stream
                           and return it
        aDate next      => same as (aDate addDays: 1).

How do I cope in Smalltalk?  Simple: you don't put the type name in the
*function*, you put the type name in the *variable*.  If the code says

        frobnitz next

I haven't the least clue what it does or where to look to find out.

> it is often desirable to have the same field names
> for many records in the same module.

I'm not sure that it is desirable to have "many records in the
same module" in the first place.

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to