An Implementation of the SECD Virtual Machine in Haskell