[Snow-users-list] define-syntax*

Marc Feeley feeley at iro.umontreal.ca
Fri Mar 9 13:24:26 EST 2007

Hash: SHA1

On 9-Mar-07, at 12:06 PM, Jan Skibinski wrote:

>> > expect most of the lesser Schemes will not support define-syntax at
>> > all (e.g. EdScheme, Elk, JScheme, LispMe, SIOD, TinyScheme, to  
>> name a
>> > few).
>> >
>> > So it boils down to a portability issue.  If Snow adds support for
>> > define-syntax, then packages that use it will not be portable to  
>> many
>> > Scheme systems.  Should we care?
> This seems like a lot of them would be left out on the cold. But maybe
> you, the Snow parents, should first answer this question: What exactly
> motivated you to create Snow in the first place? I know - portability.
> But in what sense?

It is really about practical Scheme programming, i.e. using Scheme to  
write real applications.  To achieve this goal we need packages for  
lots of different functionality.  To achieve that goal we need the  
bulk of the combined manpower of the various Scheme subcommunities.   
For that we need a framework that is portable, i.e. where everyone  
involved feels they can benefit from the Snow packages in their  
favourite Scheme system.  Portability is also important to attract  
new users to Scheme by giving them the freedom to select the Scheme  
system best suited for their application, and to change the system  
during the course of developing and maintaining their application as  
their needs change.

> If it was mainly done for pedagogical reasons, then we should only
> worry about such subset of Scheme implementations that is currently
> taught, or aspire to be taught, at schools. But if Snow is to be
> industrially portable, then we should be more careful here and perhaps
> consider each case separately.
> For example, of those lesser known Schemes, Elk and TinyScheme are
> mostly used for embedding, so we should not worry about those, right?
> They are to be customized, cut, or extended to suit specific needs of
> standalone applications, such as Impromptu,
> http://impromptu.moso.com.au/. [Nota bene, a very nice application, in
> my opinion]

I don't think Snow should exclude embedded Schemes.  Embedded systems  
are one of the many applications of Scheme.

> Then there are implementations that target Java: Kawa, SISC and
> JScheme. I am not exactly sure what is their target audience. If their
> main goal is to provide nifty Scheme ideas to Java users, then I would
> not worry about them that much. But maybe this is not the main reason
> of their existence.

I don't understand your reasoning here.  Those systems fill an  
important niche.

> Maybe we should ask them: do they really care to be compatible with  
> Snow?

Problem is... who is "they"?  The authors of those systems?  The  
current users?  The future users?

> For those and other Schemes that care to be Snow portable there is  
> always
> the portable define-syntax, psyntax by Dybvig and Waddel,
> http://www.cs.indiana.edu/chezscheme/syntax-case/, or possibly its
> revised version, currently in R6RS.
> The caveat is: "The portable system is designed to be adaptable with
> minimal effort to any Revised5 Report implementation of Scheme, with
> the provision of a small set of implementation-dependent hooks to
> install the expander."
> Jan

The way I see it the real issue is political.  I want to maximize the  
impact of Snow on the practice of "real-world" Scheme programming.   
How many users and package writers will Snow attract if define-syntax  
is supported, and how many users will we lose because define-syntax  
is supported?  My intuition is that globally it will be a win to  
support define-syntax.


Version: GnuPG v1.4.3 (Darwin)


More information about the Snow-users-list mailing list