~ chicken-core (chicken-5) 4ec47dad87572ad6523c3c23747e523f397ed12d


commit 4ec47dad87572ad6523c3c23747e523f397ed12d
Merge: 9235b64d d7863afd
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Wed Aug 31 11:47:27 2011 +0200
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Wed Aug 31 11:47:27 2011 +0200

    resolved conflicts

diff --cc defaults.make
index ed124439,9fe05c47..b1f971ed
--- a/defaults.make
+++ b/defaults.make
@@@ -301,8 -299,9 +301,8 @@@ CHICKEN_INSTALL_PROGRAM = $(PROGRAM_PRE
  CHICKEN_UNINSTALL_PROGRAM = $(PROGRAM_PREFIX)chicken-uninstall$(PROGRAM_SUFFIX)
  CHICKEN_STATUS_PROGRAM = $(PROGRAM_PREFIX)chicken-status$(PROGRAM_SUFFIX)
  CHICKEN_BUG_PROGRAM = $(PROGRAM_PREFIX)chicken-bug$(PROGRAM_SUFFIX)
- IMPORT_LIBRARIES = chicken lolevel srfi-1 srfi-4 data-structures ports files posix srfi-13 srfi-69 extras srfi-14 tcp foreign scheme srfi-18 utils csi irregex
+ IMPORT_LIBRARIES = chicken lolevel srfi-1 srfi-4 data-structures ports files posix srfi-13 srfi-69 extras srfi-14 tcp foreign srfi-18 utils csi irregex
  IMPORT_LIBRARIES += setup-api setup-download
 -SCRUTINIZED_LIBRARIES = library eval data-structures ports files extras lolevel utils tcp srfi-1 srfi-4 srfi-13 srfi-14 srfi-18 srfi-69 $(POSIXFILE) irregex scheduler profiler stub expand modules chicken-syntax chicken-ffi-syntax
  
  ifdef STATICBUILD
  CHICKEN_STATIC_EXECUTABLE = $(CHICKEN_PROGRAM)$(EXE)
diff --cc types.db
index 769b8d5b,4688ddb8..09488319
--- a/types.db
+++ b/types.db
@@@ -835,130 -691,117 +835,131 @@@
  	((float float) (##core#inline_allocate ("C_a_i_flonum_expt" 4)
  					       #(1) #(2))))
  
 -(fpfloor (procedure! fpfloor (float) float)
 +(fpfloor (#(procedure #:clean #:enforce) fpfloor (float) float)
  	 ((float) (##core#inline_allocate ("C_a_i_flonum_floor" 4) #(1) )))
  
 -(fpinteger? (procedure! fpinteger? (float) boolean)
 +(fpinteger? (#(procedure #:clean #:enforce) fpinteger? (float) boolean)
  	    ((float) (##core#inline "C_u_i_flonum_intergerp" #(1) )))
  
 -(fplog (procedure! fplog (float) float)
 +(fplog (#(procedure #:clean #:enforce) fplog (float) float)
         ((float) (##core#inline_allocate ("C_a_i_flonum_log" 4) #(1) )))
  
 -(fpmax (procedure! fpmax (float float) float)
 +(fpmax (#(procedure #:clean #:enforce) fpmax (float float) float)
         ((float float) (##core#inline "C_i_flonum_max" #(1) #(2))))
  
 -(fpmin (procedure! fpmin (float float) float)
 +(fpmin (#(procedure #:clean #:enforce) fpmin (float float) float)
         ((float float) (##core#inline "C_i_flonum_min" #(1) #(2))))
  
 -(fpneg (procedure! fpneg (float) float)
 +(fpneg (#(procedure #:clean #:enforce) fpneg (float) float)
         ((float) (##core#inline_allocate ("C_a_i_flonum_negate" 4) #(1) )))
  
 -(fpround (procedure! fpround (float) float)
 +(fpround (#(procedure #:clean #:enforce) fpround (float) float)
  	 ((float) (##core#inline_allocate ("C_a_i_flonum_round" 4) #(1) )))
  
 -(fpsin (procedure! fpsin (float) float)
 +(fpsin (#(procedure #:clean #:enforce) fpsin (float) float)
         ((float) (##core#inline_allocate ("C_a_i_flonum_sin" 4) #(1) )))
  
 -(fpsqrt (procedure! fpsqrt (float) float)
 +(fpsqrt (#(procedure #:clean #:enforce) fpsqrt (float) float)
  	((float) (##core#inline_allocate ("C_a_i_flonum_sqrt" 4) #(1) )))
  
 -(fptan (procedure! fptan (float) float)
 +(fptan (#(procedure #:clean #:enforce) fptan (float) float)
         ((float) (##core#inline_allocate ("C_a_i_flonum_tan" 4) #(1) )))
  
 -(fptruncate (procedure! fptruncate (float) float)
 +(fptruncate (#(procedure #:clean #:enforce) fptruncate (float) float)
  	    ((float) (##core#inline_allocate ("C_a_i_flonum_truncate" 4) #(1) )))
  
 -(fx- (procedure fx- (fixnum fixnum) fixnum))
 -(fx* (procedure fx* (fixnum fixnum) fixnum))
 -(fx/ (procedure fx/ (fixnum fixnum) fixnum))
 -(fx+ (procedure fx+ (fixnum fixnum) fixnum))
 -(fx< (procedure fx< (fixnum fixnum) boolean))
 -(fx<= (procedure fx<= (fixnum fixnum) boolean))
 -(fx= (procedure fx= (fixnum fixnum) boolean))
 -(fx> (procedure fx> (fixnum fixnum) boolean))
 -(fx>= (procedure fx>= (fixnum fixnum) boolean))
 -(fxand (procedure fxand (fixnum fixnum) fixnum))
 -(fxeven? (procedure fxeven? (fixnum) boolean))
 -(fxior (procedure fxior (fixnum fixnum) fixnum))
 -(fxmax (procedure fxmax (fixnum fixnum) fixnum))
 -(fxmin (procedure fxmin (fixnum fixnum) fixnum))
 -(fxmod (procedure fxmod (fixnum fixnum) fixnum))
 -(fxneg (procedure fxneg (fixnum) fixnum))
 -(fxnot (procedure fxnot (fixnum) fixnum))
 -(fxodd? (procedure fxodd? (fixnum) boolean))
 -(fxshl (procedure fxshl (fixnum fixnum) fixnum))
 -(fxshr (procedure fxshr (fixnum fixnum) fixnum))
 -(fxxor (procedure fxxor (fixnum fixnum) fixnum))
 -(gc (procedure gc (#!optional *) fixnum))
 -(gensym (procedure gensym (#!optional *) symbol))
 -
 -(get (procedure! get (symbol symbol #!optional *) *)
 +;;XXX should these be enforcing?
 +(fx- (#(procedure #:clean) fx- (fixnum fixnum) fixnum))
 +(fx* (#(procedure #:clean) fx* (fixnum fixnum) fixnum))
 +(fx/ (#(procedure #:clean) fx/ (fixnum fixnum) fixnum))
 +(fx+ (#(procedure #:clean) fx+ (fixnum fixnum) fixnum))
 +(fx< (#(procedure #:clean) fx< (fixnum fixnum) boolean))
 +(fx<= (#(procedure #:clean) fx<= (fixnum fixnum) boolean))
 +(fx= (#(procedure #:clean) fx= (fixnum fixnum) boolean))
 +(fx> (#(procedure #:clean) fx> (fixnum fixnum) boolean))
 +(fx>= (#(procedure #:clean) fx>= (fixnum fixnum) boolean))
 +(fxand (#(procedure #:clean) fxand (fixnum fixnum) fixnum))
 +(fxeven? (#(procedure #:clean) fxeven? (fixnum) boolean))
 +(fxior (#(procedure #:clean) fxior (fixnum fixnum) fixnum))
 +(fxmax (#(procedure #:clean) fxmax (fixnum fixnum) fixnum))
 +(fxmin (#(procedure #:clean) fxmin (fixnum fixnum) fixnum))
 +(fxmod (#(procedure #:clean) fxmod (fixnum fixnum) fixnum))
 +(fxneg (#(procedure #:clean) fxneg (fixnum) fixnum))
 +(fxnot (#(procedure #:clean) fxnot (fixnum) fixnum))
 +(fxodd? (#(procedure #:clean) fxodd? (fixnum) boolean))
 +(fxshl (#(procedure #:clean) fxshl (fixnum fixnum) fixnum))
 +(fxshr (#(procedure #:clean) fxshr (fixnum fixnum) fixnum))
 +(fxxor (#(procedure #:clean) fxxor (fixnum fixnum) fixnum))
 +(gc (#(procedure #:clean) gc (#!optional *) fixnum))
 +(gensym (#(procedure #:clean) gensym (#!optional (or string symbol)) symbol))
 +
 +(get (#(procedure #:clean #:enforce) get (symbol symbol #!optional *) *)
       ((symbol symbol *) (##core#inline "C_i_getprop" #(1) #(2) #(3))))
  
 -(get-call-chain (procedure! get-call-chain (#!optional fixnum *) list))
 -(get-condition-property (procedure! get-condition-property ((struct condition) symbol symbol #!optional *) *))
 -(get-environment-variable (procedure! get-environment-variable (string) *))
 -(get-keyword (procedure! get-keyword (symbol list #!optional *) *))
 -(get-output-string (procedure! get-output-string (port) string))
 -(get-properties (procedure! get-properties (symbol list) symbol * list))
 -(getter-with-setter (procedure! getter-with-setter (procedure procedure #!optional string) procedure))
 -(implicit-exit-handler (procedure! implicit-exit-handler (#!optional procedure) procedure))
 -(ir-macro-transformer (procedure ir-macro-transformer ((procedure (* * *) *)) (struct transformer)))
 -(keyword->string (procedure! keyword->string (symbol) string))
 -(keyword-style (procedure keyword-style (#!optional *) *))
 -(keyword? (procedure keyword? (*) boolean))
 -(load-library (procedure! load-library (symbol #!optional string) undefined))
 -(load-relative (procedure! load-relative (string #!optional procedure) undefined))
 -(load-verbose (procedure load-verbose (#!optional *) *))
 -(machine-byte-order (procedure machine-byte-order () symbol))
 -(machine-type (procedure machine-type () symbol))
 -
 -(make-blob (procedure! make-blob (fixnum) blob)
 +(get-call-chain (#(procedure #:clean #:enforce) get-call-chain (#!optional fixnum (struct thread)) (list vector)))
 +(get-condition-property (#(procedure #:clean #:enforce) get-condition-property ((struct condition) symbol symbol #!optional *) *))
 +(get-environment-variable (#(procedure #:clean #:enforce) get-environment-variable (string) *))
 +(get-keyword (#(procedure #:clean #:enforce) get-keyword (symbol list #!optional *) *))
 +(get-output-string (#(procedure #:clean #:enforce) get-output-string (port) string))
 +(get-properties (#(procedure #:clean #:enforce) get-properties (symbol list) symbol * list))
 +
 +(getter-with-setter
 + (#(procedure #:clean #:enforce)
 +  getter-with-setter
 +  ((procedure (#!rest) *) (procedure (* #!rest) . *) #!optional string)
 +  procedure))
 +
 +(implicit-exit-handler
 + (#(procedure #:clean #:enforce) implicit-exit-handler (#!optional (procedure () . *)) procedure))
 +
 +(ir-macro-transformer
 + (#(procedure #:clean #:enforce)
 +  ir-macro-transformer
 +  ((procedure (* (procedure (*) *) (procedure (* *) *)) *))
 +  (struct transformer)))
 +
 +(keyword->string (#(procedure #:clean #:enforce) keyword->string (symbol) string))
 +(keyword-style (#(procedure #:clean) keyword-style (#!optional symbol) symbol))
 +(keyword? (#(procedure #:pure) keyword? (*) boolean))
 +(load-library (#(procedure #:enforce) load-library (symbol #!optional string) undefined))
 +(load-relative (#(procedure #:enforce) load-relative (string #!optional (procedure (*) . *)) undefined))
 +(load-verbose (#(procedure #:clean) load-verbose (#!optional *) *))
 +(machine-byte-order (#(procedure #:pure) machine-byte-order () symbol))
 +(machine-type (#(procedure #:pure) machine-type () symbol))
 +
 +(make-blob (#(procedure #:clean #:enforce) make-blob (fixnum) blob)
  	   ((fixnum) (##sys#make-blob #(1))))
  
 -(make-composite-condition (procedure! make-composite-condition (#!rest (struct condition)) (struct condition)))
 -(make-parameter (procedure! make-parameter (* #!optional procedure) procedure))
 -(make-property-condition (procedure! make-property-condition (symbol #!rest *) (struct condition)))
 +(make-composite-condition (#(procedure #:clean #:enforce) make-composite-condition (#!rest (struct condition)) (struct condition)))
 +(make-parameter (#(procedure #:clean #:enforce) make-parameter (* #!optional procedure) procedure))
 +(make-property-condition (#(procedure #:clean #:enforce) make-property-condition (symbol #!rest *) (struct condition)))
  (maximum-flonum float)
 -(memory-statistics (procedure memory-statistics () vector))
 +(memory-statistics (#(procedure #:clean) memory-statistics () (vector fixnum)))
  (minimum-flonum float)
+ (module-environment (procedure module-environment (symbol #!optional symbol) (struct environment)))
  (most-negative-fixnum fixnum)
  (most-positive-fixnum fixnum)
 -(on-exit (procedure! on-exit ((procedure () . *)) undefined))
 -(open-input-string (procedure! open-input-string (string #!rest) port))
 -(open-output-string (procedure open-output-string (#!rest) port))
 -(parentheses-synonyms (procedure parentheses-synonyms (#!optional *) *))
 +(on-exit (#(procedure #:clean #:enforce) on-exit ((procedure () . *)) undefined))
 +(open-input-string (#(procedure #:clean #:enforce) open-input-string (string #!rest) port))
 +(open-output-string (#(procedure #:clean) open-output-string (#!rest) port))
 +(parentheses-synonyms (#(procedure #:clean) parentheses-synonyms (#!optional *) *))
  
 -(port-name (procedure! port-name (#!optional port) *)
 +(port-name (#(procedure #:clean #:enforce) port-name (#!optional port) *)
  	   ((port) (##sys#slot #(1) '3)))
  
 -(port-position (procedure! port-position (#!optional port) fixnum))
 +(port-position (#(procedure #:clean #:enforce) port-position (#!optional port) fixnum fixnum))
  
 -(port? (procedure? port port? (*) boolean))
 +(port? (#(procedure #:pure #:predicate port) port? (*) boolean))
  
  (print (procedure print (#!rest *) undefined))
 -(print-call-chain (procedure! print-call-chain (#!optional port fixnum * string) undefined))
 -(print-error-message (procedure! print-error-message (* #!optional port string) undefined))
 +(print-call-chain (#(procedure #:clean #:enforce) print-call-chain (#!optional port fixnum * string) undefined))
 +(print-error-message (#(procedure #:clean #:enforce) print-error-message (* #!optional port string) undefined))
  (print* (procedure print* (#!rest) undefined))
 -(procedure-information (procedure! procedure-information (procedure) *))
 -(program-name (procedure! program-name (#!optional string) string))
 -(promise? (procedure? (struct promise) promise? (*) boolean))
 +(procedure-information (#(procedure #:clean #:enforce) procedure-information (procedure) *))
 +(program-name (#(procedure #:clean #:enforce) program-name (#!optional string) string))
 +(promise? (#(procedure #:pure #:predicate (struct promise)) promise? (*) boolean))
  
 -(put! (procedure! put! (symbol symbol *) undefined)
 +(put! (#(procedure #:clean #:enforce) put! (symbol symbol *) undefined)
        ((symbol symbol *)
         (##core#inline_allocate ("C_a_i_putprop" 8) #(1) #(2) #(3))))
  
Trap