Automagic cabalising of projects?

Isaac Jones ijones at syntaxpolice.org
Mon Nov 27 18:24:38 EST 2006


dons at cse.unsw.edu.au (Donald Bruce Stewart) writes:

> So, on the joy of functional infrastructure. As previously discussed
> at the cafe, there's a bit of a plan to make a cabalising wizard.

This is pretty cool!  Does it go through and find . -name "*.hs" in
order to fill out the exposed-modules field and what-have-you?

Does it search for "module Main" to find the binaries?

Just some ideas.

> I'm interested, oh Ancient and Justified Developers of the Cabal,
> about where this should go. Should the tool try to fill in more
> details? If so it should probably be part of the cabal distro and
> use the existing cabal library.

I think it should live separately from Cabal, just for the sake of
modularity, but it could depend on the Cabal package.  With Hackage,
people could install it easily enough, and I like to encourage layered
tools rather than building things monolithically.  Helps us make
better interfaces.

> Should it stay lightweight? Should it try to discover the project src tree?
> Should it suggest hierarchical names to use?

Generally, I'd try to keep it lightweight if I were you.  You get a
lot of value right away, but the more you add, the fewer people it
will Just Do The Right Thing for.

You could have High, Medium, and Low levels of prompting, depending on
how much the user wants to fill in the fields later.  Low would be
just the required fields, I guess.

> Neil et al have suggested that the core should be abstracted out as
> a library, in order to write clients. This is a good idea.

Sounds good.

> How can we make this most useful? Do people know of package wizards
> for other infrastructure that works well?

There's one for Debian that's OK, though it's not really a wizard.  It
doesn't prompt you for anything.

> What plans for automagic cabalisation have people been thinking
> about.

Not much that I can remember.


peace,

  isaac


More information about the cabal-devel mailing list