slib-discuss
[Top][All Lists]
Advanced

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

Re: [Slib-discuss] Can't "require" some packages


From: Aubrey Jaffer
Subject: Re: [Slib-discuss] Can't "require" some packages
Date: Sun, 23 Dec 2007 22:48:33 -0500 (EST)

 | Date: Sun, 23 Dec 2007 15:32:43 -0000
 | From: =?utf-8?Q?M=C3=A1rcio_Faustino?= <address@hidden>
 | 
 | After reading the on-line documentation for SLIB v3a5, I tried the
 | following (in Windows XP):
 | 
 | ;; ====================
 | (require 'structure)
 | (define-structure point x y color)
 | ;; Gives error "reference to undefined identifier: define-structure"

The SLIB code for the structure feature uses syntax-case macros, which
it turns out are supported by mzscheme.  But after fixing this,
something is still wrong:

  bash-3.1$ slib mzscheme
  Welcome to MzScheme v370 [3m], Copyright (c) 2004-2007 PLT Scheme Inc.
  > (require 'structure)
  > (define-structure point x y color)
  stdin::21: define-structure: bad syntax in: (define-structure point x y color)

It also fails in SCM.  The source for structure.scm and the
syntax-case package haven't changed in a decade.  structure.scm is the
only package using syntax-case.  Macros not being a talent of mine, if
this is going to be fixed it will be by someone else.

 | (require 'let-values)    ;; or (require 'receive)
 | ;; Gives error "reference to undefined identifier: macro:load"
 | 
 | (define (main arguments) '())
 | ;; ====================
 | 
 | In MzScheme v371, using it like this:
 |      mzscheme -f "%SCHEME_LIBRARY_PATH%DrScheme.init" -C test.scm

With the development version of SLIB, change this to:

  mzscheme -f "%SCHEME_LIBRARY_PATH%mzscheme.init" -C test.scm

 | Then I noticed that in the DrScheme initialization file,
 | "DrScheme.init", the expression "(define macro:load load)" was
 | commented.

I fixed this and other problems with mzscheme.init (formerly
DrScheme.init).  But something is still wrong.  SRFI-11 is supported
by mzscheme-370 out of the box, but it fails to run one of the
examples given in SRFI-11:

  bash-3.1$ mzscheme 
  Welcome to MzScheme v370 [3m], Copyright (c) 2004-2007 PLT Scheme Inc.
  > (let ((a 'a) (b 'b) (x 'x) (y 'y))
                 (let-values (((a b) (values x y))
                              ((x y) (values a b)))
                   (list a b x y)))
  (x y a b)
  > (let-values (((a b . c) (values 1 2 3 4))) (list a b c))
  stdin::0: let-values: bad syntax at: (a b . c) in: (let-values (((a b . c) 
(values 1 2 3 4))) (list a b c))

Do these examples work in v371?  If not, this should be raised with
the PLT group.

 | After uncommenting it, the error message for "(require 'let-values)" 
 | changed to:
 | 
 |      default-load-handler: cannot open input file:
 | "C:\Program Files\slib\srfi-11" (The system cannot find the file
 | specified.; errno=2)

I believe this error is fixed in the development version:
http://swiss.csail.mit.edu/ftpdir/users/jaffer/slib.zip

Also, the CVS repository is updated:
https://savannah.gnu.org/cvs/?group=slib




reply via email to

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