[racket-dev] literal strings and numbers are now interned

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Tue Nov 22 15:09:10 EST 2011

Why did the reader make this promise?

Robby

On Tue, Nov 22, 2011 at 1:50 PM, Matthew Flatt <mflatt at cs.utah.edu> wrote:
> At Tue, 22 Nov 2011 09:18:30 -0700, Matthew Flatt wrote:
>> Along the same lines, I think it's unlikely that good programs are
>> affected by the `read' interning change
>
> Some Scribble tests failed in DrDr, because the Scribble reader
> actually promises a distinct "\n" for literal newlines. There's no way
> to make that work with syntax objects, since `datum->syntax' now always
> interns strings.
>
> Any objection to removing that feature of the Scribble reader?
>
> The idea of a specific "\n" isn't compatible with separate compilation,
> even prior to v5.2.0.4, in the sense that
>
>                      a.rkt
>                      -----
>  #lang at-exp racket
>  (provide is-source-newline?)
>  (define nl '@{
>              })
>  (define (is-source-newline? v) (eq? (first nl) v))
>
>                      b.rkt
>                      -----
>  #lang at-exp racket
>  (require "a.rkt")
>  (define nl '@{
>              })
>  (is-source-newline? (first nl))
>
> produces different results depending on whether "b.rkt" is run from
> bytecode or from source.
>
> _________________________________________________
>  For list-related administrative tasks:
>  http://lists.racket-lang.org/listinfo/dev
>



Posted on the dev mailing list.