Annotation of 43BSD/contrib/icon/man/man2/image.2, revision 1.1.1.1

1.1       root        1: .so tmac.ilib
                      2: .TH IMAGE 2 "The University of Arizona \- 6/28/83"
                      3: .SH NAME
                      4: Image \- generalized string image of Icon value
                      5: .SH SYNOPSIS
                      6: .nf
                      7: \*MImage(x)\fR
                      8: \*MImagex(x)\fR
                      9: .fi
                     10: .SH DESCRIPTION
                     11: The procedure \*MImage(x)\fR produces a string
                     12: image of the value \*Mx\fR. The value produced is a generalization of
                     13: the value produced by the Icon function \*Mimage(x)\fR, providing detailed
                     14: information about structures.
                     15: .PP
                     16: Tags are used to uniquely identify
                     17: structures. A tag consists of a letter identifying the type followed
                     18: by an integer. The tag letters are \*ML\fR for lists, \*MR\fR for
                     19: records, and \*MT\fR for tables. The first time a structure is encountered,
                     20: it is imaged as the tag followed by a colon, followed by a representation
                     21: of the structure. If the same structure is encountered again, only the
                     22: tag is given.
                     23: .PP
                     24: An example is
                     25: .DS
                     26: a := \^["x"]
                     27: push(a,\*ba)
                     28: t := table()
                     29: push(a,\*bt)
                     30: t\^[a] := t
                     31: t\^["x"] := \^[]
                     32: t\^[t] := a
                     33: write(Image(t))
                     34: .DE
                     35: which produces
                     36: .DS
                     37: T1:\^["x"\->L1:\^[],\*bL2:\^[T1,\*bL2,\*b"x"]\->T1,\*bT1\->L2]
                     38: .DE
                     39: Note that a table is represented as a list of entry and assigned
                     40: values separated by \*M\->\fRs.
                     41: .LP
                     42: The procedure \*MImagex(x)\fR is similar to \*MImage(x)\fR, except that
                     43: newlines and spaces are inserted to that the printed result is
                     44: displayed on multiple lines with indentation. There are other formatting
                     45: details that differ between the two procedures.
                     46: For the example given above, the result of
                     47: .DS
                     48: write(Imagex(t))
                     49: .DE
                     50: is
                     51: .DS
                     52: T1:{
                     53:    "x"
                     54:    \-\-\-
                     55: L1:[]
                     56:    ]
                     57: \-\-\-\-\-\-
                     58: L2:[
                     59:    T1
                     60:    L2
                     61:    "x"
                     62:    ]
                     63: \-\-\-
                     64: T1
                     65: \-\-\-\-\-\-
                     66: T1
                     67: \-\-\-
                     68: L2
                     69: \-\-\-\-\-\-
                     70: ]
                     71: .DE
                     72: .SH AUTHOR
                     73: Ralph E. Griswold

unix.superglobalmegacorp.com

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