I think that a lot of the benefits of programming in Prolog though are strongly linked to its interpreted nature and the way it lets you do things on the fly. Some of that dies when you move to a more hardcore statically typed lanugage like Mercury.