I wonder how far they went with prolog. I remember examples in books talking about solving a problem and outputing a plan. But it wasn't a program, not in the sense of nested/modular systems, more like a linear walk.
That said, webyrd has shown kanren embedded lambda calc (evalo relation) to find which program would be reduced to some value..