[plt-scheme] if without third argument

From: Sam TH (samth at ccs.neu.edu)
Date: Fri Jun 27 12:14:01 EDT 2008

On Fri, Jun 27, 2008 at 11:45 AM, Tamas K Papp <tpapp at princeton.edu> wrote:
> On Fri, Jun 27, 2008 at 09:55:50AM -0500, Robby Findler wrote:
>> You might try the pretty big language in DrScheme.
>
> Is it possible to get that without the GUI (just the command line)?  I
> tried but could find no options for that.
>
>> I'm sorry that I'm not familiar with LAML, but worst comes to worst,
>> if you're not willing to port it and its authors are also not willing
>> to port it, v372 should continue to work. I'm sorry that I don't have
>> the time myself to do that job.
>
> I don't see the point in porting something that conforms to a standard
> to some dialect that does not, so I am not even going to raise this to
> the author...

It seems that the original program did not, in fact, conform to the
R5RS, since it used PLT-specific extensions, as you described.  Had it
conformed to the R5RS, it would almost certainly continue to work with
PLT v4.  Additionally, if it was written as a PLT application, using
modules, as recommended for both earlier and current versions, it
would likely work as well (modulo concerns about mutable pairs).
However, it seems to have fallen into a middle ground - and
R5RS-style, but not R5RS-conforming, program.  And indeed, the
behavior of such programs has changed in PLT v4.

Unfortunately, it's not possible to detect what semantics a programmer
would like, in the absence of specific declarations.  That's why we've
put a lot of effort into allowing programs to specify the language
they are written in, and such programs are much more likely to work
across versions.  Programs that don't do so, and that don't program to
a specific standard, will always have a harder time with
compatibility.

-- 
sam th
samth at ccs.neu.edu


Posted on the users mailing list.