a bug: the haskell engine changed f, so the file written before won't be removed