platformless haskell