From: Duncan C. <dun...@wo...> - 2004-07-24 17:49:51
|
Hi, I've been converting my gconf bindings to use hierarchical module names. There's more in the makefile that could make this a bit easier but it works ok now. It builds ok for me (I'm waiting for Jens to get back to me with a bit more info on the build problem he encountered). It requires a patch to c2hs to deal with hierarchical module names (the chsDepend script may need fixing too). Manuel has not reviewed this patch but "it works for me"TM, so I'll commit it to our c2hs version if people think that's reasonable. It requires a change to the TypeGenerator to specify the module name otherwise it uses the file name. We can't change it to convert the full relative path into a module name since that would break gtk/general/Hierarchy.chs (it would be given module name General.Hierarchy). We could do that If/when we convert the gtk modules to the hierarchical namespace layout. gconf will be built into its own ghc package. It can however be an 'auto' package so users will not normally have to specify it to ghc. The directory layout is like so: gtk2hs/gtk/* --all our existing stuff gtk2hs/gconf/ --new gconf package gtk2hs/gconf/Makefile --we build from root of the namespace gtk2hs/gconf/System/Gnome/GConf.hs --re-exports stuff below gtk2hs/gconf/System/Gnome/GConfClient.chs --main binding module gtk2hs/gconf/System/Gnome/GConfValue.chs gtk2hs/gconf/System/Gnome/GConfTypes.chs --generated So should I commit this stuff now or I can post more detailed patches for review. GConfValue is a rather cunning type class based API, I know opinions differ on this sort of thing. Duncan |
From: Axel S. <A....@ke...> - 2004-07-26 09:06:35
|
On Sat, Jul 24, 2004 at 06:50:22PM +0100, Duncan Coutts wrote: > Hi, > > I've been converting my gconf bindings to use hierarchical module names. > There's more in the makefile that could make this a bit easier but it > works ok now. It builds ok for me (I'm waiting for Jens to get back to > me with a bit more info on the build problem he encountered). > > It requires a patch to c2hs to deal with hierarchical module names (the > chsDepend script may need fixing too). Manuel has not reviewed this > patch but "it works for me"TM, so I'll commit it to our c2hs version if > people think that's reasonable. > > It requires a change to the TypeGenerator to specify the module name > otherwise it uses the file name. We can't change it to convert the full > relative path into a module name since that would break > gtk/general/Hierarchy.chs (it would be given module name > General.Hierarchy). We could do that If/when we convert the gtk modules > to the hierarchical namespace layout. > > gconf will be built into its own ghc package. It can however be an > 'auto' package so users will not normally have to specify it to ghc. > > The directory layout is like so: > > gtk2hs/gtk/* --all our existing stuff > gtk2hs/gconf/ --new gconf package > gtk2hs/gconf/Makefile --we build from root of the namespace > gtk2hs/gconf/System/Gnome/GConf.hs --re-exports stuff below > gtk2hs/gconf/System/Gnome/GConfClient.chs --main binding module > gtk2hs/gconf/System/Gnome/GConfValue.chs > gtk2hs/gconf/System/Gnome/GConfTypes.chs --generated > > So should I commit this stuff now or I can post more detailed patches > for review. GConfValue is a rather cunning type class based API, I know > opinions differ on this sort of thing. Commit for now. When it bites someone, it can still be fixed! Cheers, Axel. |