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

From: Tom Gordon (thomas.gordon at fokus.fraunhofer.de)
Date: Tue Nov 25 05:56:58 EST 2008

On Nov 24, 2008, at 9:56 PM, Shriram Krishnamurthi wrote:

> Folks,
> Could those of you posting to it kindly state what it is you *want*?

What I would like is for PLT to make R6RS the default language and  
make all the tools and libraries work well with R6RS programs.
And I would like the PLT team to use R6RS when developing new  
libraries, whenever feasible.

Of course it would also be nice if an effort was made to port  
exisiting PLT code to R6RS.  But I appreciate that this would require  
a huge effort.

I do not *expect*, let alone demand, any of this.  But you asked what  
we *want*.

> If there is a specific platform that *you use* and would like to see a
> port to, please name it.

No thank you.  PLT supports enough platforms for my needs already.

> If there is a specific R6RS primitive missing, please *name it*.

Nope.  Everything OK here.

> If it's that you are trying to program exclusively in R6RS and are  
> being forced to use features not in it, please explain why.

There are some things missing from R6RS that we need, but the ability  
to define system-specific implementations, using the foo.mzscheme.sls  
naming convention is sufficient.  Nothing needed here.

> ... In the past 7 years, I've advised the students who made three
> significant PLT code base efforts: the Web infrastructure, FrTime, and
> some aspects of debugging.  (That's not even counting applications
> like Continue or XeLda, or frameworks like DrOCaml.)  None of these
> would have been possible, at least in their present form, in R6RS
> alone.  What would you like us to have done?  Not written them at all?

No.  Just write as much as you can in R6RS and isolate the code which  
depends on extensions in specific, system dependent libraries.

If your project requires a completely different language than R6RS,  
well OK.   Than use another language.

> At least from some of you (perhaps only one of you), the  
> disappointment seems to be that all the modules in DrScheme weren't
> immediately rewritten to be in R6RS.

This wasn't *my* concern.   But it would have been nice if it were  
possible to use PLT modules in R6RS libraries to a greater extent.    
Changing lists in PLT Scheme to be immutable came at an unfortunate  
time.  And, again, it would have been nice if *new* PLT libraries were  
written in R6RS, but this does not seem to be your intention.

> Would you like to volunteer to rewrite them (and how will you  
> rewrite the numerous ones that use
> features not in R6RS)?  And if not, who do you expect to do it?

For our part, we have ported, or helped to port both our own code and  
the code others to R6RS.  And we will continue to do so, as the need  
arises for our application.

I don't expect anything from the PLT Team.  Its up to you to set your  
own goals and priorities and I will respect them.

> R6RS has already seen lots of contribution from PLT folks, at least  
> a proportional amount.  We're not out to sabotage the process.  But we
> also have to balance our expectations for R6RS with our personal  
> desire to make progress.

Surely no one on the PLT Team is intentional trying to "sabotage" the  
R6RS process.  I don't recall anyone even suggesting this.  But I do  
feel, sorry, that some of your choices recently tend to *undermine*  
R6RS and reduce its chance of succeeding as a standard.  I don't think  
this was intentional.  But can we now agree that this is in fact a  
risk?  And if you care about R6RS, let's all work together to minimize  
this risk.


Posted on the users mailing list.