chicken-janitors
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-janitors] #1309: CHICKEN allows misplaced internal defines,


From: Chicken Trac
Subject: Re: [Chicken-janitors] #1309: CHICKEN allows misplaced internal defines, which live on outside the body
Date: Sun, 26 Feb 2017 16:37:04 -0000

#1309: CHICKEN allows misplaced internal defines, which live on outside the body
---------------------------------------+--------------------------------
            Reporter:  ai-artisan      |      Owner:
                Type:  defect          |     Status:  new
            Priority:  critical        |  Milestone:  5.0
           Component:  core libraries  |    Version:  4.11.0
          Resolution:                  |   Keywords:  record type define
Estimated difficulty:  hard            |
---------------------------------------+--------------------------------

Comment (by sjamaan):

 Because there's no r7rs egg for CHICKEN 5 yet, here's a testcase that
 contains just the minimum required code for r7rs define-record-type:

 {{{
 (begin-for-syntax

   (define (macro-handler name)
     (cond ((assq name (##sys#macro-environment)) => caddr)
           (else #f)))

   (define (wrap-er-macro-transformer name handler)
     (er-macro-transformer
      (let ((orig (macro-handler name)))
        (lambda (x r c)
          (let ((e (##sys#current-environment)))
            (handler x r c (lambda (x*) (orig x* '() e)))))))))

 (let ()
   (define-record-type bug
     (make-bug)
     bug?) )

 (define b (make-bug))
 (display (bug? b))
 (newline)
 }}}

--
Ticket URL: <https://bugs.call-cc.org/ticket/1309#comment:16>
CHICKEN Scheme <https://www.call-cc.org/>
CHICKEN Scheme is a compiler for the Scheme programming language.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]