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

