Annotation of researchv10no/cmd/sml/doc/NEWS, revision 1.1.1.1

1.1       root        1: Standard ML of New Jersey version 0.44, 4 December 1989
                      2: 
                      3: New release:
                      4: 
                      5: Starting with this release, the compiler source code is covered by an AT&T
                      6: copyright notice, which is included in each source code file.  The file
                      7: doc/COPYRIGHT contains the official copyright notice, license, and
                      8: disclaimer.  The file doc/release-form contains a release form that our
                      9: lawyer would like you to sign if you contribute software or modifications
                     10: that are included in the distribution.  Whether you sign it as an
                     11: individual or get your institution to sign it is your decision, but it is
                     12: undoubtedly quicker and simpler to sign as an individual.  The release form
                     13: is not necessary for simple bug fixes.
                     14: 
                     15: Mailing list:
                     16: 
                     17: There is now a Standard ML mailing list for messages and queries of general
                     18: interest to the ML community.  You can join by sending a request to
                     19: [email protected], and you can send a message to the list by mailing
                     20: to [email protected].  This mailing list will be the main vehicle for
                     21: distributing announcements about Standard ML of New Jersey.
                     22: 
                     23: Modules:
                     24: 
                     25: All known major bugs in the module system have been fixed, so please report
                     26: any new bugs or old bugs we missed.  The full module syntax from the
                     27: Definition, Version 3 is now implemented with minor limitations or
                     28: extensions, including let structure expressions and local and open
                     29: signature specs (see comments in doc/localspec).  Include specs work
                     30: properly once again.
                     31: 
                     32: Local and open specs:
                     33: 
                     34: David MacQueen has some comments about "local" and "open" specifications
                     35: in signatures; see doc/localspec.
                     36: 
                     37: Weak type variable syntax:
                     38: 
                     39: Standard ML of New Jersey has a more precise system for weak typing
                     40: (i.e. typechecking of programs that use semi-polymorphic reference
                     41: variables).  Other compilers denote weak type variables with an underscore,
                     42: i.e. '_abc, while ours uses an initial integer to denote level of weakness,
                     43: i.e. '2abc.  See doc/weak-types for a fuller explanation.  However,
                     44: for compatibility:
                     45:   The notation for weak type variables using an initial underscore is now
                     46: supported for input and output.  A weak type variable of the form '_a
                     47: is equivalent to the numeric form '1a.  On output, weak type variables
                     48: are printed using an initial integer.  However, if the ref variable 
                     49: System.Control.weakUnderscore is set to true, then weak type variables
                     50: of all levels are printed with an underscore.
                     51: 
                     52: Equality types:
                     53: 
                     54: Equality types are still broken.  Fixing these is the next order of business.
                     55: 
                     56: Import:
                     57: 
                     58: Nested imports do not work reliably in this version.
                     59: 
                     60: Optimizing compiler:
                     61: 
                     62: Hints on making your programs run faster are in doc/optimize.
                     63: 
                     64: Miscellaneous:
                     65: 
                     66: The SPARC code generator has been completely rewritten by John Reppy.
                     67: 
                     68: Bruce Duba continues to make improvements to the CPS code generator.
                     69: 
                     70: Andrew Appel is re-writing the parser to use David Tarditi's newest
                     71: version of the ML parser generator; this re-write is not complete but
                     72: the source files are included (along with the working recursive descent
                     73: parser) in src/parse/.
                     74: 
                     75: Linkdata:
                     76: 
                     77: The "linkdata" program, used for making a sharable version of the ML
                     78: compiler by putting all the .mo files into the text segment, did not work
                     79: on all operating systems.  There is a more portable, albeit much less
                     80: efficient, version of linkdata called "slinkdata".  Look in "src/makeml" to
                     81: see how it is used for the NeXT operating system, and you can use it that
                     82: way for your operating system too.  (Admittedly, this is very minimal
                     83: documentation!)
                     84: 
                     85: Bug fixes:
                     86: 
                     87: See latest doc/bugs file for remaining bugs.  This has been brought more or
                     88: less up to date.  We appreciate your bug reports and hope you will be 
                     89: patient as we work our way through them.  There is a new version of the
                     90: bug report format file (doc/bug.form), including a new "Severity:" field
                     91: that you should use to indicate how serious the bug is from your point of
                     92: view.  We get a lot of bug reports (which is good!) but we may not assign
                     93: the right priority to them without your help.
                     94: 
                     95: Version 1 plan:
                     96: 
                     97: Our tentative schedule calls for the release of version 1 of the compiler in
                     98: mid-January 1990.  There will probably be one more beta release between now
                     99: and then.  This is a more or less arbitrary deadline, and we will try to fix
                    100: as many bugs as possible before version 1 is released.  Development of the
                    101: compiler will continue as usual following this milestone, and major, widely
                    102: publicized releases will occur on a more regular and less frequent schedule,
                    103: e.g. perhaps three times a year.  Interim developmental versions can be made
                    104: available to those who have a special need for them.
                    105: 
                    106: ------------------------------------------------------------------------------
                    107: Standard ML of New Jersey version 0.42, 27 October 1989
                    108: 
                    109: Release notes by Andrew Appel, covering changes since version 0.39.
                    110: 
                    111: Bug fixes:
                    112: 
                    113: Large floating point literals do the right thing now, at least on the Vax.
                    114: 
                    115: Duplicate constructor names and field names are again detected.
                    116: 
                    117: Printing of records like {1="abc"} works correctly.
                    118: 
                    119: Reading 1025 bytes from standard input works.
                    120: 
                    121: Large list expressions of the form [(0,0),(0,0),(0,0), ..... (0,0)] no longer
                    122:    cause the compiler to blow up.
                    123: 
                    124: Previous versions have run on Sun-3s with Mach, this version might work
                    125: on Vaxes with Mach.  The next version should run on anything with Mach.
                    126: 
                    127: Compile-time processing of functors has been extensively rewritten,
                    128: and should be more robust.  There are still some remaining bugs, however,
                    129: which should now be easy to iron out.
                    130: 
                    131: The Io exception now carries a much more useful string value, containing
                    132: all sorts of information.
                    133: 
                    134: Other changes since version 0.39 are mostly of interest to implementors.
                    135: VALvars and STRvars now have qualids instead of ids, lexer interface
                    136: parametrized more cleanly.  Page-faulting is no longer used to detect
                    137: end-of-memory on most machines.
                    138: 
                    139: ---------------------------------------------------------------------------
                    140: Standard ML of New Jersey version 0.39, 8 September 1989
                    141: 
                    142: This notes overlap with the 0.36 release notes, since 0.36 was not
                    143: widely distributed [neither were 0.37 or 0.38].
                    144: 
                    145: Release notes by Andrew Appel.
                    146: 
                    147: Changes since version 0.33:
                    148: 
                    149: 1.  Support for Sun-4 (SPARC) thanks to John Reppy at Cornell;
                    150:     Encore (NS32032), NeXT (also Mach on other 68020 machines), and 
                    151:     Sony NEWS (68020-based workstation), thanks to James O'Toole at MIT.
                    152: 
                    153: 2.  An interpreter for faster compilation (4x) but slower execution (18x).
                    154:     Set System.Control.interp := true to enable this mode.  Use the -i
                    155:     or -ionly to makeml to set this option as the default.
                    156: 
                    157: 3.  Delay and Force primitives (meant for internal use only) for research
                    158:     in lazy evaluation.
                    159: 
                    160: 4.  Bug fixes:   reading 2049-byte files works now.  Separate compilation
                    161:     shouldn't dump core.  Miscellaneous others.
                    162: 
                    163: 5.  A code generator generator implemented by Johan Lilius,
                    164:     Jari Porra, & Jussi Rintanen of Helsinki University of Technology 
                    165:     is include in the Standard ML Software Library: see lib/twig.
                    166: 
                    167: 6.  Various internal efficiency improvements; the CMACHINE signature was
                    168:     simplified a bit; the format of generational-gc update lists was changed;
                    169:     the CPS optimizer was beefed up.
                    170: 
                    171: 7.  Separate compilation has been improved.  The compiled version of a 
                    172:     separately compiled file has the extension ".bin", and internally
                    173:     identifies the version of SML-NJ and also the machine type it 
                    174:     runs on.  The command "head -1 foo.bin" will print this information.
                    175: 
                    176: 8.  Many functor bugs have been fixed.
                    177: 
                    178: 9.  An improved version of ML-Yacc by David Tarditi at Princeton is provided,
                    179:     more efficient and with a better interface, and with sophisticated syntax
                    180:     error recovery.
                    181: 
                    182: Forthcoming in future releases:
                    183: 
                    184: - Mach support for Vax and other machines.
                    185: 
                    186: - Some work has been done on a MacIntosh II port, and we are hoping for
                    187: volunteers to continue this work.
                    188: 
                    189: - Our MIPS code generator almost works now (thanks to Norman Ramsey at
                    190: Princeton).
                    191: 
                    192: -----------------------------------------------------------------------------
                    193: What's new in SML of NJ Version 0.33, 1 April 1989
                    194: 
                    195: 1. CPS code generator
                    196: 
                    197: This version uses a new CPS (Continuation Passing Style) code
                    198: generator.  The CPS code generator differs from the older code
                    199: generator in the following ways:
                    200: 
                    201:    (i) The code produced is about 50% faster.
                    202: 
                    203:    (ii) The compiler generates code about half as quickly (this should
                    204: gradually improve with future releases).
                    205: 
                    206:    (iii) the new code generator does not use a stack.  This makes it easier
                    207: to support experimental features like callcc and multiple processes.
                    208: It also makes efficient garbage collection even more critical.
                    209: 
                    210:    (iv) The cps code generator tends to build larger intermediate
                    211: representations, so tuning of the runtime system becomes more
                    212: important.  See the discussion of memory management in doc/INSTALL.
                    213: 
                    214: 
                    215: 2. The runtime system
                    216: 
                    217: The runtime system has been extensively rewritten and cleaned up.  The
                    218: amount of assembly code has been reduced (only 220 lines for the Vax,
                    219: 385 for the Sun), and the system call interface has been simplified.  The
                    220: mechanism for initiating garbage collection has been made more robust.
                    221: In the m68 version (for Sun 3), exhaustion of free space is detected
                    222: by an explicit comparison rather than by trapping a segmentation fault.
                    223: This finally eliminates persistent flakiness caused by the way the 68020
                    224: recovers from segmentation faults.
                    225: 
                    226: LaTeX source for a new paper describing the runtime system can be
                    227: found in doc/papers/runtime.  This is still an early draft, but it should
                    228: be helpful in understanding internals of the run time system.
                    229: 
                    230: 
                    231: 3. The pervasive environment
                    232: 
                    233: The initial environment has been reorganized to make it possible to
                    234: build a system whose pervasives (i.e., built-in bindings) correspond
                    235: closely to those described in "The Definition of Standard ML, Version
                    236: 2" by R. Harper, R. Milner, and M. Tofte (ECS-LFCS-88-62, August 1988,
                    237: hereafter referred to as the "Definition").  Note that in our humble
                    238: opinion the "standard" environment is somewhat brain-damaged and is
                    239: missing many important features (like arrays, bytearrays, etc).  See
                    240: the file doc/environ for discussion of specific deficiencies of the
                    241: environment described in the Definition and our proposed fixes, some
                    242: of which are incorporated in the "New Jersey" environment.
                    243: 
                    244: The default initial environment set up by the bootstrapping process is
                    245: the richer, and more efficient, New Jersey environment.  However,
                    246: loading the source file src/lib/standard.sml defines a structure named
                    247: Standard that provides a close approximation to the "standard"
                    248: environment.  Opening the structure Standard at the top level replaces
                    249: any nonstandard bindings in the New Jersey environment.  The New
                    250: Jersey environment is still there in the background, so any New Jersey
                    251: bindings not rebound in Standard will still be visible.  In the future
                    252: we may provide a mechanism (e.g. a function switchEnv: string -> unit)
                    253: for completely replacing the base environment with a different version
                    254: specified by a structure.  For example, `switchEnv "Standard"' would
                    255: replace the existing base environment with the contents of Standard.
                    256: 
                    257: The initial environment also contains:
                    258: 
                    259: (1) The signatures ARRAY, BASICIO, BITS, BOOL, BYTEARRAY, GENERAL, IO,
                    260:     INTEGER, LIST, REF, STRING, and REAL as defined in src/boot/perv.sig, 
                    261:     and the signature SYSTEM as defined in src/boot/system.sig
                    262: 
                    263: (2) The structures Array : ARRAY, BasicIO : BASICIO, Bits : BITS, etc.
                    264:     These contain the New Jersey versions of bindings.
                    265: 
                    266: (3) The structure NewJersey, which contains the complete New Jersey initial
                    267:     environment except for the signatures in (1) above and the structure
                    268:     NewJersey itself.
                    269: 
                    270: It follows that even if Standard has been defined and opened, all New Jersey
                    271: bindings are available via the structure NewJersey, or alternatively via
                    272: the structures Array, IO, etc.
                    273: 
                    274: Here are some differences between the New Jersey and Standard environments:
                    275: 
                    276:   a.  The functions +, /, *, -, div, mod are an order of magnitude 
                    277:       slower in Standard than in the New Jersey environment.  This is
                    278:       because they are required to raise distinct exceptions (according
                    279:       to the Definition), and because the treatment of negative arguments
                    280:       of div and mod doesn't match what the hardware provides; that
                    281:       complicates their implementation.  The NewJersey functions all raise
                    282:       Overflow on results that won't fit in 31 bits (and Div on zero divisor
                    283:       for div and mod).
                    284: 
                    285:   b.  The functions div and mod return different results.
                    286: 
                    287:   c.  input and output are curried in NewJersey (and in the IO structure),
                    288:       but not in Standard.
                    289: 
                    290:   d.  The New Jersey environment has many more functions in it, as described
                    291:       in the appendix of our reference manual or the signatures in the files
                    292:       src/boot/perv.sig and src/boot/system.sig.
                    293: 
                    294: The New Jersey environment has changed slightly from previous releases,
                    295: mostly to make the it more compatible with the Definition [IMPORTANT --
                    296: THESE CHANGES MAY BREAK SOME PROGRAMS]:
                    297: 
                    298:   a.  The exception Io_failure has been renamed Io for consistency
                    299:       with the Definition.
                    300: 
                    301:   b.  The exception Float has been renamed Real.  Float is still defined
                    302:       as a synonym for Real.
                    303: 
                    304:   c.  The identifier "length" is no longer overloaded: use "size" or
                    305:       "String.size" for string lengths, "length" or "List.length" for
                    306:       list lengths, and "Array.length" for array lengths.
                    307: 
                    308:   d.  The functions "cd" and "system" are now components of the
                    309:       System structure.
                    310: 
                    311:   e.  Various components of the System structure have been moved
                    312:       into the System.Unsafe substructure, and are not recommended for
                    313:       casual use.
                    314: 
                    315:   f.  The print functions (Integer.print, Real.print, String.print,
                    316:       and the overloaded print), now return unit rather than their
                    317:       argument.  This is because we found that in our code virtually
                    318:       every call of print was followed by "; ()".
                    319: 
                    320: We plan to provide a definition of the NewJersey structure in terms of
                    321: the "standard" environment (analogous to the definition of Standard in
                    322: lib/src/standard.sml).  This structure would enable any Standard ML
                    323: system to run programs based on the New Jersey environment.  Such
                    324: programs should not reference the System structure, of course.
                    325: 
                    326: 4. Command line arguments and Shell environment
                    327: 
                    328: System.argv : unit -> string list
                    329: System.environ : unit -> string list
                    330:  
                    331: are new functions that return the list of command line arguments and
                    332: the Unix shell environment, respectively.
                    333: 
                    334: 5. First-class continuations: callcc, throw, and cont (experimental)
                    335: 
                    336: These are new experimental primitives to allow one to capture and use
                    337: "first-class continuations".  See the file doc/callcc for
                    338: documentation of these new facilities.
                    339: 
                    340: 6. Separate compilation (experimental)
                    341: 
                    342: We have integrated code written by Nick Rothwell and Mads Tofte of
                    343: Edinburgh that provides a preliminary, experimental form of secure (type
                    344: checked) separate compilation.  There is a special declaration form:
                    345: 
                    346:    import "filename"
                    347: 
                    348: where "filename" is a string literal designating either a source file
                    349: filename.sml or a binary file filename.bin.  If only the source file
                    350: exists in the current directory, then it is compiled and the binary
                    351: version is created.  If the binary version exists, it is loaded
                    352: instead of the source file.
                    353: 
                    354: As a consequence of adding this new facility, the identifier "import"
                    355: has become a reserved word.  This may cause incompatibilities with
                    356: existing code.
                    357: 
                    358: 7. mlyacc
                    359: 
                    360: The new directory src/lib/mlyacc contains a yacc-like parser generator
                    361: written in ML, with documentation.  The parser generator is used much
                    362: like the Unix yacc utility, and the grammar specification language is
                    363: essentially that of yacc.  The parser generator was written by David
                    364: Tarditi of Princeton, based on an earlier effort by Nick Rothwell.
                    365: Other, more sophisticated, interfaces to the parser generator will
                    366: probably be provided in future releases.  As before, the directory
                    367: src/lib/lexgen contains a lexical analyzer generator.
                    368: 
                    369: 8. Fixes
                    370: 
                    371: A number of things that have been broken are now fixed.  This includes
                    372: the garbage collector for the Sun 3, floating point operations on the
                    373: Sun 3, exportFn, sqrt, and execute.  Unfortunately, many old bugs
                    374: remain and the error messages are just as bad as ever.  We expect the
                    375: next release to fix many of these problems.  Bug reports are welcome as
                    376: ever, as are bug fixes.
                    377: 
                    378: 9. Things to come
                    379: 
                    380: John Reppy has ported SML of NJ to the Sun 4 (SPARC) architecture and
                    381: his code generator will be included in the next release.  A port to
                    382: the MIPS architecture (DECstation 3100 under Ultrix) is in the works
                    383: at Princeton, and a NeXT port is likely.  A port to the Mac II under
                    384: the native Mac OS may also appear soon.
                    385: 
                    386: We are working on a new licensing scheme similar to that used by the
                    387: Free Software Foundation.  We hope to have this approved within three
                    388: months, and we will keep you informed of new developments.
                    389: 
                    390: ------------------------------------------------------------------------------
                    391: New features of SML of NJ Version 0.24 (November 22, 1988)
                    392: 
                    393: 1. Profiler
                    394: 
                    395: A call-count and statistical profiler has been implemented.  See
                    396: operating instructions in the README file, and the paper provided in
                    397: src/doc/papers/profiling.
                    398: 
                    399: 
                    400: 2. Runtime reorganization
                    401: 
                    402: The runtime system has been reorganized to reduce the need for assembly
                    403: language and provide a standard interface for Unix system calls and
                    404: C code.  It should become possible to add special purpose C code to
                    405: the runtime system, for instance to provide an X windows interface.
                    406: Many of the assembly language functions have been replaced by more
                    407: portible C implementations and uses of the system call interface.
                    408: See src/doc/VERSION.24 for some more details.
                    409: 
                    410: 
                    411: 3. Memory Management tuning
                    412: 
                    413: The variable
                    414: 
                    415:   System.Control.Runtime.ratio : int ref
                    416: 
                    417: can be used to control the garbage collection behavior to some extent,
                    418: in conjunction with the Unix limit variable (in the csh).  See the
                    419: discussion in README.
                    420: 
                    421: 
                    422: 4. Simple gnu emacs sml mode
                    423: 
                    424: A simple gnu emacs sml mode was contributed by Mitch Wand.  It can be
                    425: found in src/lib/sml.el.  If you have a better mode or make improvements
                    426: on this version, please send them in to [email protected] for
                    427: inclusion in future releases.
                    428: --------------------------------------------------------------------------
                    429: New features of SML of NJ Version 0.22 (October 10, 1988)
                    430: 
                    431: This file describes the most notable changes since version 0.20.  (Version 0.21
                    432: was a local version that was not distributed.)
                    433: 
                    434: 
                    435: 1. Bugs
                    436: 
                    437: A few bugs have been fixed; exportFn works again; the system runs under the
                    438: latest version (4.0) of Sun Unix on a Sun-3.  See src/doc/bugs for the
                    439: remaining known bugs.  The next release with many more bug fixes will
                    440: probably follow fairly shortly.
                    441: 
                    442: 
                    443: 2. Sharable text segments
                    444: 
                    445: We now have an option to run sml with the compiler read-only and sharable
                    446: (in the Unix text segment).  This should help on systems where several
                    447: people are running sml at once, and also improves garbage-collector performance.
                    448: See src/doc/INSTALL for more info.
                    449: 
                    450: 
                    451: 3. CPS code generator
                    452: 
                    453: We are including the source code for the new cps code generator with
                    454: this release for those who would like an early look at it.  This code
                    455: generator is still under development and works only on Vaxes at this
                    456: point.
                    457: 
                    458: 
                    459: 4. Installation
                    460: 
                    461: The maker script for building the interactive image has been reorganized
                    462: and new scripts maker.batch and maker.run have been added to simplify
                    463: making batch systems and compiling the runtime system.  See src/doc/INSTALL
                    464: and src/doc/BATCHINSTALL for details.
                    465: 
                    466: 
                    467: 5. Lexer generator
                    468: 
                    469: The directory src/lib is a new directory for contributed software.
                    470: The programs included here do not come under the terms of the AT&T
                    471: license.  The first contributed software is a lexical analyzer
                    472: generator similar to the Unix lex utility.  It is in src/lib/lexgen.
                    473: lexgen has been used to generate a new lexical analyzer for the
                    474: compiler.  The specification is in src/lex/ml.lex.
                    475: 
                    476: 
                    477: ----------------------------------------------------------------------------
                    478: New features of SML of NJ Version 0.20
                    479: 
                    480: This file describes the most notable changes since version 0.18.  (Version 0.19
                    481: was a local version that was not distributed.)
                    482: 
                    483: 1. Bugs
                    484: 
                    485: Quite a few bugs have been fixed, mostly relating to type checking and modules.
                    486: See src/doc/bugs for the remaining known bugs.  
                    487: 
                    488: 
                    489: 2. Reference types
                    490: 
                    491: The typing of references and arrays is less restrictive.  For
                    492: instance, the following is now permitted, whereas it used to cause an
                    493: error message:
                    494: 
                    495:    let val r = ref [] in r := [1]; !r end;
                    496: 
                    497: Thus locally declared reference variables like r in this example do not
                    498: need to be explicitly constrained to have a monotype.
                    499: 
                    500: 
                    501: 3. Equality types
                    502: 
                    503: Equality types are now implemented.  Equality types are those
                    504: "hereditarily concrete" types whose values admit structural equality.
                    505: The implementation of equality types involves the new signature
                    506: specification keyword "eqtype" indicating that the specified type
                    507: constructor admits equality, and special equality type variables
                    508: starting with double single quotes (e.g. ''a) that are restricted to
                    509: range over equality types.  
                    510: 
                    511: An equality type is one containing only type constructors that "support
                    512: equality".  The following type constructors support equality:
                    513: 
                    514:    int, string, real
                    515:    
                    516:    any datatype whose constuctor argument types are equality types
                    517:    (disregarding parameter type variables)
                    518: 
                    519:    record type constructors
                    520: 
                    521:    type constructors from functor parameters that are specified as eqtypes
                    522: 
                    523: In addition, any reference or array type is an equality type.
                    524: 
                    525: Abstract type constructors, "->", and exn do not support equality.
                    526: 
                    527: 
                    528: 4. Include specifications in signatures
                    529: 
                    530: Include specifications allow one to include the specifications of a previously
                    531: defined signature in a new signature.  The syntax is 
                    532: 
                    533:    include SIG
                    534: 
                    535: where SIG is the name of a signature.  For example, given the declaration
                    536: 
                    537:    signature AA =
                    538:    sig 
                    539:      type t
                    540:      val x : t
                    541:    end
                    542: 
                    543: the declaration 
                    544: 
                    545:    signature BB =
                    546:    sig
                    547:      include AA
                    548:      val y : t -> int
                    549:    end
                    550: 
                    551: is equivalent to
                    552: 
                    553:    signature BB =
                    554:    sig
                    555:      type t
                    556:      val x : t
                    557:      val y : t -> int
                    558:    end
                    559: 
                    560: 
                    561: 5. Free identifiers in signatures and structures
                    562: 
                    563: Structure definitions can now contain free identifiers of any sort
                    564: (values, constructors, exceptions, types), not just free signatures,
                    565: structures and functors.  Signature definitions can contain free
                    566: structure and type identifiers, as well as free signature identifiers.
                    567: 
                    568: 
                    569: 6. Printing of signatures and structures
                    570: 
                    571: Signatures defined at top level are printed.  Structures defined at
                    572: top level have their signatures printed (currently in full -- in the
                    573: future only the name of the signature will be printed if it has one).
                    574: Printing of signatures can be turned off by setting the flag
                    575: System.Control.Print.signatures to false.
                    576: 
                    577: 
                    578: 7. Memory management improvements
                    579: 
                    580: The runtime system manages memory better.  The system automatically
                    581: resizes the heap on startup and during collections, allowing the
                    582: system to perform more gracefully on systems with limited memory.
                    583: 
                    584: The behavior and type of the flag controlling gc messages has changed:
                    585: 
                    586:   System.Control.Runtime.gcmessages: int ref
                    587:     when 0, no messages are printed
                    588:     when 1, only major collections are reported
                    589:     when 2, major collections and heap resizings are reported
                    590:     when 3, minor and major collections and heap resizings are reported

unix.superglobalmegacorp.com

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