[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Condensed NEWS
From: |
Ludovic Courtès |
Subject: |
Condensed NEWS |
Date: |
Wed, 16 Feb 2011 11:03:32 +0100 |
User-agent: |
Gnus/5.110011 (No Gnus v0.11) Emacs/23.2 (gnu/linux) |
Hi!
Here’s a proposal for a condensed NEWS for the announcement:
Highlights of changes in 2.0.0 (since the 1.8.x release series):
* New compiler infrastructure and VM
Guile 2.0 compiles Scheme code to bytecode, which is then interpreted
by the VM. This gives a noticeable performance improvement compared
to earlier Guile series.
By default source code is compiled automatically as it is encountered,
without any manual intervention. The "guile-tools compile" command
provides a command-line interface, and there are also Scheme
procedures to drive the compiler.
Besides Scheme, the compiler comes with front-ends for the ECMAScript
and Emacs Lisp languages.
* New REPL, new debugger
A read-eval-print-loop (REPL) is available. Compared to the REPL in
earlier releases, it supports "meta-commands" that provide convenient
access to interactive programming features. For instance, the
",compile" meta-command compiles the given expression, ",profile"
shows an execution profile of the given expression, etc.
Any error or uncaught exception leads to a "recursive REPL", which is
a REPL augmented with debugging capabilities: it has meta-commands to
display a backtrace, inspect the variables on a stack frame, etc. The
recursive REPL can be quit to return to the original one.
* Support for hygienic macros
The `syntax-rules' and `syntax-case' hygienic macro systems are
supported natively by Guile, without importing `(ice-9 syncase)', and
work across module boundaries. They are a better replacement for
`defmacro'.
* Unicode support
Scheme strings can hold any Unicode character, and ports can read and
write Unicode text in various encodings.
* Partial R6RS compatibility
The `library' and `import' forms of R6RS are supported, and all the
R6RS libraries defined in the standard are available. See "R6RS
Incompatibilities" in the manual, for details about remaining
incompatibilities.
* New dynamic foreign function interface
The `(system foreign)' module provides a new dynamic foreign function
interface (FFI). It allows bindings to C libraries to be written
without a single line of C code.
* Switch to the Boehm-Demers-Weiser garbage collector
Guile now uses the Boehm-Demers-Weiser conservative garbage collector
(aka. libgc). It makes interaction with C code easier making, for
instance, the use of mark and free SMOB procedures optional in many
cases. It also improves performance.
* New modules
** `(srfi srfi-18)', more sophisticated multithreading support
** `(srfi srfi-27)', sources of random bits
** `(srfi srfi-38)', External Representation for Data With Shared Structure
** `(srfi srfi-42)', eager comprehensions
** `(srfi srfi-45)', primitives for expressing iterative lazy algorithms
** `(srfi srfi-67)', compare procedures
** `(ice-9 i18n)', internationalization support
** `(ice-9 futures)', fine-grain parallelism
** `(rnrs bytevectors)', the R6RS bytevector API
** `(rnrs io ports)', a subset of the R6RS I/O port API
** `(system xref)', a cross-referencing facility (FIXME undocumented)
** `(ice-9 vlist)', lists with constant-time random access; hash lists
** `(system foreign)', foreign function interface
** `(sxml ...)', tools for XML processing
** `(texinfo ...)', parsing and production of Texinfo documents
** `(sxml match)', a pattern matcher for SXML
** `(srfi srfi-9 gnu)', extensions to the SRFI-9 record library
** `(system vm coverage)', a line-by-line code coverage library
** `(web ...)', modules for URI and HTTP handling
** `(ice-9 poll)', a poll wrapper
** `(system base lalr)', the `lalr-scm' LALR(1) parser generator
** `(statprof)', statistical profiler
* New dependencies
** libgc 7.x, http://www.hpl.hp.com/personal/Hans_Boehm/gc/
** GNU libunistring, http://www.gnu.org/software/libunistring/
** libffi, http://sourceware.org/libffi/
Thanks,
Ludo'.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Condensed NEWS,
Ludovic Courtès <=