------------------------------------------------------------------------------ Bigloo (4.3e) ,--^, `a practical Scheme compiler' _ ___/ /|/ Tue Dec 18 14:20:08 CET 2018 ,;'( )__, ) ' Inria -- Sophia Antipolis ;; // L__. email: [email protected] ' \ / ' url: http://www-sop.inria.fr/indes/fp/Bigloo ^ ^ ------------------------------------------------------------------------------
The new Bigloo release 4.3e is now available. The distribution and a description of the system can be found at: http://www-sop.inria.fr/indes/fp/Bigloo This is a minor version whose main highlights are: * Bug fixes. * Marginal code generation improvements. Announce of previous Bigloo release (4.3b): ------------------------------------------ * Cross compilation re-visited. * New version of the garbage collect (7.6.2). * Error fixes. * Switch from mercurial to git. * Bigloo available on github. Announce of previous Bigloo release (4.3a): ------------------------------------------ This is a minor version whose main highlights are: * Performance improvements (new compiler optimizations). * Error fixes. Announce of previous Bigloo release (4.2a): ------------------------------------------ This is a major version whose main highlights are: * New asynchronous library (based on libuv) * New SSL facilities. * Enhanced class serialization. Announce of previous Bigloo release (4.1a): ------------------------------------------ * New compiler optimizations. * New language features. * New library facilities. Announce of previous Bigloo release (4.0b): ------------------------------------------ * More efficient exceptions implementation. * Faster locking implementation. * UPnP support. * Enhanced Datagram sockets. * Various bug fixes. Announce of previous Bigloo release (4.0a): ------------------------------------------ * new API and new implementation multi-treading. Announce of previous Bigloo release (3.9a): ------------------------------------------ This is a major version whose main highlights are: * new closure unboxing optimization, * new timed IOs, * APIs optimizations (alsa, flac, mpg123). Announce of previous Bigloo release (3.8c): ------------------------------------------ This is a minor version which fixes various installation problems and the C implementation of the IO system. Announce of previous Bigloo release (3.8a): ------------------------------------------ This is a major version whose main highlights are: * modification of the object system (language design and implementation), * new APIs (alsa, flac, mpg123, avahi, csv parsing), * new library functions (UDP support), * new regular expressions support, * new garbage collector, * .NET platform no longer supported. This version has been successfully installed on the following platforms: * x86/32, Linux 3, Arch Linux. * x86/64, Linux 2.6, Fedora. * Arm v6/v7, Linux, Maemo4/Maemo5, Android. * PowerPC G3, Linux, Debian. * x86/32, Mac OS X 10.7 Lion, * x86/64, Mac OS X 10.6 SnowLeopard, * x86/32, Windows SP2, MinGW. Announce of previous Bigloo release (3.7a): ------------------------------------------ This is a major version whose main highlights are: * enhanced compile-time type analysis. * new compile-time optimizations. * new interpreter. * new multimedia libraries. Announce of previous Bigloo release (3.6a): ------------------------------------------ This is a major version whose main highlights are: * new compile-time type analysis. * enhanced error tracing. * operational Android port. * new telephony API. Announce of previous Bigloo release (3.5a): ------------------------------------------ The version 3.5a is a major version. It improves portability on Arm/Android in particular by supporting native multi-threaded applications. This version also supports new APIs and fixes many glitches of the version 3.4a. Announce of previous Bigloo release (3.4a): ------------------------------------------ The version 3.4a is a major version. It improves portability by now supporting two extra platforms Arm/Android and OSGi bundles. This version also supports new APIs and fixes many glitches of the version 3.3a. Announce of previous Bigloo release (3.3a): ------------------------------------------ This version is a major version. It uses a new configuration stage and new compilation framework that support cross-compilation. Announce of previous Bigloo release (3.2a): ------------------------------------------ * New mail API has been added (maildir, imap, vcard, rfc2045, rfc2047, rfc2822). * New compiler optimizations. * New system APIs (e.g., getuid/setuid, os-charset, socket-option, get-protocols, ...). * Several minor bug fixes. * New Makefiles that support parallel compilation. Announce of previous Bigloo release (3.1b): ------------------------------------------ * Significant performance improvement of multi-threaded applications. * Performance improvement of the IO system. * New APIs have been added (cryptography, multimedia). * New functions extend the existing APIs (date, sockets, IOs, ...). Announce of previous Bigloo release (3.1a): ------------------------------------------ Release 3.0a is a major release. Mainly it enhance the system with: * Support for an exact arithmetic (big numbers). * A new version of the garbage collector (Boehm's collector v7.1). * Major improvement in the implementation of the multi-threading. Announce of previous Bigloo release (3.0c): ------------------------------------------ Release 3.0c is a minor release. The highlights of this version are: * Many library bug fixes (multimedia, web). * New APIs (i.e., for decoding MP3 files). * The compatibility between the native back-end and the JVM back-end has been improved. Announce of previous Bigloo release (3.0b): ------------------------------------------ Release 3.0b is a major release. The highlights of this version are: * Many library bug fixes (date, xml, arithmetic, operating system, sockets). * MacOS X support improved. Announce of previous Bigloo release (3.0a): ------------------------------------------ Release 3.0a is a major release. The highlight of this version is: * Support for the ScmPkg source code packaging system. Announce of previous Bigloo release (2.9a): ------------------------------------------ Release 2.9a is a major release. The highlights of this version are: * New compiler optimization. * Improved tracing (for improving debugging). * Native SRFI-4 support. * Improved performance of sockets with DNS caching. * Major bug fixes of the object layer within the interpreter. Announce of previous Bigloo release (2.8c): ------------------------------------------ Release 2.8c is a minor release. The highlights of this version are: * Fix JDK1.5 and 1.6 compatibility issues. * Various error fixes. Announce of previous Bigloo release (2.8b): ------------------------------------------ Release 2.8b is a minor release. The highlights of this version are: * Important fix of the network layer. * Important fix of the object layer within the interpreter. * Timeout IOs. Announce of previous Bigloo release (2.8a): ------------------------------------------ Release 2.8a is a major release. The highlights of this version are: * MMAP support. * SQLITE Support. * New compiler optimization for varargs functions. * Various APIs extensions (tar, gzip, ssl, ...). Announce of previous Bigloo release (2.7a): ------------------------------------------ Release 2.7a is a major release. The highlights of this version are: * Support for preemptive multi-threading. * Support for exceptions. * Various APIs extensions. Announce of previous Bigloo release (2.6e): ------------------------------------------ Release 2.6e is a minor release. The highlights of this version are: * Several bug fixes. * Improved port to MacOSX 10.3. * Few language extensions (e.g. #:<s-expression> comments). * Improved compiler type error detection. Announce of previous Bigloo release (2.6d): ------------------------------------------ Release 2.6d is a minor release. The highlights of this version are: * Several bug fixes (in the interpreter, in the Bmem memory profiler, ...) * Add support for long integers (#exxx and #lxxx integers) in the generic arithmetic functions (e.g., +, -, ...). Announce of previous Bigloo release (2.6c): ------------------------------------------ Release 2.6c is a minor release. The highlights of this version are: * Interpreter speed up. * Improved code generation for the .Net platform. * Many small bug fixes. Announce of previous Bigloo release (2.6b): ------------------------------------------ Release 2.6b is a minor release. The highlights of this version are: * The compiler contains 3 new additional back-ends (that are enabled with the -saw command line option). In general, these back-ends (for C, JVM, and .NET) deliver better performance than the standard back-ends. * Better Win32 integration. * Many small bug fixes. Announce of previous Bigloo release (2.6a): ------------------------------------------ 2.6a is a major release. The highlights of this version are: * Experimental .NET bytecode generation. The compiler is now able to produce (i) native code (ii) JVM bytecode (iii) .NET bytecode. * Various improvements in the FairThreads API and implementation. * Various improvements in the compiler (improved code generation and some rare bug fixes). * Many bug fixes (installation fixes, runtime library fixes). * New library facilities for dates, timers, IOs. Announce of previous Bigloo release (2.5c): ------------------------------------------ Release 2.5c is a minor release. The highlights of this version are: * Various improvements in the FairThreads API and implementation. * Many bug fixes (installation fixes, runtime library fixes). * enhancement of the "true" 32-bits and 64-bits integers. Announce of previous Bigloo release (2.5b): ------------------------------------------ Release 2.5b is a minor release. The highlights of this version are: * Better support for hygienic macros. * Resurrection of the BDB debugger. * New Bigloo shared libraries naming scheme. * SRFI facility. Announce of previous Bigloo release (2.5a): ------------------------------------------ Release 2.5a is a major release. The highlights of this version are: * Support for multithreading (SRFI-18) * Bigloo Emacs Environment now supports XEmacs and Emacs. * The debugger and profiler have been removed. Announce of previous Bigloo release (2.4c): ------------------------------------------ Release 2.4c is a minor release. It fixes some small problems of the release 2.4b. * Bigloo is now available to Mac OS X users. The native back-end supports this architecture. * In addition to RGC, Bigloo now supports posix regular expressions, by the mean of the Dorai Sitaram pregexp package. * Bigloo supports SRFI-22. Announce of previous Bigloo release (2.4a): ------------------------------------------ The two major improvements of this release are: * Bigloo is now available for Win32 users by the means of two packages: - the standard source package that requires Cygwin. - A precompiled version that entirely relies on the JVM back-end. That package only requires JDK 1.3 or higher installed. * Bigloo is now case sensitive (with a backward compatibility mode). Announce of previous Bigloo release (2.3a): ------------------------------------------ Release 2.3a is a major release. It contains an additional back-end: a JVM back-end (a join work with Bernard Serpette). That is, Bigloo can compile Scheme program to C for efficiency or to JVM for portability. Using the Bigloo C back-end, Scheme programs can be mixed with C programs, using the Bigloo JVM back-end, Scheme programs can be mixed with Java programs. The distribution contains examples of both connections. Announce of previous Bigloo release (2.2a): ------------------------------------------ Release 2.2a is a major release. It fixes many bugs of the 2.1 releases. It contains a new installation/configure procedure, a new file hierarchy, a new version of the garbage collector and a support for new programming tools. Announce of previous Bigloo release (2.1c): ------------------------------------------ Release 2.1c is a minor release. It fixes many bugs of the 2.1b releases. It supports for SRFI-6, SRFI-8 and SRFI-9. It adds some extra facilities (such as dynamic loading, command line parsing support). It improves user errors detection and report (better source file positioning). In addition, some new compiler optimizations have been implemented (in particular generic arithmetic is now optimized). Announce of previous Bigloo release (2.1b): ------------------------------------------ Release 2.1b is a minor release. It fixes bugs of the 2.1a releases. It supports for SRFI-6 and SRFI-8. It adds some extra facilities (such as printing/reading circular data structures). Announce of previous Bigloo release (2.1a): ------------------------------------------ Release 2.1a is a major release. It fixes bugs of the release 2.0xx. It uses a new version of the Boehm's garbage collector. More important, Bigloo2.1 is provided with new facilities for better support for debugging and profiling. Announce of previous Bigloo release (2.0e): ------------------------------------------ Bigloo release 2.0e is required to install and run Biglook0.2. Bigloo2.0e implements very few additional features: * better support for symbolic profiling. * final srfi-0 support. * better source code location propagation (for error prompting, debugging and profiling). Announce of previous Bigloo release (2.0d): ------------------------------------------ Release 2.0d is a minor release. It fixes minor bugs of the release 2.0c. It uses a new version of the Boehm's garbage collector. In addition, release 2.0d fixes a sever bug of 2.0c that prevent the Biglook library (http://kaolin.unice.fr/~serrano/biglook/biglook.html) to be compiled on Sparc and Alpha architectures. Announce of previous Bigloo release (2.0c): ------------------------------------------ Release 2.0c is a minor release. It fixes installation bugs of the release 2.0b. In particular GNU-make is _not_ required to install Bigloo2.0c. Bigloo2.0c fixes the RGC implementation of submatching. In addition Bigloo2.0c contains some new minor language features (such as transcript, interpreter error message notifiers, ...). Announce of previous Bigloo release (2.0b): ------------------------------------------ Release 2.0b is a minor release. It fixes installation bugs of the release 2.0a. It comes in two formats, .tar.gz and .rpm (for PC/Intel Redhat users). Bigloo2.0b, implements a new features: * srfi-0 For the mean of an example, the list library srfi-1 is provided. Announce of previous Bigloo release (2.0a): ------------------------------------------ Release 2.0a is a major release. It contains a brand new Integrated Development Environment: the Bee. Most of the development effort have concentrates on the implementation of the Bee which contains: * A project manager * An online documentation * A symbolic debugger * A profiler * Support for user Scheme libraries * ... Screen shots of the environment are available at: http://kaolin.unice.fr/~serrano/bigloo/bigloo-ide.html In addition to the environment, some library facilities have been added: * Socket support * Complete re-writing of the regular grammar compiler. The new regular grammars contains additional constructions such as submatching. Announce of previous Bigloo release (1.9d): ------------------------------------------ Release 1.9c is a minor release. Mostly, it fixes bugs of the release 1.9b and it provides a support Bigloo libraries. * Unix pipe --------- Following the idea of Stk (by Erick Gallesio), Unix pipes are handled by Bigloo. * Binary files ------------ It is now possible to read and write binary files. Announce of previous Bigloo release (1.9b): ------------------------------------------ Release 1.9b is a minor release. Mostly, it fixes bugs of the release 1.9 and it provides a DSSSL support and Unicode encoding: * Unicode characters and strings ------------------------------ Bigloo now supports Unicode characters and strings but it also maintains traditional ISO-LATIN1 characters and strings support. * DSSSL support ------------- Bigloo handles DSSSL keywords, DSSSL named constants and it compiles DSSSL keyword functions. * Object introspection facilities ------------------------------- The Bigloo1.9 object system has been extended by the addition of some introspections library functions. Classes are now able to deliver access and mutation functions to their instance's fields. Announce of previous Bigloo release (1.9): ------------------------------------------ Bigloo 1.9 is at a departure point from the Scheme programming language as defined in the RnRS report. The main goal of Bigloo is to allow a Scheme based programming style where C(++) is usually required. Bigloo attempts to make Scheme practical by offering features usual to traditional programming languages but unusual to Scheme: * An extended foreign interface ----------------------------- C code and Bigloo code can be merged together. Bigloo functions can call C functions and vice-versa, Bigloo code can use C global variables and vice-versa. Bigloo functions and variables can hold C values (C type value). C values can be allocated from Bigloo program and vice-versa, Bigloo data structures can point to C data structures and vice-versa. * An object oriented system ------------------------- Bigloo proposes an extension to Scheme by adding simplified Clos-like generic functions. Bigloo uses single inheritance and mono-dispatch. * A batch compiler ---------------- Bigloo compiles modules. Bigloo is a batch compiler. It does not relies on a read-eval-print loop. * An explicit type system and compile time type mismatch detections ----------------------------------------------------------------- Bigloo programs may contain type annotations. Bigloo programs are encouraged to contain type annotations. Type annotations hold on variables, function parameters and function results. Type annotations help the compiler in the task of static type mismatch detections and they help the compiler to produce more efficient code. * Simple exceptions ----------------- Bigloo discourages the use of call/cc. Instead it proposes dynamic exceptions a la Common Lisp (by the means of three constructions: `try' that catch errors, `bind-exit' that binds an exception and `unwind-protect' that protects a piece of code from exceptions). * Practical IOs by the means of lexing and parsing tools ------------------------------------------------------ For those who already knows Bigloo ---------------------------------- The release 2.3 mostly presents the additional back-end. However, it also contains some improvements of the already existing features: - Improvement of the Object layer compilation: i) Generic functions are now compacted (the memory space used by generic functions is smaller). This has a very little impact on performance. ii) Class accessors are now handled more efficiently. That is, the code generated for class accessors is much smaller. - Cleanup over class indexed fields. - Mutable recursive class instances can now be instantiated by the means of the CO-INSTANTIATE form. - Enhanced introspection support. - New hash tables API (à la Java). New hash tables are now i) more convenient to use ii) more efficient. - Serializer/deserializer can now be customized for procedures and opaques values. At last, many thanks to all of you that are providing an inestimable help. -- Bigloo Inria Team
