Constraint programming
Formal languages
Prolog
Logic programming
Logtalk
Definite clause grammar
ECLiPSe
Unification
String
Software engineering
Computing
Computer programming