relaxing instance declarations

Edward Kmett ekmett at
Sun Apr 28 19:42:34 CEST 2013

Makes sense. I'm not sure what a good syntactic story would be for that feature though. Just writing down member names that aren't in the class seems to be too brittle and error prone, and new keywords seems uglier than the current situation.

Sent from my iPad

On Apr 28, 2013, at 1:24 PM, Doug McIlroy <doug at> wrote:

> Not always. For example, you can't mess with the declaration
> of a standard class, such as Num.
> On Sun, Apr 28, 2013 at 12:06 PM, Edward Kmett <ekmett at> wrote:
>> You can always put those helper functions in the class and then just not
>> export them from the module.
> On Sun, Apr 28, 2013 at 10:49 AM, Doug McIlroy <doug at>wrote:
>> Is there any strong reason why the where clause in an instance
>> declaration cannot declare anything other than class
>> operators? If not, I suggest relaxing the restriction.
>> It is not unusual for declarations of class operators to
>> refer to special auxiliary functions. Under current rules
>> such functions have to be declared outside the scope in
>> which they are used.
>> Doug McIlroy

More information about the Haskell-prime mailing list