Template Haskell changes to names and package keys

Edward Z. Yang ezyang at mit.edu
Mon May 4 20:58:52 UTC 2015


Hello Richard,

Thanks for the comments.

I've created a wiki page here:
https://ghc.haskell.org/trac/ghc/wiki/TemplateHaskell/PackageKeyChanges

> packageVersionString :: Package -> String   -- maybe use a newtype here? or the proper Cabal datatype?
> packageName          :: Package -> String   -- use the old PkgName here? or is that confusing?
> 
> packageDependencies :: Package -> Q [Package]
>   -- could be very useful in printing debugging information. Then, if you're writing a library that
>   -- is sensitive to dependency versions, you can print this info out when you panic

OK, we can plan on adding this information.

> I'm -1 on #3 if it will break code. You can already get current
> package information through the `qLocation` function.

This is true. However, qLocation returns a String. Should we change
it to return a PkgKey? (Could break users of the information.)

I don't know know if the name and version should get newtyped.  If we
do newtype them, should qLocation also be updated accordingly?

Thanks,
Edward


More information about the Libraries mailing list