PROPOSAL: re-export 'Typeable' type-class from Prelude

Michael Snoyman michael at snoyman.com
Thu Sep 11 10:21:20 UTC 2014


On Thu, Sep 11, 2014 at 1:20 PM, Herbert Valerio Riedel <hvr at gnu.org> wrote:

>
> TL;DR
> =====
>
> Re-export 'Data.Typeable.Typeable' from 'Prelude'
>
> Motivation
> ==========
>
> Since GHC 7.8 the ubiquitous 'Typeable' instances can only be
> auto-derived via `... deriving Typeable`, moreover there's a new
> extension `-XAutoDeriveTypeable` which implicitly auto-derives
> 'Typeable' for all defined types in modules for which that extension is
> enabled.
>
> However, even if you enable `-XAutoDeriveTypeable` you still need to
> explicitly bring the 'Typeable' class into scope, with e.g.
>
>     import Data.Typeable (Typeable)
>
> otherwise GHC complains with
>
>     Not in scope: type constructor or class ‘Typeable’
>
> Since at this point it's become current practice to have 'Typeable'
> instances for most types, it would be beneficial to save an 'import
> Data.Typeable (Typeable)' line for the sole purpose of deriving such
> instances.
>
> By having 'Prelude' re-export 'Typeable' from GHC 7.10 on (should this
> proposal be implemented) it would suffice to have a
>
>   default-extensions: -XAutoDeriveTypeable`
>
> in the Cabal file and have 'Typeable' instance auto-derived for all
> types defined in a package w/o any source changes (unless there's a
> name-clash with 'Typeable')
>
> Discussion period
> =================
>
> The usual 2 weeks
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://www.haskell.org/mailman/listinfo/libraries
>

+1
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/libraries/attachments/20140911/132fdd8c/attachment.html>


More information about the Libraries mailing list