occam For All : Kent Retargetable Occam Compiler (KROC)
Version 0.9 Beta
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()
- 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