On Sunday, August 21, 2016 at 7:50:39 PM UTC+5:30, Marko Rauhamaa wrote: > Rustom Mody : > >> > All I can say is that I've encountered numerous bad cases of rule > >> > systems, eg: > >> > > >> > - iptables > >> > > >> > - selinux policies > >> > > >> > - systemd unit files > >> > > >> > - asterisk > >> > > >> > - sendmail > > [...] > > Some other examples: > > 1. > > Aren’t makefiles data-driven? > > Yes, "make" should be added to my sin list.
If you treat make as elaboration on this theme: target : source TAB Imperative Action it belongs to your 'sin' pattern if you concentrate on line 1 Not if you concentrate on line 2 So maybe it finds the sweet spot between the two?? > > > [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?] > > Don't know jam, but can heartily recommend SCons. Likely true at some point Probably not now: http://stackoverflow.com/questions/2847730/c-build-systems [ tup seems to be the rage; scons seems to have the worst performance] > > > 3. Scheme — the language but also the informal culture around SICP — > > is where data-driven programming got installed as a sacred dictum. > > Scheme doesn't seem to be doing too well of late… Coincidence?? > > Lisp's "data is code and code is data" is a good principle. I have > successfully used it with Python as well. Heh Really?!? I can tell you if a student of mine mixed up code and data like emacs-lisp throwing customize *data* into user-config *code* (.emacs) he would be very sorry... > > However, Scheme's syntax-rules are infamous. No idea what you are talking about Macros? Define-syntax's syntax? I-dont-like-all-those Lots-of Irritating Single Parentheses ? Something else? If you ask me Lisp failed because of out of kilter uncontrollable superiority-complex -- https://mail.python.org/mailman/listinfo/python-list