\ list 10/18/97 gwj \ support for dictionary-based \ linked lists \ (thanks to Rick Hoselton) require basics \ useful words for linked lists - rfh : @! ( n1 addr -- n2 ) dup @ -rot ! ; : link, ( 'head -- ) here swap @! , ; \ reverse a linked list in-place - rfh : revchain ( 'head -- ) 0 over @ begin ?dup while tuck @! repeat swap ! ; variable vDoList \ perform xt on every node in the \ list whose head is stored in 'head : enum.list ( 'head xt -- ) vDoList @! >r begin @ ?dup while dup vDoList perform repeat r> vDoList ! ;