On Friday, Jun 20, 2003, at 18:29 US/Pacific, Tanaka Akira wrote: > In my view, this problem is "how to generate arbitrary graph > structure". Since "- &a [*a, *a]" denotes cyclic structure, it is > clearly not possible to generate it in bottom-up or top-down. Some > destructive update is required. This exact discussion is going on in the little languages mailing list. Guy Steele and others are talking about self referencing s-exprs. Apparently scheme has had this ability for some time. eg: #1=(a . #1#) creates a list with 'a' and a reference back to the list. #1 is a marker, and #1# refers to it. Given that the implementation of scheme is so tiny, maybe it would be worthwhile to go sniff through a scheme implementation and see what they do.