Comment #6 on issue 276 by Will.Donnelly: HConf should be a standalone package http://code.google.com/p/yi-editor/issues/detail?id=276
Personally, I like the approach of having all the compilation files in the config directory, although I personally favor moving them into a subdirectory for cleanliness. I don't think moving to ~/.app.hs would be a good idea, because I can easily see the need for multiple user-defined modules in a complex customization. I am wondering about the use of MonadIO in HConf. As far as I can tell, the only things that are ever even imported from Control.Monad.Trans are 'MonadIO' and 'liftIO'. Without importing other monad transformers, is there any purpose at all to using those abstractions? All I see is that it adds unnecessary line noise to the program, and makes recompilation more difficult because you have to hide mtl. I have verified that everything still works perfectly when all references to MonadIO and liftIO are expunged, and (in my opinion) the code in HConf.Paths becomes much easier to read after that change. Attached is HConf working without Control.Monad.Trans, and also with the Functor instances removed. Other aesthetic questions I would raise: * We're already giving the status file the bare name 'status', should the same be done for the 'app.errors' file? * Should we delete the status file after recovering state from it? * Shoule we manually clean up the *.hi and *.o files in the config directory (less applicable if we move all those files into a subdirectory) Attachments: hconf.tar 50.0 KB -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings --~--~---------~--~----~------------~-------~--~----~ Yi development mailing list yi-devel@googlegroups.com http://groups.google.com/group/yi-devel -~----------~----~----~----~------~----~------~--~---