From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,703c4f68db81387d X-Google-Thread: 109fba,703c4f68db81387d X-Google-Thread: 115aec,703c4f68db81387d X-Google-Thread: f43e6,703c4f68db81387d X-Google-Attributes: gid103376,gid109fba,gid115aec,gidf43e6,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news4.google.com!news.glorb.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local01.nntp.dca.giganews.com!nntp.comcast.com!news.comcast.com.POSTED!not-for-mail NNTP-Posting-Date: Tue, 29 Mar 2005 04:22:38 -0600 From: "Paul Mensonides" Newsgroups: comp.lang.ada,comp.lang.c++,comp.realtime,comp.software-eng References: <4229bad9$0$1019$afc38c87@news.optusnet.com.au> <1110032222.447846.167060@g14g2000cwa.googlegroups.com> <871xau9nlh.fsf@insalien.org> <3SjWd.103128$Vf.3969241@news000.worldonline.dk> <87r7iu85lf.fsf@insalien.org> <1110052142.832650@athnrd02> <1110284070.410136.205090@o13g2000cwo.googlegroups.com> <395uqaF5rhu2mU1@individual.net> <1111607633.301232.62490@z14g2000cwz.googlegroups.com> <1111628011.160315.134740@o13g2000cwo.googlegroups.com> <1111794348.874993.298340@g14g2000cwa.googlegroups.com> <1111827755.497376.232760@z14g2000cwz.googlegroups.com> Subject: Re: Teaching new tricks to an old dog (C++ -->Ada) Date: Tue, 29 Mar 2005 02:22:36 -0800 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.2527 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2527 Message-ID: <4pydnSVmk9XzsdTfRVn-hw@comcast.com> NNTP-Posting-Host: 24.17.165.235 X-Trace: sv3-6YuvjrCsDNt+ZKcZ59fnr/IN+rstE1YaXRRrA/U+4McT/QnLIrbJJnO1IVepl9TSUYbKK1K5fXmnoDJ!9FOKuDw517HGjH8vAQTtaTSgYTZJX7vqKpJ59JDsyf0vRrWYeZzZtfTlGg0pEw== X-Complaints-To: abuse@comcast.net X-DMCA-Complaints-To: dmca@comcast.net X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.32 Xref: g2news1.google.com comp.lang.ada:10114 comp.lang.c++:47759 comp.realtime:1811 comp.software-eng:5453 Date: 2005-03-29T02:22:36-08:00 List-Id: jayessay wrote: > "Paul Mensonides" writes: >> Lisp macros cannot produce partial syntax either, whereas C/C++ >> macros can (e.g. on macro can create a '{' and another separate >> invocation can create the closing '}'). > > Again, that would be the sort of thing you would use reader macros. > It's worth noting again that Lisp macros (the kind you generally mean > when unqualified) do not work on text, they work on the syntax trees > passed to them. Neither do macros in C or C++. They operate on tokens. In any case, the difference is meaningless. The only thing that matters is what the semantics are (such as name binding). Lisp macros are easily inferior to Scheme macros in that sense. >> Jerry is correct to say that they do similar things--they parametize >> code with code. > > But that is not really what they do. It is _one_ thing you can _use_ > them to do. That is exactly what they do. It is irrelevant whether that code is in the form of a syntax tree or not. The kind of thing that you seem to be referring to is what Haskell does instead. >> The main differences is that in Lisp (etc.) their > > I think the main differences are the ones I listed. Obviously. Regards, Paul Mensonides