guile-devel
[Top][All Lists]
Advanced

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

Re: JACAL, scm


From: Mikael Djurfeldt
Subject: Re: JACAL, scm
Date: 21 Sep 2001 14:07:08 +0200
User-agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7

Aubrey Jaffer <address@hidden> writes:

> Guile 1.4 (ftp://rpmfind.net/linux/contrib/libc6/i386/guile-1.4-2.i386.rpm)
> *fails* the R4RS Scheme conformance test
> http://swissnet.ai.mit.edu/ftpdir/scm/r4rstest.scm.
>
> Successfully running this file should be a requirement before release.
> The SCM makefile runs it every time it creates an executable:
> 
> check:  r4rstest.scm
>         $(SCMEXE) -fr4rstest.scm \
>          -e'(test-sc4)(test-cont)(test-delay)(gc)(if (pair? errs) (quit 1))'

Guile has a test suite which includes all of the *correct* tests for
r4rs compatibility, but which, in addition, contains lots of further
tests.

We always run this test suite before release.

You are correct that Guile fails when loading r4rstest.scm.  It fails
when trying to evaluate the expression '(begin)'.  Now, looking at
both R4RS and R5RS, it turns out that this is an illegal expression.
According to the standards documents, at least one expression is
required:

 - library syntax: begin <expression1> <expression2> ...

(This is also echoed in the formal syntax of R5RS.)

> Computing the digits of pi with INUMs (30-bit integers), SCM is still
> twice the speed of Guile:

[...]

> The smaller the interpreter, the
> smaller its footprint in the cache, and the less time wasted re-fetching
> its code.

We have a Guile VM which evaluates code up to 20 times faster than the
current Guile evaluator.  Our plan is to merge this VM into the
standard Guile distribution.  Therefore we are currently more
concerned with improving maintainability and facilitating the use of
Guile as an embedded language in applications than optimizing the
current evaluator.

Best regards,
Mikael Djurfeldt



reply via email to

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