Stable name equality

Simon Peyton Jones simonpj at
Mon Aug 20 11:56:44 UTC 2018

I defer to SimonM but IIRC each stable name corresponds to an entry in the stable-name table; the index in the table is the “stable” thing in a stable name.  So I bet that comparison compares these indices.

If two stable names are pointer-equal, they presumably contain the same index into the table.

But is the reverse true?  That is, can we be sure that two pointer-distinct stable name objects contain different indices?


From: ghc-devs <ghc-devs-bounces at> On Behalf Of David Feuer
Sent: 19 August 2018 18:53
To: ghc-devs <ghc-devs at>
Subject: Stable name equality

eqStableName# is not currently defined as pointer equality. Is there some reason for this? My understanding is that there is a one-to-one correspondence between stable name objects and active stable name table entries, so pointer equality should be sufficient. Am I missing something?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the ghc-devs mailing list