Changeset 15799 in project for chicken/trunk/compiler-syntax.scm


Ignore:
Timestamp:
09/08/09 21:40:12 (11 years ago)
Author:
felix winkelmann
Message:

enabled compiler-syntax for map, better rewrites for add1/sub1; WARNING: not tested, yet

File:
1 edited

Legend:

Unmodified
Added
Removed
  • chicken/trunk/compiler-syntax.scm

    r15795 r15799  
    5959(define-internal-compiler-syntax ((for-each ##sys#for-each #%for-each) x r c)
    6060  (pair?)
     61  ;; XXX add support for multiple lists
    6162  (let ((%let (r 'let))
    6263        (%if (r 'if))
     
    6667        (%pair? (r 'pair?)))
    6768    (if (and (memq 'for-each standard-bindings) ; we have to check this because the db (and thus
    68              (= 3 (length x)))                   ; intrinsic marks) isn't set up yet
     69             (= (length+ x) 3))                  ; intrinsic marks) isn't set up yet
    6970        `(,%let ,%loop ((,%lst ,(caddr x)))
    7071                (,%if (,%pair? ,%lst)
     
    7475        x)))
    7576
    76 #+xxx
    7777(define-internal-compiler-syntax ((map ##sys#map #%map) x r c)
    7878  (pair?)
     79  ;; XXX add support for multiple lists
    7980  (let ((%let (r 'let))
    8081        (%let* (r 'let*))
Note: See TracChangeset for help on using the changeset viewer.