[plt-scheme] if without third argument

From: Tamas K Papp (tpapp at Princeton.EDU)
Date: Fri Jun 27 10:41:18 EDT 2008

On Fri, Jun 27, 2008 at 07:58:00AM -0500, Robby Findler wrote:
> R5RS programs and R6RS programs have no intersection, I don't believe,
> so you'd probably have to choose one of them.
> 
> Does this help?
> 
> http://docs.plt-scheme.org/r5rs/index.html

No, not really (see below).

Perhaps I was not clear, so I will try to explain again.  There is a
program (LAML) that used to work with mzscheme before version 4.  When
I upgraded to mzscheme, it broke, the first incompatibility I found is
the nonstandard behavior of "if", there may be others.  Reverting to
R5RS does not help, because the author used functions available in
mzscheme but outside the standard (like directory-exists?).

So what I would like is something that makes mzscheme work like the
standard at least with respect to functions that are in the standard
(r5rs, r6rs, doesn't matter in the case of this program), _and_ has
the typical mzscheme extensions that programs use (thinks like
file-exists?, etc).

> (Please don't be upset with my continual pointing you to the docs. The
> last year has seen a huge amount of energy going into improving them
> and it would be a shame to see that go to waste.)

I am not upset by that.  I am upset by the fact that there is a
so-called `standard', and mzscheme redefined the behavior of something
crucial that is explicitly defined in that standard.  My primary
language is Common Lisp, and I only use scheme to run LAML.  Years ago
I had to make up my mind whether to learn CL or Scheme, and the reason
I chose CL was that I found that Scheme dialects are not compatible
with each other.  Now as it turns out that they are not even
compatible with the standard (which is already the shortest standard I
have seen for a computer language, ever), I am glad I chose CL.

Sorry for the rant.

Best,

Tamas


Posted on the users mailing list.