bigloo2.1c Scheme compiler

serrano@redrockunice.fr (Manuel Serrano)
5 Apr 2000 22:37:46 -0400

          From comp.compilers

Related articles
bigloo2.1c Scheme compiler serrano@redrockunice.fr (2000-04-05)
| List of all articles for this month |

From: serrano@redrockunice.fr (Manuel Serrano)
Newsgroups: comp.lang.scheme,comp.compilers,comp.lang.lisp
Date: 5 Apr 2000 22:37:46 -0400
Organization: University of Nice-Sophia Antipolis
Keywords: Scheme, available



------------------------------------------------------------------------------
Bigloo (2.1) (level c) ,--^,
`a practical Scheme compiler' _ ___/ /|/
Tue Apr 4 15:07:08 CEST 2000 ,;'( )__, ) '
Manuel Serrano ;; // L__.
email: ' \ / '
Manuel.Serrano@unice.fr ^ ^
------------------------------------------------------------------------------


The new Bigloo release (2.1c) is now available. The distribution and a
description of the system can be found at:


      http://kaolin.unice.fr/~serrano/bigloo/bigloo.html


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 1.9 mostly presents new language constructions. This release
does not improve the compilation results (except that allocation routines
are a bit faster). Here is the list of the changes:
    - Addition of the object system (complete re-writing of the compiler with
        the object system).
    - Type annotations can be set on each local variables and functions results.
    - Re-syntaxing of the foreign interface (the former syntax is still
        available).
    - Improved module language compilation.
    - Rgc is improved. The `bol', `eol' constructions can enclose any reg-exp.
        For instance, one can write expressions like: (bol (eol reg-exp)).
        Context can be used in reg-exp. Rgc supports multiple contexts too.
    - Bigloo uses, as much as possible, shared libraries.
    - Bug fixed on `try' constructions.
    - Bigloo uses the most up-to-date Boehm's collector version (the 4.13).
    - Small changes in the compilation and installation scripts.


At last, many thanks to all of you that are providing an inestimable help.




  -----------------------------------------------------------------------------
  Manuel SERRANO (fax: (+33) 04 92 96 51 44) email: Manuel.Serrano@unice.fr
  Universite de Nice Sophia-Antipolis
  650, route des Colles, B.P. 145 F-06903 Sophia-Antipolis, CEDEX


Post a followup to this message

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