
Hi all, Historically, Data.HashTable has been in base because Data.Typeable used it, but that is no longer the case. I propose that we: * Mark it as deprecated in the base that comes with GHC 7.6. * Remove it from the base that comes with GHC 7.8. Rationale: * Historically there have been performance problems with it, and we have been recommending people not to use it. I'm not sure if that's still the case or not. * If it is still useful then it would fit better in the containers package. However, as there is no reason that it needs to be tied to the GHC release schedule etc, it would be even better to put it in another package. In GHC, deSugar/Coverage.lhs does use the module, but only for hashString. We could put this elsewhere in base, but I think it would be better just to copy the definition into the GHC source. Suggested discussion deadline: Fri 29 June 2012. Thanks Ian

On Thu, Jun 14, 2012 at 2:04 PM, Ian Lynagh
Hi all,
Historically, Data.HashTable has been in base because Data.Typeable used it, but that is no longer the case.
I propose that we: * Mark it as deprecated in the base that comes with GHC 7.6. * Remove it from the base that comes with GHC 7.8.
Sounds good to me. We should move some HashTable implementation into containers. I don't know about this particular one. I'm leaning towards using one from the hashtables package as it 1) uses type classes which optimize better and 2) give us better guarantees (i.e. two Int keyed hash tables will use the same hash function.) For that to happen hashable needs to move into the platform as well. -- Johan

On Thu, Jun 14, 2012 at 2:16 PM, Johan Tibell
For that to happen hashable needs to move into the platform as well.
I'd be in favour of that. This would also make it possible to either add unordered-containers to the platform, or (preferably) merge unordered-containers into containers.

On 14/06/2012 22:04, Ian Lynagh wrote:
Historically, Data.HashTable has been in base because Data.Typeable used it, but that is no longer the case.
I propose that we: * Mark it as deprecated in the base that comes with GHC 7.6. * Remove it from the base that comes with GHC 7.8.
Rationale: * Historically there have been performance problems with it, and we have been recommending people not to use it. I'm not sure if that's still the case or not. * If it is still useful then it would fit better in the containers package. However, as there is no reason that it needs to be tied to the GHC release schedule etc, it would be even better to put it in another package.
In GHC, deSugar/Coverage.lhs does use the module, but only for hashString. We could put this elsewhere in base, but I think it would be better just to copy the definition into the GHC source.
Suggested discussion deadline: Fri 29 June 2012.
+1 I'm sure the implementations from the hashtables package are much better anyway. Cheers, Simon

On 6/14/12 5:04 PM, Ian Lynagh wrote:
Hi all,
Historically, Data.HashTable has been in base because Data.Typeable used it, but that is no longer the case.
I propose that we: * Mark it as deprecated in the base that comes with GHC 7.6. * Remove it from the base that comes with GHC 7.8.
+1. -- Live well, ~wren

+1
On Thu, Jun 14, 2012 at 5:04 PM, Ian Lynagh
Hi all,
Historically, Data.HashTable has been in base because Data.Typeable used it, but that is no longer the case.
I propose that we: * Mark it as deprecated in the base that comes with GHC 7.6. * Remove it from the base that comes with GHC 7.8.
Rationale: * Historically there have been performance problems with it, and we have been recommending people not to use it. I'm not sure if that's still the case or not. * If it is still useful then it would fit better in the containers package. However, as there is no reason that it needs to be tied to the GHC release schedule etc, it would be even better to put it in another package.
In GHC, deSugar/Coverage.lhs does use the module, but only for hashString. We could put this elsewhere in base, but I think it would be better just to copy the definition into the GHC source.
Suggested discussion deadline: Fri 29 June 2012.
Thanks Ian
_______________________________________________ Libraries mailing list Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries

On Thu, Jun 14, 2012 at 10:04:15PM +0100, Ian Lynagh wrote:
Historically, Data.HashTable has been in base because Data.Typeable used it, but that is no longer the case.
I propose that we: * Mark it as deprecated in the base that comes with GHC 7.6. * Remove it from the base that comes with GHC 7.8.
Unanimous support, so applied. Thanks Ian
participants (8)
-
Bryan O'Sullivan
-
Edward Kmett
-
Herbert Valerio Riedel
-
Ian Lynagh
-
Ian Lynagh
-
Johan Tibell
-
Simon Marlow
-
wren ng thornton