Re: with-slots usage question
"Robert P. Goldman" <[email protected]> Tue, 11 Nov 2003 10:40:02 -0600
| Newsgroups | gmane.lisp.clump |
|---|---|
| Message-ID | <[email protected]> |
>>>>> "Jan" == Jan Rychter <[email protected]> writes: >>>>> "Mario" == Mario Mommer <[email protected]>: Mario> "Robert P. Goldman" <[email protected]> writes: >>> I still remember what happened when I invested heavily in using >>> SERIES! :-( Mario> Could you elaborate? I was thinking on using SERIES for a Mario> project (well, among other things to learn them). What went Mario> wrong? Jan> I'm very interested, too, as I've been using SERIES for a while now (for Jan> simple things, though). Jan> I can say what I learned in the process: Jan> -- SERIES isn't obvious. It isn't just a nice functional Jan> abstraction, Jan> it's an optimization technique as well (or mostly). This Jan> means that if you don't use it properly, it will bite Jan> you. I didn't expect that, especially since the Jan> documentation was hinting that if you don't get Jan> everything right, you'll just get slower code, not Jan> incorrect code. That most certainly hasn't been true in Jan> my experience. Jan> -- If you want to use SERIES, get the original AIM-1082 tech report Jan> from MIT (available as PDF). It is different from everything else Jan> I've seen in one important detail: the off-line ports in function Jan> parameters are underlined. Makes for a world of difference. Jan> -- I could really do with good examples on how to properly use the Jan> code. What's worse, few people use SERIES, which means it isn't Jan> always easy to get help when you're stuck. Furthermore, when people want to read your code, they can't. Sometimes I can't read my own code (SERIES is somewhat APLische that way). Jan> Overall, while I still don't fully know SERIES, I find it an Jan> extremely nice and useful tool. I think it gets too little Jan> recognition because of the issues above. At the end of the day, I found SERIES more functionally elegant and cool than the LOOP macro. But I use the LOOP macro and I don't use SERIES. The reasons you adduce above pretty much say why. Plus it's the job of your compiler to make sure that LOOP works; it's YOUR job to make sure that SERIES works. I'm mostly trying to write pretty large Lisp systems, rather than enhancing CL environments or making a compiler work, so YMMV. r