Changeset 4598 in project


Ignore:
Timestamp:
06/20/07 00:53:26 (13 years ago)
Author:
Jim Ursetto
Message:

syntactic-closures: add rsc-macro-transfomer, update to 0.982

Files:
4 edited

Legend:

Unmodified
Added
Removed
  • syntactic-closures/syntactic-closures-chicken-macros.scm

    r4441 r4598  
    66    ((_ (id . llist) . body)
    77     (define-syntax id
    8        (sc-macro-transformer
     8       (rsc-macro-transformer
    99        (lambda (exp env)
    1010          (apply (lambda llist . body) (cdr exp)) ) ) ) )
    1111    ((_ id expander)
    1212     (define-syntax id
    13        (sc-macro-transformer
     13       (rsc-macro-transformer
    1414        (lambda (exp env)
    1515          (apply expander (cdr exp)) ) ) ) ) ) )
  • syntactic-closures/syntactic-closures.scm

    r3218 r4598  
    657657                   definition-environment)))
    658658
     659(define (rsc-expander->classifier expander keyword-environment)
     660  (sc-expander->classifier (rsc->sc-expander expander) keyword-environment))
     661
     662(define (rsc->sc-expander expander)
     663  (lambda (form environment)
     664    (capture-syntactic-environment
     665     (lambda (keyword-environment)
     666       (make-syntactic-closure
     667        environment '()
     668        (expander form keyword-environment))))))
     669
    659670(define (er-expander->classifier expander keyword-environment)
    660671  (sc-expander->classifier (er->sc-expander expander) keyword-environment))
     
    745756(define (make-sc-expander-macrology generate-definitions)
    746757  (make-expander-macrology sc-expander->classifier generate-definitions))
     758
     759(define (make-rsc-expander-macrology generate-definitions)
     760  (make-expander-macrology rsc-expander->classifier generate-definitions))
    747761
    748762(define (make-er-expander-macrology generate-definitions)
     
    10151029       (transformer-keyword sc-expander->classifier))
    10161030
     1031     (define-classifier 'rsc-macro-transformer
     1032       ;; reverse "syntactic closures" transformer
     1033       (transformer-keyword rsc-expander->classifier))
     1034     
    10171035     (define-classifier 'er-macro-transformer
    10181036       ;; "explicit renaming" transformer
  • syntactic-closures/syntactic-closures.setup

    r4441 r4598  
    33 'syntactic-closures
    44 '("syntactic-closures.so" "syntactic-closures.html" "syntactic-closures-chicken-macros.scm")
    5  '((version 0.981)
     5 '((version 0.982)
    66   (documentation "syntactic-closures.html")
    77   (syntax) ) )
  • wiki/syntactic-closures

    r4441 r4598  
    430430=== History
    431431
     432; 0.982 : added rsc-macro-transformer; define-macro is non-hygienic (zbigniew)
    432433; 0.981 : added {{optional}} as a replacement for {{:optional}}
    433434; 0.98 : uses hygienic implementation of {{condition-case}}
Note: See TracChangeset for help on using the changeset viewer.