It seems that Chicken has a parameter to enforce R5RS strictness:

> -r5rs-syntax disables the Chicken extensions to R5RS syntax

So I gave it a shot with this issue:

> csi -r5rs-syntax
> CHICKEN
> (c) 2008-2014, The Chicken Team
> (c) 2000-2007, Felix L. Winkelmann
> Version 4.9.0.1 (stability/4.9.0) (rev 8b3189b)
> windows-mingw32-x86 [ manyargs dload ptables ]
> bootstrapped 2014-06-07
>
> Disabled the Chicken extensions to R5RS syntax
> #;1> (set! foo 1)
> #;2> foo
> 1

Well, damn. It is a bug.

-Dan

On 2016-09-23 6:45 PM, Kon Lovett wrote:
>
>> On Sep 23, 2016, at 6:31 PM, Dan Leslie <[email protected]
>> <mailto:[email protected]>> wrote:
>>
>> Sounds like a Chicken Bug,
>
> Chicken calls this a “convenience”. Yes, a std violation but handy
> using a REPL.
>
> Should be able to defeat.
>
>> from the docs[‎0]:
>>
>> > <Expression> is evaluated, and the resulting value is stored in the
>> location to which <variable> is bound. <Variable> must be bound
>> either in some region enclosing the set! expression or at top level.
>> The result of the set! expression is unspecified.
>>
>> 0: https://wiki.call-cc.org/man/4/The%20R5RS%20standard#assignments
>>
>> -Dan
>>
>> Sent from my BlackBerry 10 smartphone.
>> *From: *Jinsong Liang
>> *Sent: *Friday, September 23, 2016 6:27 PM
>> *To: *chicken chicken
>> *Subject: *[Chicken-users] set! on unbound variable
>>
>>
>> Hi,
>>
>> I have been tripped by the following mistake a few times:
>>
>> (let ((hello 0))
>>     (set! helo 1))
>>
>> I meant to set! on hello. However, due to a typo, I did set! on helo.
>> This bug is extremely hard to debug to me. Is there a way to make
>> Chicken give warning on this? Or how do you handle this issue?
>>
>> I know probably using set! is not a good programming style. I found
>> that in some situations it is hard to avoid set!.
>>
>> Thank you!
>>
>> Jinsong
>>    
>>
>> _______________________________________________
>> Chicken-users mailing list
>> [email protected] <mailto:[email protected]>
>> https://lists.nongnu.org/mailman/listinfo/chicken-users
>

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Chicken-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to