Blocks-A New Data type for SNOBOL4 A new data type, called a block, has been implemented for SNOBOL4. A block is a three-dimensional aggregate of characters in the form of a right parallelepiped, best thought of as a three-dimensional extension to a string. (The third dimension is used for overstriking.) Blocks may be printed, concatenated in any of three dimensions, and merged on the basis of program-defined connection points. Some blocks adapt in size and shape to their environment. Blocks and their operations are mainly used for composing printable output. A variety of graphical problems (including flowcharting, bargraphs, logic diagrams, mathematical-equation formation, and text justification and preparation) have been programmed on a printer in what appears to be an easy and natural way. In addition to these somewhat specialized applications, blocks appear to be a good general purpose device-independent output formation mechanism especially suitable for nonnumerical work. The concept of a block is largely language independenthat is, blocks require little in the way of specialized syntax and could readily be absorbed into the external structure of most programming languages. CACM June, 1972 Gimpel, J. F. character manipulation, output formatting, string processing, graphics, nonnumerical programming, SNOBOL4, data types, two-dimensional mathematics, test processing, flowcharting 4.22 4.41 CA720604 JB January 30, 1978 4:38 PM 1086 4 2341 1132 4 2341 1234 4 2341 1263 4 2341 1265 4 2341 1270 4 2341 1323 4 2341 1358 4 2341 1379 4 2341 1380 4 2341 1453 4 2341 1464 4 2341 1484 4 2341 1491 4 2341 1498 4 2341 1613 4 2341 1614 4 2341 1767 4 2341 1781 4 2341 1781 4 2341 1781 4 2341 1825 4 2341 1860 4 2341 1945 4 2341 2083 4 2341 2178 4 2341 2179 4 2341 2252 4 2341 2325 4 2341 2341 4 2341 2341 4 2341 2341 4 2341 2341 4 2341 2546 4 2341 2645 4 2341 2652 4 2341 2684 4 2341 2842 4 2341 2929 4 2341 2934 4 2341 3069 4 2341 669 4 2341 679 4 2341 691 4 2341 761 4 2341 949 4 2341 989 4 2341 990 5 2341 1466 5 2341 1468 5 2341 2341 5 2341 2341 5 2341 2341 5 2341 2545 5 2341 3184 5 2341 1739 6 2341 1781 6 2341 2341 6 2341