[plt-scheme] Please help test version 359.100

From: Jos Koot (jos.koot at telefonica.net)
Date: Tue Nov 14 10:45:06 EST 2006

Hi Robby and Matthias,
Agreed. I was a little bit hasty in my reaction, sorry. An implementation necessarily is an instantiation, like an element of a set. We all known what happens if the border between elements and sets are confused. Personally I think that an implementation should follow the law as far as possible and desirable, but where law is not clear or contrary to common sense, the implementator has the freedom to make things clear. Just mho. Personally I don't think that R5RS specifies whether or not 'unspecified' is uniquely specified or unspecified. I noticed that the same kind of problems is discussed on the R6RS list. Best wishes, Jos
  ----- Original Message ----- 
  From: Robby Findler 
  To: Jos Koot 
  Cc: plt-scheme at list.cs.brown.edu 
  Sent: Tuesday, November 14, 2006 1:28 PM
  Subject: Re: [plt-scheme] Please help test version 359.100


  On Nov 14, 2006, at 6:36 AM, Jos Koot wrote:

  > ----- Original Message -----
  > From: Matthias Felleisen
  > To: Jacob Matthews
  > Cc: Robby Findler ; plt-scheme at list.cs.brown.edu
  > Sent: Tuesday, November 14, 2006 3:39 AM
  > Subject: Re: [plt-scheme] Please help test version 359.100
  >
  > I don't think this is relevant. The true question is whether
  >
  >   (+ (for-each add1 '()) (for-each sub1 '()))
  >
  > steps to
  >
  >   (+ some-value some-value)
  >
  > or to
  >
  >   (+ some-value some-different-value)
  >
  > I believe that the second one is the case already. -- Matthias
  >
  >  Then why do I get: (eq? (for-each add1 '()) (for-each sub1 '())) -- 
  > > #t ?
  > (version 359.100-svn4nov2006) Greetings, Jos Koot


  Because an implementation can satisfy a specification without being  
  equivalent to it. I conjecture that no Scheme implementation is  
  equivalent to R5RS's specification.

  In other words, test a lot on many different implementations and you  
  still won't know for sure what the legal language means. -- Matthias


  At Tue, 14 Nov 2006 12:54:54 +0100, "Jos Koot" wrote:
  > ----- Original Message ----- 
  >   From: Robby Findler 
  >   To: Matthias Felleisen 
  >   Cc: Jacob Matthews ; plt-scheme at list.cs.brown.edu 
  >   Sent: Tuesday, November 14, 2006 4:09 AM
  >   Subject: Re: [plt-scheme] Please help test version 359.100
  > 
  > 
  >   My reading indicates they would both be legal.
  > 
  >   What seems to be illegal is
  > 
  >     (for-each (lambda (x) (values x x)) (list 1))
  >     -->
  >     (values 1 1)
  >
  > If I understand well, the procedure is invoked in tail position when
  > reaching the last element of the list. To me it seems up to the
  > continuation of the for-each call how many values can be returned. (I
  > don't bother much about this for in my code for-each calls always (I
  > hope) have continuations that disregard any returned value(s))

  That's what for-each does (did, until very recently anyways). The
  question is whether or not that's legal.

  Robby
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20061114/f769a6cc/attachment.html>

Posted on the users mailing list.