Authors: Theo Scofield
What is the problem?
Given the state of a boggle board, find all possible words in the english language that it contains.
What is the something extra?
It will output the list of words sorted from longest to shortest, along with the associated location on the board of the first letter.
What did we learn from doing this?
Search problems are much easier to specify in prolog than in a traditional language like java. Unlike in java, there was no need to explicitly avoid indexing out of bounds of the board, and the recursion fell out of the problem much more easily than in java.
One of the downsides of working in prolog was how weird input and output are in prolog. It was much harder to program a way for the user to input a state of the board in prolog than it was in java.