Annotation of 43BSD/contrib/icon/docs/version5.9, revision 1.1

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.

unix.superglobalmegacorp.com

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