Load File: __puzzle.sml This module solves "criss-cross" puzzles -- puzzles in which a list of words must be fitted into a crossword grid. It demonstrates the use of the CharVector and CharArray structures in the basis library. Three example puzzles are provided by the module: smallPuzzle, mediumPuzzle and largePuzzle. Each example consists of a pair, the first element of which represents the pattern of blanks in the puzzle and the second of which is the list of words to be fitted into it. The function Puzzle.solve takes a puzzle and fits in the words according to the pattern of blanks. For example: Puzzle.solve (Puzzle.smallPuzzle); gives Solution: ZEBRA R E U P O A B PIT LABEL A OWL EAT TEE E val it : unit = ()