let me give you an example:

  splitModule :: MonadClean m => ModuleName -> m ()

  Split each of a module's declarations into a new module. Update the
  imports of all the modules in the moduVerse to reflect the split.

Why do I want that? What does it mean?

=== start file ==
  module Start where

  a = 1
  b = 2
  c = 3

will calling that function yield

  module foobar where
  a = 1

  module baz.something.idont.know where
  b =2

  module 3rd where
  c =3

I want to say: I have no idea 
  - how the new modules will be named
  - which paths the new modules will have

Function's return type is m (), so doesn't help much.

Consider improving that documentation.

More questions: input/output.

  findPaths "Language" >>= runMonadClean . mapM cleanImports . toList

Whose task is it to write the "new cleaned up module" to disk again?
does runMonadClean do it for me? Docs don't tell yet.

Marc Weber

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to