pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/lang/polyml

Module Name:    pkgsrc
Committed By:   asau
Date:           Mon Oct  8 14:26:03 UTC 2012

Modified Files:
        pkgsrc/lang/polyml: Makefile

Log Message:
Update to Poly/ML 5.5

Changes in Poly/ML Version 5.5

Major New Features

    Storage management rewrite. The storage management system
    has been almost completely rewritten. The garbage collector
    is parallelised and a new mechanism has been introduced to
    adjust the size of the heap. When space is very short an
    extra pass may be triggered that merges immutable cells with
    the same contents. Thanks to Tobias Nipkow and the Technical
    University of Munich for support for this work.

    PolyML.shareCommonData has been parallelised and now uses a
    dynamic stack to avoid a possible segfault if the C stack
    overflows with deep data structures.

    There is now support for 64-bit on Windows using either
    mingw or Visual Studio.

    Added a PolyML.Statistics structure to extract information
    about the current ML program or that running in another

    The standard "text" and "data" areas are now used for
    exported object files. In particular this removes the need
    for --segprot when linking the object files on Mac OS X with
    previous versions.

    libffi is now used for foreign function interface
    (CInterface). Among other things this allows the full range
    of types to be use on X86/64. A version of libffi is
    included in the source but those packaging Poly/ML may
    prefer to use the --with-system-libffi option to the
    configure script to use the version installed on the

    Withdrawn support for native-code on PPC and Sparc. The
    configure script will now fall back to the interpreted
    version on these platforms.

Minor Additions and Changes

    Added G, M, K suffix to RTS arguments for --maxheap and --minheap.

    Some changes to where "op" is allowed to conform more
    closely to the Definition.

    --debug and --logfile options. These allow fine control of
    debugging information within the run-time system.

    Added --error-exit option to terminate the top-level loop if
    any command raises an exception.

    Added PolyML.IntInf with gcd and lcm functions to use GMP's
    gcd function if available.

    Added PolyML.Compiler.allocationProfiling to work with
    PolyML.profiling 4. This causes each full GC to print a
    profile indicating where the currently live data has been

    Removed NetDB structure from the library since this was in
    an early draft of the basis library but not in the final book.

    Added PolyML.Codetree structure within PolyML. This allows
    ML code to build intermediate code data structures and
    generate machine code from them.

    Added "--use FILENAME" command line argument to run a command
    from a file before starting the main Read-Eval-Print loop.

Bug Fixes

    Fixes related to Word32 on X86-64 and Word.~>>.

    Vol allocation locking issue

    Floating point box issue

    Fix some functions in the Windows structure to match the
    Basis Library definition

    Fix a possible crash if a GC happened while another thread
    was in foreign code.

    Fix error in printer function for a datatype where the
    effect of PolyML.print_depth depended on the posiition
    of a constructor in the datatype.

    Fix bug with flexible record handling.

    Fix Real.fmt and Real.toString to conform to the Basis
    Library definition.

    Fix Real.abs with nan argument.

    Fix IEEEReal.toString for nan argument.

    Fix code-generator bug which resulted in incorrect result
    for Real.nextAfter.

    Fix bug the produced Subscript exceptions in stream IO.

To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 pkgsrc/lang/polyml/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Home | Main Index | Thread Index | Old Index