[gambit-list] My R6RS vote

Bill Richter richter at math.northwestern.edu
Wed Aug 15 15:39:37 EDT 2007


Thanks, Marc!  By "context", I meant What is the `Scheme community',
and how does RnRS fit in?  In more detail:

I think anyone who wants a fast Scheme compiler ought to use Gambit.
That's what Brad told me a long time ago, and I'm sure it's true.  So
it doesn't matter to me what the other Scheme compilers are doing,
because I won't use them!  So I wonder why you even care what other
Scheme folks are up to, what standards they're proposing.  The obvious
answer is that you & Gambit belong to the `Scheme community', and it's
important for the community to embrace a good standard.  But I really
don't know anything about this community.  That is, how are schemers
and compilers connected to each other?  If the connections are weak
enough, who needs standards?  Shriram K (whose book I improved,
finding & fixing an error on free/bound variables) made a good
relevant point: We don't think of TcL and Python as being the same
language, even though they're similar.  They go their separate ways.

Let me tell the sort of answers I'm thinking of.  I belong to the Pure
Math community (even though they haven't hired for 10+ years), which
maintains lots of Math journals, and it's the joint responsibility of
the Math community to maintain these journals at a high quality: to
publish true & useful results.  All the referees, editors and
theorem-provers work together, depending on each other, connected.

Now I use Scheme to write programs, as I find it a pleasant language
to write in, and Gambit is acceptably fast, but I got into Scheme
mostly because of the slogan that Scheme is a good first language.
Well, you don't need a Scheme standard for teaching a CS101 class!  

I stuck around in Scheme because I got interested in some CS points:
Felleisen's Lambda-value Calculus (LC_v), and Denotational Semantics
(DS), which is promoted in Clinger's R5RS appendix.  I think LC_v and
DS are fascinating mathematical subjects, but I was very baffled by
the response I got.  I simplified some of Felleisen's LC_v results
(better Y_v combinator derivation, shorter proof of the Standard
Reduction Theorem), and Felleisen didn't care, he didn't merge my
improvements into his manuscript (which Flatt now maintains).  I
concluded that that CS students aren't expected to understand LC_v,
but to be properly intimidated by it, and then go on to more useful
endeavors.  So I have no feel for how LC_v (or LC) fits into CS.
Clinger disgraced himself on comp.lang.scheme by failing to understand
the simple mathematical points I was making about DS: we can easily
define compositional semantic functions without the use of
non-Hausdorff Cantor sets (i.e. Scott models of LC).  I concluded that
understanding DS is also not important in CS!

OK.  I know that Clinger and Flatt are involved in R6RS, and I find
them baffling.  What (little) I know of their CS interests doesn't
explain to me why they're interested in Scheme, still less why they
should be trusted with a Scheme standard.  That is, suppose instead
that LC_v & DS were vibrant CS pursuits with strong connections to
Scheme.  I think I'd see why CS professors like Clinger and Flatt were
involved with the Scheme standard.

Well, there's also applications, right?  Is Scheme supposed to be a
good language to write real-world programs in?  Telecommunications
software, video games?  If so, presumably the folks who write these
real-world Scheme programs have a real need for a good standard.  But
I don't know who these folks are, or what their needs are. 

-- 
Best,
Bill 



More information about the Gambit-list mailing list