|
|
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.