On 11/28/2018 12:15 PM, Alexis King wrote:
> On Nov 28, 2018, at 07:15, Matthew Flatt <mfl...@cs.utah.edu> wrote:
> Yes, that's special handling for pairs in the sense that the
> traditional Racket implementation takes advantage of leftover bits in a
> pair object, and it uses two of them for "is a list" and "not a list".
> Racket-on-Chez doesn't have the extra bits to work with, so "is a list"
> and "not a list" information is recorded separately in an `eq?`-based
> hash table.
Why does keeping track of “is a list” and “not a list” require two bits? It
seems like a pair either is or is not a list, so one bit of information would
be sufficient. Are there situations where the system can neither be sure that
something is or is not a list? Circular lists, or something like that?
(This is not really important, of course, I’m just curious.)
I'm guessing that one of those bits actually is just the "pair" bit, and
that the "list" bit differentiates a pair that is in a "proper" list
from one that is not.
You received this message because you are subscribed to the Google Groups "Racket
To unsubscribe from this group and stop receiving emails from it, send an email
For more options, visit https://groups.google.com/d/optout.