Opened 4 years ago

Closed 3 years ago

Last modified 2 years ago

#9766 closed task (fixed)

Use TypeLits in the meta-data encoding of GHC.Generics

Reported by: dreixel Owned by: kosmikus
Priority: normal Milestone: 8.0.1
Component: Compiler Version: 7.9
Keywords: Generics Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Test Case:
Blocked By: Blocking: #9043
Related Tickets: #9043 Differential Rev(s): Phab:D493
Wiki Page:

Description

This ticket serves to track the task of improving the meta-data representation in GHC.Generics as described in the following wiki page:

https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/GenericDeriving#Amoreconservativefirstapproachtothisproblem

I'm working on this in branch wip/GenericsMetaData, and I intend to have it in 7.10.

Change History (13)

comment:1 Changed 4 years ago by dreixel

comment:2 Changed 4 years ago by dreixel

Blocking: 9043 added

comment:3 Changed 4 years ago by dreixel

Differential Rev(s): Phab:D493
Status: newpatch

comment:4 Changed 4 years ago by hvr

Milestone: 7.10.1

comment:5 Changed 4 years ago by thoughtpolice

Milestone: 7.10.17.12.1

comment:6 Changed 3 years ago by RyanGlScott

Blocking: 10775 added

comment:7 Changed 3 years ago by dreixel

Blocking: 10775 removed

comment:8 Changed 3 years ago by simonpj

Owner: changed from dreixel to kosmikus

On the Phab ticket, Ben says

@dreixel, this looks like a nice use of promotion. Is there any chance you will be continuing this work?

and Pedro replies

I'm afraid not, at least not in the foreseeable future. I'd love it if someone were to pick it up, though!

I think that Andres has volunteered to pick up Generics related tickets, of which this is a prime example, so I'll change the owner to him. Andres, might you get to this? It's mostly done!!

Thanks

Simon

comment:9 Changed 3 years ago by thoughtpolice

Milestone: 7.12.18.0.1

Milestone renamed

comment:10 Changed 3 years ago by Ben Gamari <ben@…>

In 700c42b/ghc:

Use TypeLits in the meta-data encoding of GHC.Generics

Test Plan: Validate.

Reviewers: simonpj, goldfire, hvr, dreixel, kosmikus, austin, bgamari

Reviewed By: kosmikus, austin, bgamari

Subscribers: RyanGlScott, Fuuzetsu, bgamari, thomie, carter, dreixel

Differential Revision: https://phabricator.haskell.org/D493

GHC Trac Issues: #9766

comment:11 Changed 3 years ago by bgamari

Resolution: fixed
Status: patchclosed

comment:12 Changed 3 years ago by simonpj

Keywords: Generics added

comment:13 Changed 2 years ago by Ryan Scott <ryan.gl.scott@…>

In dad39ff/ghc:

Remove dead generics-related code from OccName

Before #9766 was fixed, GHC would generate auxiliary datatypes for every
Generic instance, and it would use functions from OccName to prefix the
generated names. GHC no longer generates any auxiliary datatypes for
Generic instances, but the accompanying code was never removed from
OccName (until now).
Note: See TracTickets for help on using tickets.