
data TyCon = TyCon { tyConHash :: {-# UNPACK #-} !Fingerprint, -- ^ @since 4.8.0.0 tyConPackage :: String, -- ^ @since 4.5.0.0 tyConModule :: String, -- ^ @since 4.5.0.0 tyConName :: String -- ^ @since 4.5.0.0 } Friends, Is tyConHash a good name here? Wouldn't tyConFingerprint be better? * Hash functions usually yield a Int. * tyConFingerprint :: TyCon -> Fingerprint makes the name match the type. * If we had fingerprintHash:: Fingerprint -> Int, then we might want tyConHash :: TyCon -> Int tyConHash = fingerprintHash . tyConFingerpring This is new in 7.10, so we could fix it now with no trouble. Simon

I like your idea of using tyConHash for the Int version and
tyConFingerprint to refer to the Fingerprint.
The former fits more closely with the usage elsewhere e.g. hashUnique,
hashStableName.
-Edward
On Wed, Mar 11, 2015 at 5:39 AM, Simon Peyton Jones
data TyCon = TyCon {
tyConHash :: {-# UNPACK #-} !Fingerprint, -- ^ @since 4.8.0.0
tyConPackage :: String, -- ^ @since 4.5.0.0
tyConModule :: String, -- ^ @since 4.5.0.0
tyConName :: String -- ^ @since 4.5.0.0
}
Friends,
Is tyConHash a good name here? Wouldn’t tyConFingerprint be better?
· Hash functions usually yield a Int.
· tyConFingerprint :: TyCon -> Fingerprint makes the name match the type.
· If we had fingerprintHash:: Fingerprint -> Int, then we might want tyConHash :: TyCon -> Int tyConHash = fingerprintHash . tyConFingerpring
This is new in 7.10, so we could fix it now with no trouble.
Simon
-- You received this message because you are subscribed to the Google Groups "haskell-core-libraries" group. To unsubscribe from this group and stop receiving emails from it, send an email to haskell-core-libraries+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/d/optout.

On 2015-03-11 at 10:39:41 +0100, Simon Peyton Jones wrote: [...]
This is new in 7.10, so we could fix it now with no trouble. Simon
Here's a bit more background information: Afaics, tyConHash was introduced in http://git.haskell.org/ghc.git/commitdiff/e0b63e02b78d0bd31a073738b1154a93d2... and it was recently re-exported via http://git.haskell.org/ghc.git/commitdiff/56e0ac98c3a439b8757a2e886db259270b... which followed the same questionable naming scheme for the really new 'typeRepHash' field accessor

Yes, but the original 'tyConHash' was not exported, so no one will be annoyed if we change its name. We only started exporting it recently. Hence my suggestion to change its name to tyConFingerprint. Simon | -----Original Message----- | From: Herbert Valerio Riedel [mailto:hvriedel@gmail.com] | Sent: 11 March 2015 09:48 | To: Simon Peyton Jones | Cc: ghc-devs@haskell.org; core-libraries-committee@haskell.org | Subject: Re: [core libraries] tyConHash -- quick fix? | | On 2015-03-11 at 10:39:41 +0100, Simon Peyton Jones wrote: | | [...] | | > This is new in 7.10, so we could fix it now with no trouble. | > Simon | | Here's a bit more background information: | | Afaics, tyConHash was introduced in | | | http://git.haskell.org/ghc.git/commitdiff/e0b63e02b78d0bd31a073738b1154 | a93d22dccca | | and it was recently re-exported via | | | http://git.haskell.org/ghc.git/commitdiff/56e0ac98c3a439b8757a2e886db25 | 9270bdc85f0 | | which followed the same questionable naming scheme for the really new | 'typeRepHash' field accessor |

SGTM. I'm probably the only user of the newly exported symbol (by using it
in hashable).
On Thu, Mar 12, 2015 at 1:38 AM, Simon Peyton Jones
Yes, but the original 'tyConHash' was not exported, so no one will be annoyed if we change its name. We only started exporting it recently. Hence my suggestion to change its name to tyConFingerprint.
Simon
| -----Original Message----- | From: Herbert Valerio Riedel [mailto:hvriedel@gmail.com] | Sent: 11 March 2015 09:48 | To: Simon Peyton Jones | Cc: ghc-devs@haskell.org; core-libraries-committee@haskell.org | Subject: Re: [core libraries] tyConHash -- quick fix? | | On 2015-03-11 at 10:39:41 +0100, Simon Peyton Jones wrote: | | [...] | | > This is new in 7.10, so we could fix it now with no trouble. | > Simon | | Here's a bit more background information: | | Afaics, tyConHash was introduced in | | | http://git.haskell.org/ghc.git/commitdiff/e0b63e02b78d0bd31a073738b1154 | a93d22dccca | | and it was recently re-exported via | | | http://git.haskell.org/ghc.git/commitdiff/56e0ac98c3a439b8757a2e886db25 | 9270bdc85f0 | | which followed the same questionable naming scheme for the really new | 'typeRepHash' field accessor |
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
participants (4)
-
Edward Kmett
-
Herbert Valerio Riedel
-
Johan Tibell
-
Simon Peyton Jones