~ chicken-core (chicken-5) c2d6ee14e9eac239b2d4c02bb574f58e43e578c1


commit c2d6ee14e9eac239b2d4c02bb574f58e43e578c1
Merge: 4d40a7af 3744e608
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Tue Aug 30 20:18:51 2011 +0200
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Tue Aug 30 20:18:51 2011 +0200

    resolved conflicts

diff --cc types.db
index d02342a1,60ea3c21..c7d3384b
--- a/types.db
+++ b/types.db
@@@ -1220,55 -1046,51 +1220,55 @@@
  
  ;; irregex
  
 -(irregex (procedure irregex (#!rest) *))
 +;;XXX these need to be reviewed by Alex and/or sjamaan
 +
 +;;XXX which do not invoke stored procedures that may modify local state? (clean)
 +
 +(irregex (#(procedure #:clean) irregex (#!rest) *))
  ;irregex-apply-match
  
 -(irregex-dfa (procedure! irregex-dfa ((struct regexp)) *)
 +(irregex-dfa (#(procedure #:clean #:enforce) irregex-dfa ((struct regexp)) *)
  	     (((struct regexp)) (##sys#slot #(1) '1)))
  
 -(irregex-dfa/extract (procedure! irregex-dfa/extract ((struct regexp)) *)
 +(irregex-dfa/extract (#(procedure #:clean #:enforce) irregex-dfa/extract ((struct regexp)) *)
  		     (((struct regexp)) (##sys#slot #(1) '3)))
  
 -(irregex-dfa/search (procedure! irregex-dfa/search ((struct regexp)) *)
 +(irregex-dfa/search (#(procedure #:clean #:enforce) irregex-dfa/search ((struct regexp)) *)
  		    (((struct regexp)) (##sys#slot #(1) '2)))
  
 -(irregex-extract (procedure! irregex-extract (* string #!optional fixnum fixnum) list))
 -(irregex-flags (procedure! irregex-flags ((struct regexp)) *)
 +(irregex-extract (#(procedure #:enforce) irregex-extract (* string #!optional fixnum fixnum) list)) ;XXX specialize?
 +(irregex-flags (#(procedure #:clean #:enforce) irregex-flags ((struct regexp)) *)
  	       (((struct regexp)) (##sys#slot #(1) '5)))
  
 -(irregex-fold (procedure! irregex-fold (* (procedure (fixnum (struct regexp-match) *) *) * string #!optional (procedure (fixnum *) *) fixnum fixnum) *))
 +(irregex-fold (#(procedure #:enforce) irregex-fold (* (procedure (fixnum (struct regexp-match) *) *) * string #!optional (procedure (fixnum *) *) fixnum fixnum) *))
  
 -(irregex-fold/chunked (procedure! irregex-fold/chunked (* (procedure (* fixnum (struct regexp-match) *) *) * procedure * #!optional (procedure (* fixnum *) *) fixnum fixnum) *))
 +(irregex-fold/chunked (#(procedure #:enforce) irregex-fold/chunked (* (procedure (* fixnum (struct regexp-match) *) *) * procedure * #!optional (procedure (* fixnum *) *) fixnum fixnum) *))
  
 -(irregex-lengths (procedure! irregex-lengths ((struct regexp)) *)
 +(irregex-lengths (#(procedure #:clean #:enforce) irregex-lengths ((struct regexp)) *)
  		 (((struct regexp)) (##sys#slot #(1) '7)))
  
- (irregex-match (#(procedure #:enforce) irregex-match (* string) *))
 -(irregex-match (procedure! irregex-match (* string #!optional fixnum fixnum) *))
++(irregex-match (#(procedure #:enforce) irregex-match (* string #!optional fixnum fixnum) *))
  ;irregex-match?
  
 -(irregex-match-data? (procedure? (struct regexp-match) irregex-match-data? (*) boolean))
 +(irregex-match-data? (#(procedure #:pure #:predicate (struct regexp-match)) irregex-match-data? (*) boolean))
  
 -(irregex-match-end (procedure irregex-match-end (* #!optional *) *))
 +(irregex-match-end (#(procedure) irregex-match-end (* #!optional *) *))
  ;irregex-match-end-chunk
 -(irregex-match-end-index (procedure! irregex-match-end-index ((struct regexp-match) #!optional *) fixnum))
 +(irregex-match-end-index (#(procedure #:enforce) irregex-match-end-index ((struct regexp-match) #!optional *) fixnum))
  
 -(irregex-match-names (procedure! irregex-match-names ((struct regexp-match)) list)
 +(irregex-match-names (#(procedure #:enforce) irregex-match-names ((struct regexp-match)) list)
  		     (((struct regexp-match)) (##sys#slot #(1) '2)))
  
 -(irregex-match-num-submatches (procedure! irregex-match-num-submatches ((struct regexp-match)) fixnum))
 -(irregex-match-start (procedure irregex-match-start (* #!optional *) *))
 +(irregex-match-num-submatches (#(procedure #:enforce) irregex-match-num-submatches ((struct regexp-match)) fixnum))
 +(irregex-match-start (#(procedure) irregex-match-start (* #!optional *) *))
  ;irregex-match-start-chunk
 -(irregex-match-start-index (procedure! irregex-match-start-index ((struct regexp-match) #!optional *) fixnum))
 -(irregex-match-string (procedure irregex-match-string (*) *))
 -(irregex-match-subchunk (procedure! irregex-match-subchunk ((struct regexp-match) #!optional *) *))
 -(irregex-match-substring (procedure irregex-match-substring (* #!optional *) *))
 -(irregex-match/chunked (procedure! irregex-match/chunked (* * * #!optional fixnum) *))
 +(irregex-match-start-index (#(procedure #:enforce) irregex-match-start-index ((struct regexp-match) #!optional *) fixnum))
 +(irregex-match-string (#(procedure) irregex-match-string (*) *))
 +(irregex-match-subchunk (#(procedure #:enforce) irregex-match-subchunk ((struct regexp-match) #!optional *) *))
 +(irregex-match-substring (#(procedure) irregex-match-substring (* #!optional *) *))
 +(irregex-match/chunked (#(procedure #:enforce) irregex-match/chunked (* * * #!optional fixnum) *))
  
 -(irregex-names (procedure! irregex-names ((struct regexp)) *)
 +(irregex-names (#(procedure #:clean #:enforce) irregex-names ((struct regexp)) *)
  	       (((struct regexp)) (##sys#slot #(1) '8)))
  
  (irregex-new-matches (procedure irregex-new-matches (*) *))
Trap