Path: csiph.com!x330-a1.tempe.blueboxinc.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!border3.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!border4.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!news.iecc.com!lnews.iecc.com!nerds-end From: Manuel Serrano Newsgroups: comp.lang.scheme,comp.compilers Subject: ANN: bigloo3.7a Date: Tue, 27 Sep 2011 08:58:24 +0200 Organization: INRIA - Unite de Recherche Sophia Antipolis (France) Lines: 464 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <11-10-002@comp.compilers> NNTP-Posting-Host: lnews.iecc.com X-Trace: gal.iecc.com 1317502797 34095 64.57.183.34 (1 Oct 2011 20:59:57 GMT) X-Complaints-To: abuse@iecc.com NNTP-Posting-Date: Sat, 1 Oct 2011 20:59:57 +0000 (UTC) Keywords: Scheme, available Posted-Date: 01 Oct 2011 16:59:57 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: x330-a1.tempe.blueboxinc.net comp.lang.scheme:496 comp.compilers:284 ------------------------------------------------------------------- Bigloo (3.7a) ,--^, `a practical Scheme compiler' _ ___/ /|/ Tue Sep 27 08:33:22 CEST 2011 ,;'( )__, ) ' Inria -- Sophia Antipolis ;; // L__. email: bigloo@lists-sop.inria.fr ' \ / ' url: http://www-sop.inria.fr/indes/fp/Bigloo ^ ^ description of the system can be found at: http://www-sop.inria.fr/indes/fp/Bigloo This is a major version whose main highlights are: * enhanced compile-time type analysis. * new compile-time optimizations. * new interpreter. * new multimedia libraries. This version has been successfully installed on the following platforms: * x86/32, Linux 2.6, Arch Linux. * x86/64, Linux 2.6, Fedora. * Arm v6/v7, Linux, Maemo4/Maemo5, Android. * PowerPC G3, Linux, Debian. * x86/32, Windows SP2, MinGW. * x86/32, Mac OS X 10.5 Leopard, * x86/64, Mac OS X 10.6 SnowLeopard, Announce of previous Bigloo release (3.6a): * new compile-time type analysis. * enhanced error tracing. * operational Android port. * new telephony API. Announce of previous Bigloo release (3.5a): 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): 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): 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): * 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): * 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): * Many library bug fixes (date, xml, arithmetic, operating system, sockets). * MacOS X support improved. Announce of previous Bigloo release (3.0a): * Support for the ScmPkg source code packaging system. Announce of previous Bigloo release (2.9a): * 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): * Fix JDK1.5 and 1.6 compatibility issues. * Various error fixes. Announce of previous Bigloo release (2.8b): * Important fix of the network layer. * Important fix of the object layer within the interpreter. * Timeout IOs. Announce of previous Bigloo release (2.8a): * MMAP support. * SQLITE Support. * New compiler optimization for varargs functions. * Various APIs extensions (tar, gzip, ssl, ...). Announce of previous Bigloo release (2.7a): * Support for preemptive multi-threading. * Support for exceptions. * Various APIs extensions. Announce of previous Bigloo release (2.6e): * Several bug fixes. * Improved port to MacOSX 10.3. * Few language extensions (e.g. #: comments). * Improved compiler type error detection. Announce of previous Bigloo release (2.6d): * 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): * Interpreter speed up. * Improved code generation for the .Net platform. * Many small bug fixes. Announce of previous Bigloo release (2.6b): * 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): * 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): * 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): * 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): * 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): * 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): * 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): 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): 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): 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): 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): important, Bigloo2.1 is provided with new facilities for better support for debugging and profiling. Announce of previous Bigloo release (2.0e): 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): (http://kaolin.unice.fr/~serrano/biglook/biglook.html) to be compiled on Sparc and Alpha architectures. Announce of previous Bigloo release (2.0c): 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): 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): 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): 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): 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 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