[Snow-users-list] define-syntax*

Ryan Newton newton at csail.mit.edu
Fri Mar 9 13:54:32 EST 2007


It seems that if snow is to win big it needs to target a large  
majority of Scheme community.  But, that said, the biggest 10  
implementations have to represent a very large fraction of all scheme  
users.  And, as Marc said, these "major" Scheme's generally support  
define-syntax.

Ultimately, if Snow were successful, smaller implementations would  
have motivation to become snow-compatible, rather than the other way  
around.

Also, as another note, in the corner of the Scheme world that I come  
from (Chez users and PLT users mostly) portability means R5RS  not  
R4RS(++?), especially wrt define-syntax.  My qualitative feeling is  
that there are a large number of PLT users in particular, and they  
will inevitably have to give up a *lot* if they want to write Snow  
code, but asking them to give up define-syntax might be too much.  In  
other words, I think it's an excellent choice to put it in!

-Ryan


On Mar 9, 2007, at 1:24 PM, Marc Feeley wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> 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.
>
> Marc
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.3 (Darwin)
>
> iD8DBQFF8aZb//V9Zc2T/v4RAupIAJwN7a91YX/XDUNfLRjo5Zimho0v/gCfcGQI
> X7HVuoaZwknjMdKySZaR1nI=
> =EW6E
> -----END PGP SIGNATURE-----
> _______________________________________________
> Snow-users-list mailing list
> Snow-users-list at iro.umontreal.ca
> https://webmail.iro.umontreal.ca/mailman/listinfo/snow-users-list



More information about the Snow-users-list mailing list