I have been looking at some of the optimizations, and I found a few
interesting differences.


*** Chez may reorder expressions.

(car (list (display 1) (display 2)))  ;==> 21#<void>

I think this is ok in RNRS and Chez, but it may cuase a problem for a
program translated directly from Racket. I think that all the reorders
are in the optimization phase, but I'm not sure.



*** Chez has only one vector of length 0

(eq? (vector) (make-vector (* 0 (random 7)))) ; ==> #t

This is not an optimization, but a property of the internal system. I
actually like it.

It's not very useful for vectors, but it looks like a something useful
for strings.

(eq? (string) "") ; ==> #t

I think that this is one of the small details that have to be fixed,
but the change looks like a good idea for Racket2. [But the extended
version of (eq? (vector) (vector-immutable)) is something that I
prefer to keep #f.]


Gustavo

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-dev/CAPaha9MGDTGyZKrkg2KYUEbELTmowrjJCvHOqyX%2B8OGiwhNF-Q%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to