Jonathan Rees | 9 Apr 1993 16:21
Picon
Favicon

I have installed new scheme48 at mit switzerland machines.

An omission.  Sorry.
You can either get scheme48.h from ftp.cs.cornell.edu: pub/jar, or you
can get the entire distribution again.

What are trying to do with Scheme48?

Aubrey Jaffer | 9 Apr 1993 19:51
Picon
Picon

I have installed new scheme48 at mit switzerland machines.

   From: jar <at> cs.cornell.edu (Jonathan Rees)
   Date: Fri, 9 Apr 93 10:21:17 -0400

   An omission.  Sorry.
   You can either get scheme48.h from ftp.cs.cornell.edu: pub/jar, or you
   can get the entire distribution again.

   What are trying to do with Scheme48?

I am testing scheme48 for compatability with SLIB and JACAL.  Scheme48
caught that I was using the symbol '+/-, which I guess not legal for
an identifier.  The other problem JACAL has with scheme48 is:

> (char->integer (integer->char 255))
-1
> (integer->char -1)

Error: exception
       (ascii->char -1)
1>

If char->integer and integer->char are not inverses JACAL will not
work.  I believe that R4RS requires this.  Let me know if it is not
true.  Otherwise I will add a test to test.scm.

Jonathan Rees | 9 Apr 1993 20:33
Picon
Favicon

bug fixes


1. This change to scheme48vm.c should fix CHAR->INTEGER:

    case 80 : {
      if ((9 == (255 & RSvalS))) {
        RSvalS = (((long)((((unsigned char)(RSvalS >> 8))))) << 2);
	/*                   ^^^^^^^^      */
        goto START;}

2. Nested backquotes should work again with the following change to
PROBE-PACKAGE (in bcomp/package.scm).  You could get a new
initial.image (and thence scheme48.image) by doing "make image", but
this takes an insanely long time.  It might probably be faster to ftp
version 0.17 (same as 0.16 except for these two patches) from
ftp.cs.cornell.edu.

(define (probe-package p name)
  (let ((probe (table-ref (package-definitions p) name)))
    (cond (probe
	   (if (syntax? probe)
	       probe
	       (cons p name)))
	  ((generated? name)
	   (probe-package (generated-env name)
			  (generated-symbol name)))
	  (else
	   (exporting-package p name
			      (lambda (q type)
				(probe-package q name))
			      (lambda () name))))))
(Continue reading)

Aubrey Jaffer | 8 Apr 1993 20:23
Picon
Picon

scheme benchmarks

I tried to run SLIB1c0 with the version of scheme48 on the machines
here but I get the error:
Welcome to Scheme48 (made by jar on Wed Jan  6 16:47:26 EST 1993).
Copyright (c) 1992 by Richard Kelsey and Jonathan Rees.
Please report bugs to scheme48-bugs <at> altdorf.ai.mit.edu.
Type ,? (comma question-mark) for help.
> (load "../slib/scheme48.init")
../slib/scheme48.init ................./usr/local/lib/slib/require.scm ........
Error: unassigned variable
       load
       (package user)

I can't figure what is happening here.  load is unassigned after
running the code (from require.scm in SLIB):

(define base:load			;WARNING: redefining LOAD
  (let ((*old-load* load))
    (lambda (<pathname> . extra)
      (let ((old-load-pathname *load-pathname*))
	(set! *load-pathname* <pathname>)
	(apply *old-load* (cons <pathname> extra))
	(require:provide <pathname>)
	(set! *load-pathname* old-load-pathname)))))
(define load base:load)

JAR had me change this from (set! load base:load) to (define load
base:load) if I remember correctly.
====
I then tried to load altdorf.ai.mit.edu:archive/scm/test.scm but get
the error:
(Continue reading)

Jonathan Rees | 8 Apr 1993 20:42
Picon
Favicon

scheme benchmarks

Yes, that is a buggy version of Scheme48.  I should remove it from the
switzerland file system.  Try the one that's in
ftp.cs.cornell.edu: pub/jar/s48.tar.z (gzip format).

The scheme48 init file for slib uses nonportable features that may
have changed across releases, so there are no guarantees that it will
work.  You may also want to adjust the init file for the fact that
newer scheme48 versions have these R5RS features: EVAL,
INTERACTION-ENVIRONMENT, SCHEME-REPORT-ENVIRONMENT, DYNAMIC-WIND,
VALUES, and CALL-WITH-VALUES.

I'll look into the backquote problem, that looks like a bug too.
(A new one, since scheme48 passed your test suite earlier.)

Thanks for the bug reports.

Jonathan

Aubrey Jaffer | 9 Apr 1993 06:59
Picon
Picon

I have installed new scheme48 at mit switzerland machines.


The first problem is that scheme48.h is missing from the distribution!!
================================================================
cd /usr/local/lib/scheme48/
make -k
gcc -O2 -g -c -DDEFAULT_IMAGE_NAME=\"/usr/contrib/lib/scheme48/scheme48.image\" main.c
gcc -O2 -g   -c unix.c -o unix.o
unix.c: In function `char_ready_p':
unix.c:154: warning: passing arg 2 of `select' from incompatible pointer type
gcc -O2 -g   -c dynload.c -o dynload.o
gcc -O2 -g   -c error.c -o error.o
gcc -O2 -g   -c extension.c -o extension.o
extension.c: In function `socket_connect':
extension.c:203: too many arguments to function `perror'
make: *** [extension.o] Error 1
gcc -O2 -g   -c scheme48vm.c -o scheme48vm.o
make: Target `enough' not remade because of errors.

Compilation exited abnormally with code 1 at Thu Apr  8 23:31:21
================================================================

It works once the second argument is removed from the call to perror.


Gmane