
On Wed, Oct 27, 2010 at 9:01 AM, Bas van Dijk
On Wed, Oct 27, 2010 at 7:57 AM, Michael Snoyman
wrote: On Wed, Oct 27, 2010 at 7:51 AM, Bas van Dijk
wrote: On Tue, Oct 26, 2010 at 9:09 PM, Henning Thielemann
wrote: 4. In the future you may deprecate the immediate use of 'sizeOf' and 'alignment'.
We could deprecate sizeOf immediately in favor of sizeOfTagged. Deprecating it doesn't break any code but does gives warnings so that users are encouraged to upgrade. I don't see a reason to wait.
We can't immediately switch to using sizeOfTagged since many people will still be using old versions of base. If we waited one cycle to deprecate the old functions, it won't annoy people. By the next cycle, in theory a majority of people will already have sizeOfTagged, and it would be feasible to switch our code to sizeOf.
Yes, that's what I meant. We should {-# DEPRECATE #-} sizeOf now and provide sizeOfTagged as an alternative. In a further cycle we can remove sizeOf.
My point is that if you use DEPRECATE immediately, no one will be able to compile with -Wall -Werror. No one can reasonably switch over to sizeOfTagged until at least the next cycle, and by putting in a deprecation immediately, we'll start generating warnings immediately for writing code in the only reasonable way possible. There is of course the possibility of conditional compilation, but I like to avoid that whenever possible. Michael