Skip to content

Equivalence Classes

Andrew Johnson edited this page Jun 8, 2024 · 22 revisions

Equivalence Classes are an important concept used throughout the compiler.

Operations on Classes

Set operations are used to manipulate objects and their classes. Some common operations include:

  • without-<class> remove information
  • with-<class> add information (strong)
  • guess-<class> add information (weak)
  • with-only-<class> add & normalize information (strong)
  • guess-only-<class> add & normalize information (weak)

Type Classes

Some common type classes include:

  • representation
  • size
  • datatype # includes tags
  • normal datatype # removes tags

Type Slots

Type Slots are similar to classes but are much more specific. A Slot is a single Ground Type possibly with some parameters but nothing else.

  • with-slot add information
  • with-only-slot narrow information
  • without-slot remove information

Classes of Code Representation

Classes of Data Representation

Clone this wiki locally