Dan Weinreb: Loop

 

This was the big competitor to LOOP, back in roughly maybe 1978-1979 when we all wanted to generalize and extend Maclisp's "new style DO". Each approach had its own merits and demerits. I think probably we in the LOOP camp were insufficiently sympathetic to the merits of Waters's approach, possibly because we were not experienced with lexical scoping, although also because there really were a few things that it didn't do as well as LOOP.

LOOP, by the way, is one of the few cases of a macro in which we deliberately violated one of the (excellent!) rules that Scott McKay enumerated recently on this list. Namely, we ("what you mean we?", really Dave Moon, but others of us were egging him on, so to speak) decided to violate the usual stricture that a Lisp special form should only have a symbol as the first element of the list, and that subsequent "syntax" within the special form should be done entirely in terms of the nested list structure.

After all, we were the ones who had introduced keyword arguments into Lisp. Those were symbols used at runtime in a sort of syntactic way. Here we went the next step further and used symbols at "compile time", i. e. statically, i. e. syntactically (e. g. you did not have to use QUOTE), as keywords. So we created one of the first Lisp special forms to be keyword-oriented, and I think it may be the only such special form that was accepted in Common Lisp.

(And it was only accepted after very bloody battles were fought, as Guy Steele knows better than anyone else, since he was the referee of those battles!)

LOOP was not as much of a success as we had hoped. To this day I firmly stick by our decision to use keywords. All rules have their exceptions, and this was a case where the benefit of using keywords outweighed the cost of using unusual syntax. The use of keywords is NOT what was wrong with LOOP.

Rather, the problem with LOOP was that it turned out to be hard to predict what it would do, when you started using a lot of different facets of LOOP all together. This is a serious problem since the whole idea of LOOP was to let you use many facets together; if you're not doing that, LOOP is overkill. Moon struggled hard to make LOOP more predictable and understandable. Even at the time I did not fully comprehend all the issues; now, over 20 years later, I've almost forgotten them. But if Dave Moon could not figure out how to solve the problem, I am quite confident that it's a very hard problem to solve.

Please do not pass this sample essay as your own, otherwise you will be accused of plagiarism. Our writers can write any custom essay for you!
  • Kragen Sitaker: Redundancy and Power
  • It has been proposed that Succinctness is power. I have some sympathy with this view; if "power" means anything when we are talking about programming languages, a more powerful language is one that can do more with the same human effort. Human effort in programming-- design, comprehension, construction, and debugging-- correlates closely with the amount
  • 2001 a space odyssey
  • The apes were living their lives as usaul when there was a strange occurrence. A black monolith came out of the ground. Some of them were in its trance while others weren’t. From it the apes were taught to throw and to hit with objects. They used this education to fight other animals and get
  • Some Work on Arc
  • A couple days ago while I was working on this talk, slashdot had a link to something I'd written about spam. I usually try to avoid reading the comments when this happens. The odds of being annoyed are greater than the odds of learning something. But this time I felt like procrastinating, so I scrolled
  • A Child Called It
  • Sample essay topic, essay writing: A Child Called It - 301 words Pelzer, Dave. A Child Called 'It'. Deerfield Beach: Health Communications, Inc., 1995.The title of this book has to do with what Dave went through as a child. He was just referred to as a child by "It". Dave's mother didn't care about him enough
  • Geoffrey, Here are some tidbits
  • 1. Right now Sabre, Galileo, Amadeus and Worldspan operate many millions of dollars of IBM and Unisys mainframes each to answer the vast majority of queries done by airline phone agents, airport desk agents, travel agents, and travel web sites (other than our own and our customers'). Their computers are housed in bomb-proof, fire-walled (literally)
Need Book Reports, essays, lectures? Save to bookmarks - » Dan Weinreb: Loop. Collections of essays on literature!

Dan Weinreb: Loop