Ross Paterson wrote:
I would make "API extended only" a bit more precise: any module that uses
explicit import lists will not be affected by the changes.  So one can
add classes, types and functions, but not instances (except where either
the class or the type is new).

okay

You probably can't add data constructors
or fields, and have to be careful with new methods.

If they're exported and new members of existing classes/datatypes, then you can't add them, because they might be imported with "class/typename(..)". (right?)

What about semantic changes to the API? Including, adding a default to a class method changes the default from 'undefined', which someone might have relied on as the default (although it seems unlikely).

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

Reply via email to