
            OCCAM FOR ALL : KENT RETARGETABLE OCCAM COMPILER (KROC)

                               VERSION 0.9 BETA

                                     NEWS

31st March 1997

   Release of KROC 0.9beta
     * Inclusion of occam compiler supporting experimental user-defined
       operators with documentation to describe its use and two example
       implementations: DSTRING dynamic strings and COMPLEX32 & COMPLEX64
       library.
     * Updated the experimental synchronisation libraries: EVENTs,
       SEMAPHOREs, RESOURCEs and BUCKETs with new documentation.
     * Numerous minor bug fixes.

5th November 1996

   Release of KROC 0.81beta
     * Fixed bug in which on exiting a program with ^C (SIGINT) failed to
       restore the keyboard state properly (for some programs).

31st October 1996

   Release of KROC 0.8beta
     * SP interface
       In version 0.7beta we provided link-library access to SP and SS
       PROTOCOLs as well as other INMOS libraries that provide the same
       functionality as the INMOS SP server. In this version, there is a
       PROTOCOL-compatible SP interface using a separate server process
       for full compatibility.
     * kmakef: Makefile builder
       KROC has some extra dependencies that imakef (the INMOS tool)
       cannot know. We have written a tool that understands them and can
       build makefiles for KROC.
     * Suspending (with ^Z from shell) programs and restarting them works
       correctly and saves/restores terminal state correctly.
     * Buffered I/O is used on input from a non-terminal (when isatty()
       false)
     * Improvements to kroc driver program.
     * Experimental synchronisation libraries that allow multiple
       processes to synchronise safely in a variety of ways. Not
       documented yet but example programs are given.

18th March 1996

   Release of KROC 0.7beta
     * SGS-Thomson occam compiler I/O libraries now work to some extent:
       hostio.lib (SP protocol) and streamio.lib (SS, KS)
     * The other standard libraries: convert.lib, string.lib dblmath.lib
       and snglmath.lib are also available.
     * Exercises and course material for learning / teaching occam
     * "An occam2.1 Checklist" document - introduction / reference to
       most of the language.
     * Improvements / corrections to alpha arithmetic.
     * Improvements to 'kroc' driver program (-oname, -Ldir, -Idir,
       -lname), configuration (no kroc.conf needed).
     * Fixed bug in timeouts for sparcs
     * Added support for jump-table use of kernel for use with
       dynamically loadable code (KERNEL.RUN) - not yet complete.
     * Numerous minor bug fixes

23rd October 1995

   Release of KROC 0.6beta
     * Release of DEC Alpha/OSF 3.0 version of KROC. All the
       functionality of the sparc release is supported but separate
       compilation is not yet finished and there is still one cgtest
       failure (cgtest19 which tests the functions below).
     * Added full INMOS 'compiler library' support (occam8.lib,
       occamutl.lib) for Sparc versions. This allows INT16 and INT64
       support to work fully plus the 'obscure' IEEE functions. The
       summary of functions is:

        occam.lib - General: [User visible]

                ARGUMENT.REDUCE COPYSIGN DARGUMENT.REDUCE DCOPYSIGN
                DFLOATING.UNPACK DIEEECOMPARE DLOGB DNEXTAFTER DSCALEB
                FLOATING.UNPACK IEEE32OP IEEE32REM IEEE64OP IEEE64REM
                IEEECOMPARE LOGB NEXTAFTER SCALEB UNPACKSN REAL32EQ
                REAL32GT REAL32OP REAL32REM REAL64EQ REAL64GT REAL64OP
                REAL64REM

        occam.lib - INT16 support (for 32-bit machines) [Not user
                visible]

                INT16ADD INT16BITAND INT16BITNOT INT16BITOR INT16DIV
                INT16EQ INT16GT INT16LSHIFT INT16MINUS INT16MUL INT16PLUS
                INT16REM INT16RSHIFT INT16SUB INT16TIMES INT16XOR

        occam.lib - INT64 support (for 32-bit machines) [Not user
                visible]

                INT64DIV INT64DIVREM INT64MUL INT64REM

        occamutl.lib: [Not user visible]

                RealIDiv RealIMul

12th October 1995

   Release of KROC 0.5beta
     * Fixed internal INT16 and INT64 support functions which were not
       working (in SPARC version) due to changes in the way that external
       functions were named (for separate compilation).
     * lots of behind-the-scenes changes in preparation for ALPHA release
     * Fixed bug with long PROC names in separately compiled modules

22nd September 1995

   Release of KROC 0.4beta
     * Added missing documents to release
     * Separate compilation works better with driver. Example added.

18th September 1995

   Release of KROC 0.3beta
     * occam 2.1 compiler binary included
     * occam/c interface tool (ocinf) included
     * Support for Solaris 2.3
     * Support for Separate Compilation (#USE)
     * Support for more internal 'compiler library' routines
     * Source tree format changed.

7th July 1995

   Release of KROC 0.2beta
     * Sources now compile with K&R and ANSI C compiler

4th May 1995

   Release of KROC 0.1beta

   Its all new.
     _________________________________________________________________

    Occam For All Team
    ofa-bugs@ukc.ac.uk
