One of the deepest lessons not yet internalized from category theory to computer science is that logical programming does not line up with classical computation; specifically, relations are dagger compact closed, but functions are Cartesian closed. The most important consequence is that a logical program can be reversed or run in multiple directions, while a classical program can only run forwards.
This mismatch also underlies modern quantum-computing projects, and it is no accident that those projects are founded on the creation of hardware which efficiently represents qubits. We can only imagine how the fifth-generation projects would have been different, had an efficient relational computer been designed.
I notice that KL1 (guarded Horn clauses) trades away running in both directions for running in parallel. KL1 is the language for fifth generation computer systems mentioned in the article.