On Sun, 2007-07-15 at 12:37 -0700, Raoul Duke wrote:

> 
> [in my limited experience i often want to fall back to imperative
> commands for my build scripts, but i often wonder if that is just a
> lack of my own ability to imagine how to turn it into proper prolog-y
> statements. having said that, i also think that debugging
> goal-directed stuff can be a right blankety-blank nightmare.]

I think build systems should be imperative. You have some
inputs and you want to DO something with them.
Creating outputs is a side-effect.

This is not to say the build rules shouldn't be functional!
After all, the idea of dependencies is to sequence imperative
state transformers in a Monadic way.

What I'm trying to say is: given some file x.c, the aim
is to build it. 

Easier to see: we have a file:

        lpsrc/flx.pak

Build it! You have no idea what the output is.. it actually
makes a set of files including flxg, the Felix compiler.
But you don't need to know that, since you only use 
the bash script 'flx'.

Fact is, what people do is:

        wget URL/FILENAME
        tar -zxvf FILENAME
        cd DIRNAME
        ./configure
        make

That is, the goal is simply to build the thing.. whatever it is.
To do that you invoke the command configure and make .. they DO
something.

-- 
John Skaller <skaller at users dot sf dot net>
Felix, successor to C++: http://felix.sf.net

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Felix-language mailing list
Felix-language@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/felix-language

Reply via email to