[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.
- [Chicken-janitors] #1284: Incorrect Expansion of => Clauses with Literals in Cond,
Chicken Trac <=