= Solution
A scorer applies the same scoring rule, with the fixed secret, independently to each guess:
``
mkScorer :: (secret -> guess -> score)
-> secret -> [guess] -> [score]
mkScorer score secret = map (score secret)
``
The first score depends only on the first guess, and every later score only on the corresponding guess. Thus this player has no unguarded dependence on its own future output when connected to the guesser by a <lazy feedback stream>. Neither the dictionary nor a strategy is needed by a truthful scorer once the secret and scoring rule are fixed.
Back to article page