[racket-dev] shared no longer works on cons?!?
On 10/20/2011 09:14 PM, Shriram Krishnamurthi wrote:
> Ryan, I noticed this seems to be a problem in full Racket as well: try
>
> #lang racket
>
> (define web-colors
> (shared ([W (cons "white" G)]
> [G (cons "grey" W)])
> W))
>
> (rest web-colors)
>
> Robby privately wrote to say it should be regarded as a bug.
There seem to be conflicting intentions somewhere. Perhaps the
racket/list checks were really intended to use proper-or-cyclic-list?...
except that I think they were also put in place with the idea that list?
was amortized constant time (cached in the pair header bits). I know Eli
had to make the lazy version of first different for roughly the same
reason, so maybe he can say whether this issue was considered for racket
or the teaching languages.
Ryan