scsh-0.6/scheme
mainzelm 8eb6a07ec3 Subject: Extend type<->sexp conversion to variable type
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)
2003-08-04 07:32:02 +00:00
..
alt alt/ from S48 0.57. 2002-04-04 08:36:20 +00:00
bcomp Subject: Extend type<->sexp conversion to variable type 2003-08-04 07:32:02 +00:00
big Make SPOON an alias for FORK-THREAD. 2003-02-25 13:15:40 +00:00
debug *** empty log message *** 1999-09-14 12:45:02 +00:00
env Limited disclosing of byte-vectors to the first 16 elements. 2003-04-14 11:06:55 +00:00
infix *** empty log message *** 1999-09-14 12:45:02 +00:00
link Removed duplicate definition of S48_ENTER/EXTRACT_BOOLEAN. 2002-09-06 11:57:53 +00:00
misc check-nargs= --> protocol 2003-05-05 06:38:32 +00:00
opt Small renamer for clarity. 2002-04-04 08:09:15 +00:00
prescheme *** empty log message *** 1999-09-14 12:45:02 +00:00
rts Merge rev 120 from Scheme 48 svn repo: 2003-03-18 12:48:53 +00:00
srfi Make srfi-19 a functor and move the definition back to scheme/srfi. 2003-03-10 13:27:09 +00:00
vm Extend with-errno to capture all I/O exceptions of the VM: 2003-01-08 09:16:47 +00:00
alt-packages.scm *** empty log message *** 1999-09-14 12:45:02 +00:00
comp-packages.scm Provide LOAD-PORT to load forms from a port. 2003-03-13 07:49:49 +00:00
debug-packages.scm *** empty log message *** 1999-09-14 12:45:02 +00:00
initial-packages.scm *** empty log message *** 1999-09-14 12:45:02 +00:00
interfaces.scm Provide LOAD-PORT to load forms from a port. 2003-03-13 07:49:49 +00:00
link-packages.scm *** empty log message *** 1999-09-14 12:45:02 +00:00
low-packages.scm Cells as stob (from S48 0.57). 2002-04-04 08:13:53 +00:00
more-interfaces.scm Make srfi-19 a functor and move the definition back to scheme/srfi. 2003-03-10 13:27:09 +00:00
more-packages.scm make-srfi-19 is not a structure 2003-03-11 08:44:37 +00:00
packages.scm Cells as stob (from S48 0.57). 2002-04-04 08:13:53 +00:00
rts-packages.scm Use with-sigevents to initialize the sigevent system. This also keeps 2003-02-25 08:11:32 +00:00