~ 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