|
|
1.1 root 1: .so tmac.tr
2: .sv |1.25i
3: .de Ip
4: .IP \(bu \w'\(bu'u+1n
5: ..
6: .LP
7: .ce 10
8: \f3Version 5.9 of Icon\fR
9: .sp 2
10: Ralph E. Griswold, Robert K. McConeghy, and William H. Mitchell
11: .sp
12: August 22, 1984
13: .ce 0
14: .sp 1
15: .PP
16: Version 5.9 of Icon is a modification of Version 5.8 of Icon.
17: The \*U implementation runs on both PDP-11s and VAXs. This document
18: is a brief summary of Version 5.9. See also References 1, 2, and 3.
19: .Un
20: .SH
21: Changes
22: .LP
23: .in 5n
24: .Ip
25: An optional language extension provides sets as a built-in data type [3].
26: .Ip
27: The Icon compiler has been deleted, leaving only the interpreter.
28: A ``personalized interpreter'' facility has been added to allow individuals to maintain
29: customized versions of the Icon run-time system [5].
30: This facility replaces the former use of
31: external functions with the Icon compiler to augment the function
32: repertoire of Icon.
33: .Ip
34: The implementation of the table data type has been redone to
35: increase the efficiency of table lookup.
36: .Ip
37: There is a new keyword, \*M&options\fR, whose value is a string listing
38: the options used for installing Icon at the local site [3, 4].
39: .Ip
40: Considerable work has been done throughout the Icon system to
41: improve the quality of the code and to remove nonportable
42: constructs.
43: .Ip
44: The source code has been commented extensively.
45: .Ip
46: A number of minor bugs have been fixed.
47: .Ip
48: The Icon program library has beed reorganized and new material has been
49: added to it [6].
50: .Ip
51: The Icon distribution hierarchy has been reorganized and new material
52: has been added to aid in testing and porting to new computers [4].
53: .in 0
54: .SH
55: User Impacts
56: .LP
57: .in 5n
58: .Ip
59: Persons who formerly used the Icon compiler with external functions
60: will need to convert to personalized interpreters.
61: .Ip
62: The internal organization of tables is different from earlier
63: implementations. For example, if
64: \*Mt\fR is a table,
65: the order of elements generated by \*M!t\fR generally is different from before.
66: Similarly, the value of \*M?t\fR is likely to be different.
67: .Ip
68: The functionality of some components of the Icon program library
69: has been changed.
70: .in 0
71: .bp
72: .SH
73: Known Bugs
74: .PP
75: This list ennumerates all known bugs in Version 5.8 of Icon.
76: If you find a bug that is not in this list, please contact us.
77: .LP
78: .in 5n
79: .Ip
80: The translator does not detect arithmetic overflow in conversion of
81: numeric literals. Very large numeric literals may have incorrect values.
82: .Ip
83: Integer overflow on multiplication and exponentiation are not detected
84: during execution.
85: This may occur during type conversion.
86: .Ip
87: Line numbers may be wrong in diagnostic messages related to lines with continued
88: quoted literals.
89: .Ip
90: In some cases, trace messages may show the return of subscripted
91: values, such as \*M&null\^[2]\fR, that would be erroneous if they were
92: dereferenced.
93: .Ip
94: File names are truncated to 14 characters by some versions of UNIX. If such a truncation
95: deletes part of the terminating \*M.icn\fR of a file that
96: is input to the translator,
97: mysterious diagnostic
98: messages may occur during linking.
99: .Ip
100: On PDP-11s, list blocks can contain no more than 4090 elements. List
101: blocks are created when the \*Mlist()\fR function is called, when
102: literal lists are specified, and when the \*Msort()\fR function
103: converts a table into a list. It should be noted that it is possible
104: for a list to grow to beyond 4090 elements; the limitation is only
105: upon the size of the list when it is created.
106: .Ip
107: There is a bug in the 4.1bsd \*Mfopen()\fR routine that under certain
108: conditions returns a \*MFILE\fR pointer that is out of range when
109: one tries to open too many files.
110: On systems where this bug is present, it may manifest itself in the form of
111: run-time Error 304 when one tries to open too many files.
112: (On 4.1bsd systems this limit is usually 20 files.)
113: .Ip
114: If one has an expression such as \*Mx := create \*(El \fR in a loop, and
115: \*Mx\fR is not a global variable, the unreferenceable expression stacks
116: generated by each successive \*Mcreate\fR operation are not
117: garbage collected. This problem can be circumvented
118: by making \*Mx\fR a global variable or by assigning a value to \*Mx\fR before
119: the \*Mcreate\fR operation, e.g., \*Mx := &null; x := create \*(El \fR.
120: .Ip
121: Overflow of a co-expression stack due to excessive recursion is not detected
122: and may cause mysterious program malfunction.
123: .Ip
124: Program malfunction may occur if \*Mdisplay()\fR is used in a co-expression.
125: .Ip
126: The garbage collector was designed for machines with small
127: address spaces and as such is not well-suited for
128: machines like the VAX. No empirical studies have been made,
129: but it is suspected that performance of the garbage collector
130: could be improved substantially on the VAX. In particular, if
131: the user attempts to create a very large data object that will
132: not fit into memory, (such as a million-element list), it takes
133: the system an inordinately long time to determine that the object can
134: not be allocated.
135: .in 0
136: .SH
137: References
138: .LP
139: 1. Griswold, Ralph E. \fIAn Overview of the Icon Programming Language\fR.
140: Technical Report TR 83-3a, Department of Computer Science, The
141: University of Arizona. May 1983.
142: .LP
143: 2. Griswold, Ralph E. and Madge T. Griswold.
144: \fIThe Icon Programming Language\fR. Prentice-Hall Inc., Englewood
145: Cliffs, New Jersey. 1983.
146: .LP
147: 3. Griswold, Ralph E., Robert K. McConeghy, and William H. Mitchell. \fIExtensions
148: to Version 5 of the Icon Programming Language\fR.
149: Technical Report TR 84-10a,
150: Department of
151: Computer Science, The University of Arizona.
152: August 1984.
153: .LP
154: 4. Griswold, Ralph E. and William H. Mitchell. \fIInstallation and
155: Maintenance Guide for Version 5.9 of Icon\fR, Technical Report
156: TR 84-13, Department of Computer Science, The University of
157: Arizona. August 1984.
158: .LP
159: 5. Griswold, Ralph E., Robert K. McConeghy, and William H. Mitchell.
160: \fIPersonalized Interpreters for Icon\fR. Technical Report TR 84-14,
161: Department of Computer Science, The University of Arizona. August 1984.
162: .LP
163: 6. Griswold, Ralph E. \fIThe Icon Program Library\fR. Technical Report
164: TR 84-12, Department of Computer Science, The University of Arizona.
165: August 1984.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.