I would definitely prefer to have the Data/Typeable instances in the 'time' package itself wrapped with the same sort of prophylactic baggage that surrounds it in the containers, bytestring, and other haskell platform packages. It would be far less likely to cause confusion in the future than with the profusion of solutions we see today:

* some packages providing it
* others requiring a third-party package
* and yet others not exposing enough details for third-party support to be written at all

Regardless, some canonical location for those instances needs to exist to prevent people from rolling their own contradictory instances.

So I'm a strong +1 to just including the instances in an appropriate wrapper to be extended as more compilers add support, and a reluctant but still sturdy +1 if you really feel that those instances really can't be in good conscience be rolled into time.

-Edward Kmett

On Mon, Mar 22, 2010 at 4:27 AM, Ashley Yakeley <ashley@semantic.org> wrote:
Malcolm Wallace wrote:
At the time of that objection, I did not realise that "time" already required Rank2.  My preference would be for "time"s dependency on ReadP to be removed in favour of a H'98 parsing combinator library, thus bringing "time" back to true portability.

(Back in the autumn, I did spend some time attempting to re-code "time"s parsing code precisely to remove the ReadP dep, but never completed it.)

However, you might consider that a step too far, in which case adding the Rank2-requiring Data instances into "time" might be the better solution for you.

Merging the Data instances into "time" is certainly my preference. But if there were consensus for it and code for it, I would consider a solution that made "time" not require Rank2.

--
Ashley Yakeley

_______________________________________________
Libraries mailing list
Libraries@haskell.org
http://www.haskell.org/mailman/listinfo/libraries