[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Scheme pre-R6RS Workshop at ICFP - What is the Point?

   Date: Wed, 27 May 1998 11:43:19 -0400
   From: Matthias Blume <blume@CS.Princeton.EDU>

   From: Alan Bawden <Alan@lcs.mit.edu>
   Subject: Re: Scheme pre-R6RS Workshop at ICFP - What is the Point?
   Date: Wed, 27 May 1998 11:02:51 -0400

   > My question was: Is Scheme interested in addressing the problems of
   > people like Sperber and Bawden, who try to use Scheme for serious
   > programming?  There are those who would answer "No".  I'd like us to
   > finally decide the question.

   I don't think it is reasonably to expect that such a question can be
   decided. Who exactly are the people who are summarily referred to as
   "Scheme" here?  Those whose names appear on the Scheme report?  Those
   on this list? Those who are trying to _use_ the language?  There is no
   easy answer to this, so the question must be un-asked. MU.

If the answer is "MU", then it might as well be "No".  Whe I go to my
employer and tell him I'd like to develop a new product in Scheme, he's
going to want to know a few things about the language.  Can he expect the
kind of support from the language designers that he's come to expect from
other languages?  If I tell him the answer is "MU", what have I told him?
I've told him "No".

A little example.  Sometimes I'd like to be able to open a file and read it
as a sequence of 8-bit bytes.  Currently there is no portable way to do
this.  I've never found a Scheme implementation where I -couldn't- do it,
but it has never been the same way twice.  So what attitude do the Scheme
authors take towards this seeming problem?  Is it:

 1.  Scheme is not intended for applications where binary I/O is needed, and
     we don't plan for that to change.  The status quo, where every
     implementation does it differently, is the way it will always be -- get
     used to it.

 2.  While core Scheme will never support binary I/O, but we'd like to see
     the development of a separate standard for extended Scheme I/O that
     would address this issue.  Scheme implementations would be free to
     implement or ignore this extension.

 3.  Same as above, except Scheme implementations cannot introduce anything
     that conflicts with the extension.  I.e., if an implementation had a
     procedure with the same name as one in the extension, then that
     procedure would have to behave as the extension required.  (Just like
     all those "optional" procedures we used to have in R3RS.)

 4.  If we were presented with a proposal for binary I/O that we liked, we'd
     make it part of the next RnRS.  
So what do you mean by "MU"?

   To me, it is unbelievable how quickly Richard's well-meant request has
   deteriorated into political bickering.  All he wants is that people
   get a chance to sit together and talk about _design_ (as opposed to

Talking politics is not necessarily "deterioration", in this situation it
seems to me to be the way to make progress.  We are not "bickering", we are
having a discussion about serious issues.

				- Alan