| Date: Tue, 14 Aug 2007 00:18:31 -0500
| From: Chongkai Zhu <czhu at cs.utah.edu>
|
| Aubrey Jaffer wrote:
| > ...
| >
| > The effect of adding macros to Scheme has been the proliferation
| > of mutually incomprehensible language dialects. We have seen the
| > growth of "convenience" macros like WHENNOT and UNLESS, use of
| > macros as a substitute for compiler optimization, and use of
| > macros to avoid using symbols as tokens. None of these uses
| > increases the *expressive power* of the language.
|
| "On the Expressive Power of Programming Languages", macro is the
| way to compose a language that only has a small number of rules to
| be able to express more.
The three uses of macros that I cite above (which I have observed) do
not increase the expressive power of Scheme.
| > In a reusable software world, the use of incompatible dialects is
| > detrimental; it is only through documenting, publishing, and
| > deliberating, say in a SRFI, that new forms should be adopted
| > into that "very small number of rules for forming expressions".
| >
| > Arrays
| >
| > Computations have been organized into multidimensional arrays for
| > over 200 years. Applications for multi-dimensional arrays are
| > widespread and continue to arise. Computer graphics and imaging,
| > whether vector or raster based, use arrays. A general-purpose
| > computer language without multidimensional arrays is an oxymoron.
| >
| > Although multidimensional arrays are the subject of SRFI-25,
| > SRFI-47, SRFI-58, and SRFI-63, and portably supported by SLIB,
| > search of
http://www.r6rs.org/r6rs-editors/ finds nothing to
| > indicate that the editors ever considered their inclusion in
| > R6RS.
| >
| > Can R5.97R Scheme be extended to support SRFI-63 arrays?
|
| One story: an unusable version of SRFI-63 was once put in PLT
| Scheme for about 1 year, yet not any complain was heard.
That was not my doing. The SLIB implementation of SRFI-63, as well as
the example implementation in SRFI-63 (requiring SRFI-9) will run
correctly in any R4RS or R5RS implementation. I have used SRFI-63
arrays from SLIB successfully in plt-scheme-370 mzscheme (which, of
course, bypassed the bad SRFI-63 implementation I knew nothing about).
| If now there is a vote for SRFI-63, I will definitely vote for no.
I am sorry that you hold SRFI-63 responsible for the actions of
someone unknown to its author.
| > Libraries
| >
| > ...
|
| Yes, R5.97RS's module system only supports internal linking. But
| external linking can be provided in a portable fashion on top it
| (using macros).
That would be exciting news! How does it work?
Received on Wed Aug 15 2007 - 14:34:32 UTC