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
-~----------~----~----~----~------~----~------~--~---

Reply via email to