On Sunday, August 21, 2016 at 5:51:36 PM UTC+5:30, Chris Angelico wrote: > On Sun, Aug 21, 2016 at 9:53 PM, Rustom Mody wrote: > > Some other examples: > > 1. > > Aren’t makefiles data-driven? And if so should not much more declarative > > attempts like jam have been correspondingly more successful? > > https://www.perforce.com/resources/documentation/jam > > > > [Personally Ive always believed that jam is better than make and is less > > used > > for entirely historical reasons; something like half the world eoling with > > crlf > > and half with lf. But maybe make is really a better design because more > > imperative?] > > The issues with makefiles are mainly to do with metaprogramming (plus > a few specific issues with the format itself, which don't apply to the > more general concept). There's a ton of magic to cope with makefiles > that try to rebuild themselves, plus all the extra tooling around the > outside (configure scripts etc), to try to move to a meta-level above > the makefile and thus enable metaprogramming of makefile contents.
Yeah… I guess thats the issue said differently: viz. For a human to write/think in terms of rules is cleaner (more ‘hi-level’) than writing out imperative actions. However when it comes to generating — what you call metaprogramming — rule-based systems suddenly stop being attractive, especially when they are the target of the generator. Standard example: Programmers dont like to code in assembly Compiler writers dont like to generate to anything else -- https://mail.python.org/mailman/listinfo/python-list