This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

LANG/CTAX are your friends



Happy Canada Day!

Here is a fixed release of LANG and CTAX.  They are now happy to deal
with current guile snapshots (with the possible exception of two
patches that may not yet have got into the source tree --- included in
this distribution).  What's more, they are now "easy" to install.  If
you have a patched guile-core, then the installation should be as easy
as ./configure && make && su && make install.  I apologize for the
previous fix being hard to install; I was frightened by the autoconf
manual, but the program turned out to be much less painful than that.

The tarball has been uploaded to ftp.red-bean.com, and will probably
appear in /pub/guile/contrib/misc/guile-lang-allover-0.1.tar.gz.  It
replaces the numberless tarball that is there now (the
harder-to-install version).

Andrew
aarchiba@undergrad.math.uwaterloo.ca

Anyway, a brief description, from the README:

This is the guile language support package.

It contains:

The Rx library, packaged for dynamic loading from guile.

        This is an alternative regular expressions package (alternative
        to the one that comes with guile).  It contains snazzy stuff like
        an interface to treat a compiled regex as a DFA.  The generic
        parser needs this.

A generic lexer and parser, as scheme modules.

        These serve the same purpose as flex and bison.  They allow one
        to specify a full-fledged programming language as a lexer and an
        lr1 grammar plus the code-generation stubs.  CTAX is specified
        thus.

The CTAX language.

        This is a new progamming language.  It has C-like syntax.
        It is incrementally translated to scheme, leading to an efficient
        interpreted implementation.  This also allows the full variety of
        scheme functions to be used --- no special measures need to be
        taken to call user-defined functions from scheme.


This package needs:

guile --- probably version 1.2 or higher.  It has only been tested on
        the 19980615 snapshot and it doesn't work there.  Some patches
        need to be applied to fix bugs in this release.  I expect future
        snapshots will have the bugs merged in.

Installation quirks:

It is not entirely clear where compiled libraries guile is supposed to
dynamically link are supposed to go.  There are two problems.  It's
not clear where the Right Place is.  And the Right Place isn't on
guile's %load-path; in fact, guile's %load-path doesn't include
anything system-dependent at all.  So if you're using this in a
partially-shared multi-architecture environment, Bad Things will
happen.