antitypical / Manifold

An implementation of a dependently-typed intermediate language used by Tesseract.
MIT License
30 stars 0 forks source link

Replace `Term` with a typealias of `AnnotatedTerm<()>` #168

Open robrix opened 8 years ago

robrix commented 8 years ago

Term is a special case of AnnotatedTerm<Annotation> where Annotation effectively carries no information, e.g. Annotation = ().

We could further rename AnnotatedTerm to Term, but that would require us to update all extant references to Term to instead name Term<()>.

robrix commented 8 years ago
  1. We would probably have to say Unit instead of () where Unit is an empty struct conforming to Equatable.
  2. We’d lose Equatable on Term, which might be a pain.