Newsgroups: comp.lang.scheme
Path: utzoo!utgpu!news-server.csri.toronto.edu!helios.physics.utoronto.ca!ists!newshub.ccs.yorku.ca!nexus.yorku.ca!oz
From: oz@nexus.yorku.ca (Ozan Yigit)
Subject: don't worry, be happy : -) [Re: Macros again]
Message-ID: <1991Jun4.053042.13075@newshub.ccs.yorku.ca>
Keywords: macros, hygeinic macro expansion, extend-syntax, lexical scope
Sender: news@newshub.ccs.yorku.ca (USENET News System)
Organization: York U. Communications Research & Development
References: <1510@yoakum.cs.utexas.edu>
Date: Tue, 4 Jun 1991 05:30:42 GMT

Paul Wilson (wilson@cs.utexas.edu) writes:

>That's why macros are necessary -- to patch over some of Scheme's other
>deficiencies in terms of data abstraction, etc.  Sure, it's a quick-and-
>dirty way of solving problems, but it can be done reasonably cleanly
>if you're careful.  We need to be able to write decent, efficient,
>reusable code soon, rather than waiting until Scheme is complete and perfect.

Having examined just about every serious scheme implementation that is also
mentioned in the Jonathan's implementations list over the past three or four
years, I am rather puzzled about this never-ending flap over macros. All of
those implementations I have looked at (chez, c-scheme, scheme84, scheme88,
macscheme, fools, elk, xscheme, skim, umb-scheme, vincennes scheme, ...)
had either the old-fashioned or the extend-syntax type macro facilities, and
the former types were almost trivially made to support extend-syntax, thanks
to Kent's portable package.

People who need practical,low-level macros have been using them. People who
needed portable syntax extensions anybody can read and understand have been
using Kent's extend-syntax layer. People who can pull it off have have been
working on a proposal for macros-done-right (minus the choice of "***" over
"..." ;-)).

I think Scheme has been practical for quite sometime, and there seems to be
no reason to wait for anything.

oz
---
This is a public service annoncement: The Scheme Repository can be found on
nexus.yorku.ca [130.63.9.66] under pub/scheme. Latest contributions include
a nice collection of material from Stephen J. Bevan.
---
In seeking the unattainable, simplicity  |  Internet: oz@nexus.yorku.ca
only gets in the way. -- Alan J. Perlis  |  Uucp: utai/utzoo!yunexus!oz




