Specs and architecture · a logic programming language
A language in which a program is facts and inference rules, and an engine finds the answer to a question by itself. Facts: “booking b1 is room 2, from 10 to 11”. A rule: “two bookings overlap if the room is the same and the times overlap”. A question: “which bookings overlap b1?”. Created in 1972 in France. Any program can be written in Prolog, including one that never finishes, so Rice’s theorem applies to it.