[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Makefile-ish init and ideas



While thinking about the proposed idea for a makefile-ish like init program 
for the Hurd, an interesting idea crossed my mind.

make has been around for a while and has grown into quite a beast in that 
time. Certain inherent complexities in make have spawned numerous efforts like 
automake/autoconf, imake, share Makeconf files, etc. in order to cope 
with large and complex projects. The Makefiles generated by these tools 
are often quite obscure and even unreadable, which adds much to the confusion 
of user and developers.

However upon short reflection about what make actually does (evaluate certain 
rules and their dependencies and take a definite course of action) it now 
seems to me that make is nothing but a logic programming language. And in that 
case, instead of a complicated Makefile mess, why not use a real logic 
programming language with a simple library for accessing environment 
variables, executing shell commands and checking file timestamps? Prolog 
springs to mind.

Now, I'm familiar with logic programming more in concept then in practice, so 
I was wondering if anyone is more knowledgeable in this could say if this idea 
is worth persuing. And if so, the exact same approach can be taken for this 
Makefile-ish init idea.

Also a directly relevant question is whether it's worth considering replacing 
make which might already be old enough to retire. And if Hurd isn't a place 
for innovation, then what is. Another alternative to look at might be the Cons 
project, which touts to be a make replacement, as listed on the GNU software 
page. (http://www.dsmit.com/cons).

Igor



Reply to: