(shared ((-id1- expr1)
(-id2- expr2)
...)
expr3)
where the s may contain references to the
exprs. For example, the value produced by evaluating
id
(define a (list 1 2 3)) (list a (cdr a) (cddr a))
would normally be displayed as
(list (list 1 2 3) (list 2 3) (list 3))
but with sharing it produces
(shared ((-1- (cons 2 -2-))
(-2- (list 3)))
(list (cons 1 -1-) -1- -2-))
For a similar example of sharing see Figure 1.