Roles

From HaskellWiki
Revision as of 19:02, 8 April 2014 by Goldfire (talk | contribs) (Created page with "Roles are a feature introduced with GHC 7.8 to discern the difference between compile-time type equality (introduced by type synonyms and type families) and runtime type equal...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Roles are a feature introduced with GHC 7.8 to discern the difference between compile-time type equality (introduced by type synonyms and type families) and runtime type equality (introduced by newtypes).

See the wiki page on roles and the paper for useful information.

If you need to put role annotations (described in the linked pages above) in your code, you may want to check out the no-role-annots package, which allows you to write role annotations without using the new -XRoleAnnotations extension.