Cabal Questions

Neil Mitchell ndmitchell at gmail.com
Fri Aug 18 12:20:01 EDT 2006


Hi,

> Perhaps we can pinch the .hs dep chasing code from
> either GHC or hmake and make it extensible for other pre-processors. But
> yes the license is important.

There is always Yhc. Its also GPL licensed, but me/Tom wrote all the
dependancy/make stuff, so license things can probably be solved
relatively easy.

In fact, I even have it on my todo list to make a Yhc.Make API, so
other programs can do Haskell dependancy chasing automatically (I need
it for my phd). If there was a nice simple dependancy chasing API,
would Cabal want to use that? If so, what would the interface be?

At the moment the design goes along the lines of:

getDependancies :: HaskellFile -> IO [HaskellModule]
resolveDependancy :: State -> HaskellModule -> IO HaskellFile
orderDependancies :: State -> HaskellFile -> IO [HaskellFile]

State is some kind of "whats the current directory", "what packages
are in scope" - some global immutable set of flags and options.

HaskellFile is a concrete .hs source file, i.e. System/Directory.hs

HaskellModule is a Haskell module, i.e. System.Directory

Any use to Cabal? If not, what tweaks would be needed?

Thanks

Neil


More information about the Libraries mailing list