Annotation of 43BSD/contrib/icon/book/17/close.icn, revision 1.1.1.1

1.1       root        1: procedure successors(graph,nodes)
                      2:    local snodes
                      3:    snodes := ''        # start with none
                      4:    graph ? repeat {
                      5:       if tab(any(nodes)) then snodes ++:= move(1)
                      6:       else move(2) | break     # exit at end of string
                      7:       }
                      8:    return snodes
                      9: end
                     10: 
                     11: procedure closure(graph,nodes)
                     12:    local snodes
                     13:    snodes := nodes     # start with given nodes
                     14:    while snodes ~===
                     15:       (nodes ++:= successors(graph,nodes)) do
                     16:          snodes := nodes       # update if change
                     17:    return nodes
                     18: end

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.