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
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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.