Re: Automagic cabalising of projects?

2006-11-27 Thread Isaac Jones
[EMAIL PROTECTED] (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
___
cabal-devel mailing list
cabal-devel@haskell.org
http://www.haskell.org/mailman/listinfo/cabal-devel


Re: Remove Setup.hs, use Setup.lhs only

2006-11-27 Thread Duncan Coutts
On Mon, 2006-11-27 at 15:06 -0800, Isaac Jones wrote:

  Ross, how do you see the fields panning out?  Want to implement it? :)
 
  Something like
 
  Build-Type: (Simple|Configure|Make|Custom)
 
  I'd be happy to implement it, if/when we get agreement.
 
 Cool.  What do others think of all this?

It's not clear to me that we need to have an extra field. I had
originally envisaged that cabal-setup would just find the right compiler
to build Setup.(l)hs and if there was none that it'd use defaultMain
(possibly without needing to compile any setup binary).

So do we really need a 'build-type:' field? Arn't there just two values
for it, 'Simple' and 'Custom' (since all others are just different
implementations of 'Custom')? Can't the Simple/Custom distinction be
simply if the Setup.(l)hs is present or not?

As people have said, backwards compat is easy, just include a
Setup.(l)hs that calls defaultMain. If you ommit it, then new
cabal-setup can build it anyway.

Duncan

___
cabal-devel mailing list
cabal-devel@haskell.org
http://www.haskell.org/mailman/listinfo/cabal-devel