Commit Graph

5 Commits

Author SHA1 Message Date
sperber d8b1c64044 Merge from tuebingen/trunk (needed for upcoming fixes to SRFI 19):
r568 | sperber | 2003-12-01 22:42:06 +0100 (Mon, 01 Dec 2003) | 4 lines
Changed paths:
   M /s48/tuebingen/trunk/scheme/bcomp/comp-prim.scm
   M /s48/tuebingen/trunk/scheme/rts/xnum.scm

Subject: Make INEXACT->EXACT work on exacts and vice versa

As discussed on the Scheme 48 mailing list, and requested by jar.
2007-01-05 09:43:28 +00:00
mainzelm b7bb1fa2e5 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:31:33 +00:00
mainzelm 3e397f65c5 GC_PROTECT some variables. 2003-05-01 10:21:33 +00:00
marting 37210efdc5 Imported scheme48-0.53 sources as base 1999-09-14 12:45:00 +00:00
marting 606245fc41 *** empty log message *** 1999-09-14 12:45:02 +00:00