Changeset 14939 in project


Ignore:
Timestamp:
06/08/09 12:50:15 (10 years ago)
Author:
Ivan Raikov
Message:

another update to abnf bind

File:
1 edited

Legend:

Unmodified
Added
Removed
  • release/4/abnf/abnf.scm

    r14938 r14939  
    5252         )
    5353
    54    (import scheme chicken data-structures )
     54   (import scheme chicken data-structures extras )
    5555
    5656   (require-extension matchable srfi-1 srfi-14 srfi-69)
     
    7575                     (let ((ss1 (map (lambda (s)
    7676                                       (match s ((eaten food)
    77                                                  (let* ((eaten0 (unbox (last eaten)))
     77                                                 (let* ((eaten0 (last eaten))
    7878                                                        (eaten1 (drop-right eaten 1))
    79                                                         (x (f eaten1)))
    80                                                  (if x (list (cons x eaten0) food)
    81                                                      (list eaten0 food))))
     79                                                        (x      (f eaten1)))
     80                                                   (let ((res (if x (list (append x (list eaten0)) food)
     81                                                                  (list (unbox eaten0) food))))
     82                                                     res)))
    8283                                              (else s))) ss)))
    8384                       (cont ss1)))))
     
    9192(define unbox box-contents)
    9293(define set-box! box-contents-set!)
     94
    9395
    9496(define (drop-consumed p)
Note: See TracChangeset for help on using the changeset viewer.