Re: Comments on draft 6 Arthur A. Gleckler (24 Feb 2012 05:10 UTC)
(missing)
Re: Comments on draft 6 Arthur A. Gleckler (24 Feb 2012 05:47 UTC)
Re: [Scheme-reports] Comments on draft 6 John Cowan (24 Feb 2012 06:09 UTC)
Re: Comments on draft 6 Arthur A. Gleckler (24 Feb 2012 06:12 UTC)
Re: [Scheme-reports] Comments on draft 6 Aaron W. Hsu (24 Feb 2012 23:27 UTC)
Re: [Scheme-reports] Comments on draft 6 Andy Wingo (24 Feb 2012 12:35 UTC)
Re: [Scheme-reports] Comments on draft 6 Jussi Piitulainen (24 Feb 2012 12:53 UTC)
Re: [Scheme-reports] Comments on draft 6 Andy Wingo (24 Feb 2012 14:54 UTC)
Re: [Scheme-reports] Comments on draft 6 Jussi Piitulainen (24 Feb 2012 15:23 UTC)
Re: [Scheme-reports] Comments on draft 6 Andy Wingo (24 Feb 2012 16:24 UTC)
Re: [Scheme-reports] Comments on draft 6 Aaron W. Hsu (24 Feb 2012 23:41 UTC)
Re: [Scheme-reports] Comments on draft 6 Aaron W. Hsu (24 Feb 2012 23:34 UTC)
Re: [Scheme-reports] Comments on draft 6 Andy Wingo (25 Feb 2012 18:00 UTC)
Re: [Scheme-reports] Comments on draft 6 Marc Feeley (24 Feb 2012 15:55 UTC)
Re: [Scheme-reports] Comments on draft 6 John Cowan (24 Feb 2012 21:22 UTC)
Re: [Scheme-reports] Comments on draft 6 Aaron W. Hsu (25 Feb 2012 00:28 UTC)
Re: [Scheme-reports] Comments on draft 6 John Cowan (25 Feb 2012 07:28 UTC)

Re: [Scheme-reports] Comments on draft 6 Jussi Piitulainen 24 Feb 2012 15:23 UTC

Andy Wingo writes:

> On Fri 24 Feb 2012 13:53, Jussi Piitulainen writes:
>
> > Implementations can do anything they like when the report says "it
> > is an error".
>
> Implementations can do whatever they like, in general ;-)

But implementations _of R7RS_ can do what they like when R7RS says
that something "is an error". That statement does not require them to
_signal_ an error, or to do something silly.

I think that was John Cowan's point: to leave things unspecified in a
way that allows implementations to specify them if they like. (I'm
uneasy about assignments to variables that haven't been defined in the
program, so I don't care myself.)

> But consider:
>
>   (define t 1)
>   (let ()
>     (define-syntax define-const
>       (syntax-rules ()
>         ((_ var val)
>          (begin
>            (define t val)
>            (define (var) t)))))
>     (define-const foo 2)
>     t)
>
> In Scheme, this must evaluate to 1.  I think all implementations
> support this.
>
> Now consider:
>
>   (define t 1)
>   (define-syntax define-const
>     (syntax-rules ()
>       ((_ var val)
>        (begin
>          (define t val)
>          (define (var) t)))))
>   (define-const foo 2)
>   t
>
> Does Scheme consider it a goal to specify the result of this
> program?

I don't know. Is it different from the following?

(define t 1)
(define t 2)
(define (foo) t)
t

(Yes, I may be missing a lot here. :)

_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports