haskell example
algorithms continued
redo