Change representation of `Backend`
Closes #20927 (closed).
With this change, the value constructors of the Backend
sum type are
no longer exposed. Decisions that were formerly made by asking "is
the current back end equal to (or different from) this named value
constructor?" are now made by interrogating the back end about its
properties. The properties and the functions that interrogate them
are defined in GHC.Driver.Backend
.
A record of the discussion can be found in !7442 (merged).
Edited by Norman Ramsey