[plt-scheme] Re: Is R6RS useless for PLT?

From: hendrik at topoi.pooq.com (hendrik at topoi.pooq.com)
Date: Thu Nov 20 00:56:12 EST 2008

On Wed, Nov 19, 2008 at 06:54:49AM +0100, Tom Gordon wrote:
> On Nov 18, 2008, at 3:34 PM, Matthias Felleisen wrote:
> >As the naming conventions in DrScheme suggest, we consider
> >our Module language the primary development vehicle. R6RS,
> >like R5RS, is supported and available. Bug reports and
> >feature requests are taken seriously. As Robby indicates,
> >R6RS is our bridge to other Scheme implementations and we
> >would like libraries to flow into our world. -- Matthias
> The problem is that the PLT tools, libraries, environment and  
> documentation in effect, if not intention, encourage people to write  
> modules using the PLT Scheme dialect, rather than portable R6RS  
> libraries, since the PLT dialect is better supported.
> Anything which discourages people from making the effort to port  
> libraries to R6RS, or write new libraries in R6RS, serves to undermine  
> R6RS.
> Now, I can understand that the status quo may be in the best interest  
> of the PLT team and community and that you don't have much incentive  
> to encourage people to write code which is not dependent on the PLT  
> system.  I'll also appreciate that the PLT team does research on  
> programming languages and needs to experiment with new ideas.
> Presumably what needs to happen for R6RS to succeed is for one or more  
> R6RS implementations to become competive with PLT and begin to attract  
> users away from PLT, on their own merits.   I don't suppose we can  
> expect the PLT team to take the lead on this.

The problem, as I see it, is not a question of unwillingness, but a 
matter of limited resources.

PLT Scheme is more successful than other systems primarily because it 
has defined and implemented enough libraries to make PLT useful for a 
lot of real-world applications.  This is not a trivial task. and is an 
important contribution.  Without this, Scheme would not even be in teh 
running as a serious application programming language.

R6RS has made moves in this direction, providing more necessary tools, 
but moving slowly, with a lot of second thought, a lot of 
trying-to-be-certain-it-is-being-done-right, a lot of consensus-making.  
THis inevitably slows its development down, and the "standard" is only 
slowly becoming a widely-applicable system.  THis is nte nature of 
standards, especially good ones.

What needs doing is to bend PLT Schene in the direction of R6RS, 
gradually removing incompatibilities, and gradually creating bridges for 
old code.  There is a substantial base of old code.

And yes, the librries are going to have to be rewritten to make them 
portable.  To some extent this can probably be automated, with suitable 
name-spaces and macros.  To a greater extent is will probably have to be 
done by hand.  And some are just going to have to remain unportable 
because they use and provide features that do not exist in R^RS.

It will take work, and I don't see any signs the PLT scheme team is 
unwilling to take on this effort.

What I do see is limited resources.  I presume any assistance will be 
welcome, and that the role of the PLT scheme in this is to provide the 
coordination and common toolset that make this work.

-- hendrik

Posted on the users mailing list.