chicken-janitors
[Top][All Lists]
Advanced

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

[Chicken-janitors] #1152: Reserved pattern symbols break when a binding


From: Chicken Trac
Subject: [Chicken-janitors] #1152: Reserved pattern symbols break when a binding of the same name exists
Date: Thu, 04 Sep 2014 11:08:57 -0000

#1152: Reserved pattern symbols break when a binding of the same name exists
---------------------------+------------------------------------------------
 Reporter:  syn            |       Owner:  ashinn 
     Type:  defect         |      Status:  new    
 Priority:  major          |   Milestone:  someday
Component:  extensions     |     Version:  4.9.x  
 Keywords:  matchable egg  |  
---------------------------+------------------------------------------------
 When reserved pattern symbols like {{{?}}} or {{{_}}} are bound in the
 lexical environment of a {{{match}}} expression, they don't work anymore:

 {{{
 (import matchable)

 (let ((? 1))
   (match '(x y)
     ((? odd?) (print ?))))

 (match '(x y)
   ((_ _) (print 'ok)))

 (let ((_ 1))
   (match '(x y)
     ((_ _) (print 'ok))))
 }}}

 Output:

 {{{
 $ csc matchbug.scm && ./matchbug
 x
 ok

 Error: (match) no matching pattern

         Call history:

         matchbug.scm:5: print
         matchbug.scm:8: print
         matchbug.scm:10: failure391
         matchbug.scm:10: error          <--
 }}}

-- 
Ticket URL: <http://bugs.call-cc.org/ticket/1152>
CHICKEN Scheme <http://www.call-with-current-continuation.org/>
CHICKEN Scheme is a compiler for the Scheme programming language.

reply via email to

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