An anagram is a rearrangement of letters to form a new word. Given a word and a list of candidates, select the sublist of anagrams of the given word.
"listen" and a list of candidates like
"enlists" "google" "inlets" "banana" the program should return a list containing
For purposes of this exercise, a word is not considered to be an anagram of itself.
make chez if you're using ChezScheme or
make guile if you're using GNU Guile.
Sometimes the name for the scheme binary on your system will differ from the defaults.
When this is the case, you'll need to tell make by running
make chez chez=your-chez-binary or
make guile guile=your-guile-binary.
(load "test.scm")at the repl prompt.
anagram.scmreloading as you go.
(test)to check your solution.
If some of the test cases fail, you should see the failing input and the expected output.
The failing input is presented as a list because the tests call your solution by
(apply anagram input-list).
To learn more about
apply see The Scheme Programming Language -- Chapter 5