a vocabulary learning software written in haskell