From ... Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!newsfeed.freenet.de!feed.news.nacamar.de!uio.no!nntp.uio.no!ifi.uio.no!not-for-mail From: Erik Naggum Newsgroups: comp.lang.lisp,comp.lang.scheme,comp.lang.functional Subject: Re: Macros in Common Lisp, Scheme, and other languages Date: 07 Sep 2002 16:44:03 +0000 Organization: Naggum Software, Oslo, Norway Lines: 18 Message-ID: <3240405843026883@naggum.no> References: <7ed8f64d.0209050301.66c34a92@posting.google.com> <3D783A89.C886BF0F@his.com> <3240318776815077@naggum.no> <6db3f637.0209061838.47bb9d0b@posting.google.com> <3240361769031272@naggum.no> <3D79E7CD.FE72D279@dls.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: maud.ifi.uio.no 1031417043 14136 129.240.64.16 (7 Sep 2002 16:44:03 GMT) X-Complaints-To: abuse@ifi.uio.no NNTP-Posting-Date: 7 Sep 2002 16:44:03 GMT Mail-Copies-To: never User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 Xref: archiver1.google.com comp.lang.lisp:39968 comp.lang.scheme:14066 comp.lang.functional:12857 * Paul F. Dietz | Beyond that, it would be nice if CL macro forms could be analyzed in | some way before being expanded, so one could do type propagation before | or interleaved with macro expansion. Since the compiler expands the macro and then works on the resulting code with all type propagation from the environment available for the existing bindings, I am not sure what this means. The purpose of environment information is to make it possible to make macro-expansion decisions in addition to the ones the compiler makes after expansion. -- Erik Naggum, Oslo, Norway Act from reason, and failure makes you rethink and study harder. Act from faith, and failure makes you blame someone and push harder.