Software engineering
Computer programming
Constraint programming
Type systems
Type theory
List comprehension
Annotation
Computing