chicken-janitors
[Top][All Lists]
Advanced

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

[Chicken-janitors] #1284: Incorrect Expansion of => Clauses with Literal


From: Chicken Trac
Subject: [Chicken-janitors] #1284: Incorrect Expansion of => Clauses with Literals in Cond
Date: Mon, 25 Apr 2016 20:42:22 -0000

#1284: Incorrect Expansion of => Clauses with Literals in Cond
-------------------------------+---------------------
 Reporter:  rnvannatta         |      Owner:
     Type:  defect             |     Status:  new
 Priority:  not urgent at all  |  Milestone:  someday
Component:  expander           |    Version:  4.9.x
 Keywords:  cond =>            |
-------------------------------+---------------------
 A clause in a cond statement of the form `(<literal> => proc)` where
 <literal> is any literal except #f does not evaluate correctly. Upon
 evaluation of `(cond (#t => identity)`, chicken throws the following
 error:

 {{{
 #;>(cond (#t => identity))

 Error: unbound variable: =>

         Call history:

         <syntax>          (cond (#t => identity))
         <syntax>          (##core#begin => identity)    <--'')
 }}}

 The code should expand to
 {{{
 (##core#let ((tmp #t)) (##core#if tmp (identity tmp) (##core#undefined)))
 }}}
 as it does for non-literal values.

--
Ticket URL: <http://bugs.call-cc.org/ticket/1284>
CHICKEN Scheme <http://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]