chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-users] Chicken, build 1072


From: felix
Subject: [Chicken-users] Chicken, build 1072
Date: Sun, 04 Aug 2002 23:24:37 +0200

The CHICKEN Scheme-to-C compiler, Version 0, Build 1072 is now
available at
<http://www.call-with-current-continuation.org/chicken.html>.

Things changed since the last release (1045):
- Bugfixes.
- `library' unit:
  (cpu-time)
  (set-port-name! PORT NAME)
  (software-version)
  (build-platform)
  (andmap PROC LIST1 ...)
  (ormap PROC LIST1 ...)
- `posix' unit:
  `file-read' now returns a list instead of two values.
- `extras' unit:
  (binary-search SEQUENCE PROC)
  (join LIST-OF-LISTS [LIST]) -> LIST2
- `current-input-port', `current-output-port' and `current-error-port'
  accept an optional argument.
- `lolevel' unit:
  (become! ALIST)
- New library unit `script-utils':
  1. (delete-file* FILENAME)
  2. `system*', `create-temporary-file' and all the pathname procedures
    have been moved from the `posix' unit into this one, to make them
    available on non-UNIX systems.
  3. A command-line option parsing facility (written by Anthony Carrico
    and kindly made available).
- New macro:
  (switch EXP (KEY BODY ...) ...)
- Interpreter macros:
  (advise NAME MODE PROC)
  (unadvise NAME1 ...)
- The expansions of macros in the `match' unit are now
  independent of this unit, i.e. one doesn't have to
  declare `match' as `used' unless macros are to be
  expanded at run-time.
- Support for SRFI-25 and SRFI-28.
- On systems that don't provide the POSIX regex package (for example
Windows),
  Dorai Sitaram's `pregexp' is used instead.
- `regex-case.scm' has been removed. The `regex-case' macro is now 
  part of the base system.
- `error' (srfi-23) reports source-file and line-number, if 
  `extended-bindings' or `usual-integrations' (or optimization level 2)
have
  been selected.
- Panagiotis Vossos ported CHICKEN to Alpha/Linux.
- CHICKEN supports now shell scripts written in Scheme under
Windows/DOS.
- The debugger has been removed. The generated code had too much
overhead
  in anything but small programs. Related compiler- and run-time options
  have been removed.
- New compiler options:
  -compile-time-macros-only
  -hygienic-at-run-time
  -analyze-only
  -unit NAME
  -uses NAME
- New run-time option `-:?'.
- Chicken is now available via CVS (see below). Thanks to Tony
Garnock-Jones
  for his help!

Features:
- Generates tail-recursive C with full support for first-class 
  continuations, multiple values and `dynamic-wind' (Using the
translation
  scheme as described in Henry Baker's paper "Cheney on the M.T.A.").
- Fairly R5RS compliant.
- Support for SRFIs 0, 1, 2, 4, 6, 7, 8, 9, 10, 13, 14, 16, 18, 22, 23,
25 
  and 28.
- Record structures, hash-tables, queues, custom I/O ports, extended
string
  operations, regular expressions, Common LISP style `format' and
more...
- Provides a simple module system and an object system with multiple
  inheritance, multimethods and a Meta-Object-Protocol (based on
  Kiczales' TinyCLOS).
- Lightweight threads (based on call/cc).
- High portability (known to work on DOS, Windows, Linux/x86, FreeBSD,
  Solaris, SunOS, MAC OS X, HP-UX 10.1044, Linux/Alpha and probably many
more).
- Freely available under the BSD license.
- A POSIX interface (not supported on all platforms).
- Powerful pattern matching macros.
- `syntax-case' macro system.
- Generation of profiling information.
- Compiled programs can be interactively debugged on systems that
support
  dynamic loading.
- A powerful Foreign Function Interface with callbacks, finalization,
  user defined foreign type converters, embedding of C code inside
Scheme
  programs, statically allocated (non GC'd) Scheme data and the 
  possibility of embedding compiled Scheme code into other applications.
- On some systems compiled code can be loaded dynamically into a running
  application.
- The compiler can be customized in various ways.
- Support for writing interpreted or compiled UNIX shell scripts or 
  Windows/DOS batch files.

Limitations:
- No unlimited-precision integers (bignums), rationals
  or complex numbers.
- Procedures can not have more than 126 arguments (on x86 platforms
  this limit is raised to 1024).
- Compilation of large files is quite slow.

The current development version can be accessed via anonymous CVS, like
this:

  cvs -d:pserver:address@hidden:/cvsroot/chicken login
  cvs -z3 -d:pserver:address@hidden:/cvsroot/chicken co
chicken

  When prompted for a password, simply press the Enter key.
  See the file README.CVS for details on how to bootstrap the system.

Check out <http://www.call-with-current-continuation.org/software.html>
for contributed code and various little utilities.

A mailing list for CHICKEN can be accessed here:

  To post a message send e-mail to
<address@hidden>

  General information about the mailing list is at 
  <http://mail.freesoftware.fsf.org/mailman/listinfo/chicken-users>

Bug reports, suggestions and comments would be very
welcome. Contact me at <address@hidden>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]