Xref: utzoo comp.lang.lisp:4542 comp.lang.scheme:2029 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!rice!uw-beaver!mit-eddie!wuarchive!sdd.hp.com!news.cs.indiana.edu!bronze!copper!kiran From: kiran@copper.ucs.indiana.edu (Kiran Wagle) Newsgroups: comp.lang.lisp,comp.lang.scheme Subject: Re: Scheme as an Algol-like, not Lisp-like, language Message-ID: Date: 2 Mar 91 09:14:20 GMT References: <1991Feb15.191259.20090@aero.org> <1991Feb15.223520.17267@Think.COM> <1991Feb18.191549.7575@aero.org> <1991Feb19.030719.1137@Think.COM> <4234@skye.ed.ac.uk> Sender: news@bronze.ucs.indiana.edu (USENET News System) Organization: Indiana University Lines: 35 jaffer@gerber.ai.mit.edu (Aubrey Jaffer) writes: >The lack of macros makes pure scheme code easily readable. No it doesn't. (Who is doing the reading?) i find a named procedure _much_ easier to handle conceptually, and often name things just for this reason. Macros allow one to say things using words whose meanings are immediately obvious (at least to the writer of the macro) and thus are easier to reason about. >To make a more radical suggestion I think that scheme might do very >well to NOT include macros. Introducing new syntactic constructs >(macros) in order to avoid typing a few lambdas is bad programming >style in that the code becomes unreadable. Doesn't this argument apply to all special forms and procedures? All we need is if & lambda--should we get rid of and & or, cond, etc.? Or are these tools that allow us to focus on the rest of the program? I use named procedures and macros to avoid the lambda--but also to help me conceptualize what's going on here. Other syntactic sugar likewise--are you willing to say that all code should be written at the lowest level possible? Why not code in binary? Never underestimate the power of a name. -- --kiran_________________________kiran@copper.ucs.indiana.edu "There may be two people in the world Kiran Wagle who agree with each other on everything, 405 E. 8th St. #7 but *I* am not one of them...." Bloomington, IN 47408-3788 --David Friedman (812) 331-1710 _______________________________________________________________________________