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

1.1       root        1: procedure reverse(s)
                      2:    static labels, trans, max
                      3:    initial {
                      4:       labels := "abcdefghijklmnopqrstuvwxyz"
                      5:       trans := "zyxwvutsrqponmlkjihgfedcba"
                      6:       max := *labels
                      7:       }
                      8:    if *s <= max then
                      9:       return map(right(trans,*s),left(labels,*s),s)
                     10:    else return reverse(right(s,*s - max)) ||
                     11:       map(trans,labels,left(s,max))
                     12: end

unix.superglobalmegacorp.com

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