Ticket #1154: fix-bindings-for-compilation.diff
File fix-bindings-for-compilation.diff, 1.2 KB (added by , 9 years ago) |
---|
-
bindings.scm
496 496 respectively. 497 497 ]|# 498 498 499 (define (destruc pat seq glen g ref gtail)499 (define (destruc pat seq glen glen-sym gref gtail) 500 500 (let loop ((pat pat) (seq seq) (n 0)) 501 501 (if (pair? pat) 502 502 (let ((p (car pat))) … … 527 527 (let ((tail `(,gtail ,seq ,n)) 528 528 (length-check (lambda (p s) 529 529 (if (list? p) 530 `(= ,(glen p) (,glen ,s))531 `(<= ,(glen p) (,glen ,s))))))530 `(= ,(glen p) (,glen-sym ,s)) 531 `(<= ,(glen p) (,glen-sym ,s)))))) 532 532 (if (null? pat) 533 533 (values '() '() `(,(length-check pat tail))) 534 534 (if (symbol? pat) … … 540 540 ]|# 541 541 542 542 (define (list-destruc pat seq) 543 (destruc pat seq plength plist-refplist-tail))543 (destruc pat seq plength 'plength 'plist-ref 'plist-tail)) 544 544 545 545 (define (seq-destruc pat seq) 546 (destruc pat seq seq-length seq-refseq-tail))546 (destruc pat seq seq-length 'seq-length 'seq-ref 'seq-tail)) 547 547 548 548 #|[ 549 549 Four procedures which use the results of destruc