type->sexp was not capable of converting the variable type to a
sexp. This caused problems if the module system wanted to tell the
user that the types of exported bindings did not match:
config> (define-structure foo (export (bar :syntax)) (open scheme) (begin (define bar 1)))
; no values returned
config> ,user
> ,open foo
Error: exception
wrong-type-argument
(checked-record-ref '(variable #{Type :value #f #f}) '#{Record-type 14 meta-type} 1)
I've now extended TYPE->SEXP by a check for the variable type and let
it produce a list with 'VARIABLE as first and the actual type as
second element. Likewise, I extended SEXP->TYPE to produce a variable
type if 'VARIABEL is the first element of a list.
This seems to work but a second look by someone who really understands
the type system would be appreciated.
(Merge from s48 rev 423)
|
||
|---|---|---|
| build | ||
| c | ||
| doc | ||
| emacs | ||
| ps-compiler | ||
| scheme | ||
| scsh | ||
| .gitignore | ||
| COPYING | ||
| CVS_README | ||
| INSTALL | ||
| Makefile.in | ||
| README | ||
| README.s48 | ||
| RELEASE | ||
| TODO | ||
| Thanks | ||
| autogen.sh | ||
| config.guess | ||
| config.sub | ||
| configure.in | ||
| gdbinit | ||
| install-sh | ||
| scsh-config.in | ||
README
-*- Mode: Text; -*- Copyright (c) 1994 Brian D. Carlstrom See file COPYING for copying information. Please report bugs to scsh-bugs@zurich.ai.mit.edu, and include the version number in your message. Installation instructions in file INSTALL. A scsh manual is in directory doc/scsh-manual/. A scsh paper is in directory doc/scsh-paper/. A scsh quick reference is in file doc/cheat.txt. Send mail to scsh-request@zurich.ai.mit.edu to be put on a mailing list for announcements, discussion, bug reports, and bug fixes.