Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!think.com!mintaka!ai-lab!zurich.ai.mit.edu!jinx From: jinx@zurich.ai.mit.edu (Guillermo J. Rozas) Newsgroups: comp.lang.scheme Subject: Re: Macros Message-ID: Date: 29 May 91 14:29:34 GMT References: <1490@yoakum.cs.utexas.edu> Sender: news@ai.mit.edu Reply-To: jinx@zurich.ai.mit.edu Organization: M.I.T. Artificial Intelligence Lab. Lines: 27 In-reply-to: wilson@cs.utexas.edu's message of 29 May 91 01:02:34 GMT With respect to other features (e.g., multiple value returns), it may well be that they should be left out of the core language, and made optional. But macros are so important that their basic functionality MUST be part of the standard language. (Fancy features such as complex pattern matching might be made optional.) Although I realize that macros are a political necessity while multiple values are not, I disagree that macros are technically more necessary than multiple values. I use multiple values in my everyday coding much more frequently than I use macros. You may want to argue that macros are more primitive or essential, since multiple values can be emulated in user code, while macros cannot, but to this I will reply: - A multiple value facility that meshes with cwcc and has various other expected properties cannot be trivially emulated in user code. - You can write your own macro pre-processor (similar in use to cc's cpp), and pre-process your files before loading them. All the primitives are already there. I also disagree strongly with the attitude "approve anything now, even if it is crufty".