ANN: bigloo3.7a

Manuel Serrano <Manuel.Serrano@Inria.fr>
Tue, 27 Sep 2011 08:58:24 +0200

          From comp.compilers

Related articles
ANN: bigloo3.7a Manuel.Serrano@Inria.fr (Manuel Serrano) (2011-09-27)
| List of all articles for this month |

From: Manuel Serrano <Manuel.Serrano@Inria.fr>
Newsgroups: comp.lang.scheme,comp.compilers
Date: Tue, 27 Sep 2011 08:58:24 +0200
Organization: INRIA - Unite de Recherche Sophia Antipolis (France)
Keywords: Scheme, available
Posted-Date: 01 Oct 2011 16:59:57 EDT

-------------------------------------------------------------------
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. #:<s-expression> 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



Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.