(Crossposted to q-lang-users and faudiostream-devel.)
(Yann, I hope that it's ok to crosspost to the Faust list? I think that
at least some Faust programmers may be interested in this, too.)
For the impatient: Pure (a.k.a. the "Pure Universal Rewriting Engine",
slated to become Q's successor) has been released. For downloads and
info see http://pure-lang.sf.net.
For the not-so-impatient:
** Pure 0.1 2008-04-29
Release 0.1 of Pure is now available. Like Q, Pure is a modern-style FPL
based on term rewriting, which is slated to eventually become Q's much
improved successor. Pure offers many new and powerful features (most
notably: local functions, block structure, lexical closures, incremental
compilation, direct C interface, and a much improved interpreter
environment) and a completely new and cleaner design and C++-based
implementation.
Compared to Q, Pure programs also run *much* faster (typically by a
factor of at least 20-30). That's because the Pure interpreter has an
LLVM backend (http://llvm.org) which compiles Pure scripts to native
code on the fly. The code generated by the current interpreter is
already fairly good -- on the "recursive" benchmark of the "Language
Shootout" it has a performance factor of about 34 (measured against gcc
-O3) which puts it in about the same league as MZScheme.
This is the much-awaited initial release. ;-) The interpreter is already
fully functional, but of course there's still a lot to be done (see the
TODO file for details). Please note that this is a preliminary, "beta"
release, so expect some bugs (and please report them!).
The Pure project is hosted by SourceForge, see http://pure-lang.sf.net
for more information and downloads. A mailing list for discussing Pure
is now available there, too.
You'll need LLVM to compile and run the interpreter (LLVM 2.2 has been
tested). Please see the INSTALLATION section in the README file in the
sources to get up and running quickly. After Pure is installed, read the
Pure manual page (also available in various formats from the Pure
website) and have a look at the stuff in the examples subdir, especially
hello.pure, and at the standard library modules (lib/*.pure).
Enjoy! :)
Albert
--
Dr. Albert Gr"af
Dept. of Music-Informatics, University of Mainz, Germany
Email: Dr....@t-..., ag...@mu...
WWW: http://www.musikinformatik.uni-mainz.de/ag
|