#1894: Add a total order on type constructors
-------------------------------------+--------------------------------------
Reporter: guest | Owner:
Type: feature request | Status: new
Priority: normal | Milestone:
Component: Compiler (Type checker) | Version: 6.8.1
Severity: normal | Resolution:
Keywords: | Difficulty: Unknown
Testcase: | Architecture: Multiple
Os: Multiple |
-------------------------------------+--------------------------------------
Comment (by claus):
the ticket neglects to mention that at least one of the record libraries
under discussion does not need such an ordering.
that does not imply that the feature might not be useful, and most of the
record libraries do indeed employ such an ordering. but, as any other form
of reflection, it would have to be designed very carefully: one usually
cannot avoid destroying at least some program equivalences when
introducing reflection, so at the very least, one needs to be able to
separate programs that use such feature (where those equivalences will
fail) from programs that do not (where reasoning about programs is not
affected).
examples of equivalences no longer valid under this proposal are renaming
types or modules and moving types or modules in the module hierarchy.
perhaps type-level ordering should only be available for members of a type
class, such as the existing `Data` or `Typeable`? and perhaps it should be
based on random uniqueIds, similar to `Data.Typeable.typeRepKey`? but that
has its own issues..
@GHC-HQ:
how do i add myself to the cc without voting in favour? should there be
two cc-lists?-)
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1894#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs