scsh-0.6/scheme/bcomp
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
..
binding.scm *** empty log message *** 1999-09-14 12:45:02 +00:00
cenv.scm *** empty log message *** 1999-09-14 12:45:02 +00:00
comp-exp.scm *** empty log message *** 1999-09-14 12:45:02 +00:00
comp-package.scm *** empty log message *** 1999-09-14 12:45:02 +00:00
comp-prim.scm Cells as stob (from S48 0.57). 2002-04-04 08:13:53 +00:00
comp.scm *** empty log message *** 1999-09-14 12:45:02 +00:00
config.scm *** empty log message *** 1999-09-14 12:45:02 +00:00
ddata.scm *** empty log message *** 1999-09-14 12:45:02 +00:00
for-reify.scm *** empty log message *** 1999-09-14 12:45:02 +00:00
interface.scm New module language from S48 0.57. 2002-04-03 12:17:19 +00:00
module-language.scm New module language from S48 0.57. 2002-04-03 12:17:19 +00:00
mtype.scm Subject: Extend type<->sexp conversion to variable type 2003-08-04 07:32:02 +00:00
name.scm Merged in macro expander changes from Scheme 48 0.56. 2001-07-09 14:15:05 +00:00
node.scm *** empty log message *** 1999-09-14 12:45:02 +00:00
optimize.scm *** empty log message *** 1999-09-14 12:45:02 +00:00
package-undef.scm New module language from S48 0.57. 2002-04-03 12:17:19 +00:00
package.scm New module language from S48 0.57. 2002-04-03 12:17:19 +00:00
primop.scm *** empty log message *** 1999-09-14 12:45:02 +00:00
read-form.scm Provide LOAD-PORT to load forms from a port. 2003-03-13 07:49:49 +00:00
recon.scm *** empty log message *** 1999-09-14 12:45:02 +00:00
rules.scm Merged in macro expander changes from Scheme 48 0.56. 2001-07-09 14:15:05 +00:00
scan-package.scm *** empty log message *** 1999-09-14 12:45:02 +00:00
schemify.scm *** empty log message *** 1999-09-14 12:45:02 +00:00
segment.scm *** empty log message *** 1999-09-14 12:45:02 +00:00
stack-check.scm *** empty log message *** 1999-09-14 12:45:02 +00:00
state.scm *** empty log message *** 1999-09-14 12:45:02 +00:00
syntax.scm Merged in macro expander changes from Scheme 48 0.56. 2001-07-09 14:15:05 +00:00
thingie.scm *** empty log message *** 1999-09-14 12:45:02 +00:00
transform.scm Merged in macro expander changes from Scheme 48 0.56. 2001-07-09 14:15:05 +00:00
type.scm *** empty log message *** 1999-09-14 12:45:02 +00:00
usual.scm Merged in macro expander changes from Scheme 48 0.56. 2001-07-09 14:15:05 +00:00
var-util.scm *** empty log message *** 1999-09-14 12:45:02 +00:00