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