
"Conal Elliott"
On 1/10/07, Isaac Jones
wrote: ... Remember: Cabal isn't only the build infrastructure, it's also the metadata format that tools like Hackage use. If you decide to combine data and code, you will no longer be able to manipulate the data with another tool.
I'm worried and confused about this conclusion. I want to address my confusion first, and maybe the worry will be handled.
By "data" vs "code", I'm guessing you mean simple first-order values, and mainly strings, vs everything else (especially functions). But I wonder if instead you mean any Haskell value (including functions) vs the content of a .hs file?
I'm not sure what you mean here. What I'm talking about is that if you have a programatic way of producing the package description, then you no longer have a way of "reading" that package description from another tool.
Maybe I'd have a firmer grasp of this issue if I could had in mind an example of such a metadata-manipulating tool. Would someone please suggest one?
Visual Haskell, HackageDB, cabal2rpm, and dh_haskell are all tools that read the .cabal file and perform operations based on the package metadata. These tools would have to be Haskell interpreters if they wanted to read a .hs file and derive the package description from that. peace, isaac