[Top][All Lists]
[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>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Chicken-users] Chicken, build 1072,
felix <=