Changeset 15061 in project for chicken


Ignore:
Timestamp:
06/25/09 15:26:41 (10 years ago)
Author:
felix winkelmann
Message:

slight change in semantics for define-compiler-syntax, some testing

Location:
chicken/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • chicken/trunk/batch-driver.scm

    r15053 r15061  
    486486                         '((##core#undefined))) ] )
    487487
    488              (when (and (debugging 'x "applied compiler syntax:")
    489                         (pair? compiler-syntax-statistics))
     488             (when (and (pair? compiler-syntax-statistics)
     489                        (debugging 'x "applied compiler syntax:"))
    490490               (for-each
    491491                (lambda (cs) (printf "  ~a\t\t~a~%" (car cs) (cdr cs)))
  • chicken/trunk/compiler.scm

    r15060 r15061  
    108108; ([##core#]lambda ({<variable>}+ [. <variable>]) <body>)
    109109; ([##core#]set! <variable> <exp>)
     110; ([##core#]begin <exp> ...)
    110111; (##core#named-lambda <name> <llist> <body>)
    111112; (##core#loop-lambda <llist> <body>)
     
    137138; (##core#require-extension (<id> ...) <bool>)
    138139; (##core#app <exp> {<exp>})
    139 ; (##coresyntax <exp>)
     140; ([##core#]syntax <exp>)
    140141; (<exp> {<exp>})
    141142; (define-syntax <symbol> <expr>)
     
    568569                                (walk (cadddr x) e se #f) ) ) )
    569570
    570                         ((quote syntax)
     571                        ((quote syntax ##core#syntax)
    571572                         (##sys#check-syntax name x '(_ _) #f se)
    572573                         `(quote ,(##sys#strip-syntax (cadr x))))
     
    792793                               (body (caddr x))
    793794                               (name (##sys#strip-syntax var se #t)))
    794                           (##sys#put!
    795                            name
    796                            '##compiler#compiler-syntax
    797                            (cons
    798                             (##sys#er-transformer (eval/meta body))
    799                             (##sys#current-environment)))
    800                           (walk '(##core#undefined) e se dest)) )
     795                          (walk
     796                           `(##sys#put!
     797                             (##core#syntax ,name)
     798                             '##compiler#compiler-syntax
     799                             (##sys#cons
     800                              (##sys#er-transformer ,body)
     801                              (##sys#current-environment)))
     802                           e se dest)))
    801803
    802804                       ((##core#module)
Note: See TracChangeset for help on using the changeset viewer.