Wired-in type class

Joachim Breitner mail at joachim-breitner.de
Fri Aug 16 21:54:28 CEST 2013


thanks for your pointers, they are very helpful. The problem is that one
way of implementing NT involves a class declaration (not just instances)
that I cannot write in Haskell. I tried to completely generate the the
class in GHC.Prim, without corresponding source, but that failed (e.g.
that module has mi_decl = []; I took that as a sign that I’m not on the
right track).

So I am back at generating a TypeCon in GHC.Prim which (to Haskell
abstractly) contains the non-Haskell-fields and then have a simple class
with one member of that type. Semantically all the same, and easier

Am Freitag, den 16.08.2013, 10:25 -0700 schrieb Iavor Diatchki:

> The exact shape of the evidence depends on the class method, but
> `makeDict` in the same function may give you an idea of what to do in
> your particular case.  If the evidence needs to be more complex (i.e.,
> you need to generate an implementation in Core, Simon showed me
> another trick involving rules, which is a bit of a hack, but does seem
> to work, so I could show you what I did there too, so just ask).

In my case, I’d like to generate instances when the users asks for it
via derving clauses; but there as well I have the issue that deriving
stuff happens before desugaring, but the implementation will have to be
in Core. So I’m very much interested in the trick.


Joachim “nomeata” Breitner
  mail at joachim-breitner.dehttp://www.joachim-breitner.de/
  Jabber: nomeata at joachim-breitner.de  • GPG-Key: 0x4743206C
  Debian Developer: nomeata at debian.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20130816/00822a39/attachment.pgp>

More information about the ghc-devs mailing list