More generally, if you could completely specify what makes a solution "fit" using logic, you could just ask Prolog to find a solution that satisfies those predicates. The search would then be handled by Prolog's built-in resolution and backtracking mechanisms rather than needing a GA.
Do you have a specific type of problem in mind?
One would not even have to run the logic programs in the normal sense - just interpret the declarative constraints in a direct way as a fitness function in the GP system...
I agree with GP that you'll likely have to create cross language techniques to develop a system that has reasonable performance. I used a mix of Go & Python and used REST APIs to communicate between the processes. It was actually more performant overall by doing so, as certain subtasks had bad performance (small object allocation in Python was a bottleneck, Go lacks SymPy equivalent for mathematical simplification).