Sample puzzle, README.
predicate to choose matching word

First Mercury program, and it works!
Factor out 'pick' predicate to utility module.
Move out example data to separate module.
Dubious type conversion functions now in util.
Output strings.
a unit test runner
a small Makefile
another unit test (this must be possible with less duplication)
another helper (pick word containing letter); predicate-based unit tests
starting on letter grids, with a neat unit test for the bounds
extract and test grid point set collector
and fix order of members of type size
place_char: set a grid to a character, if that doesn't conflict with what's there
char_at: look up character in grid
directions type and list
from_string function
place word in given direction
place_word returns the coord of the last character, and no longer accepts empty words
type for words