compilation with cabal