PC speaker interface written in Haskell