|
From: | Dan Leslie |
Subject: | Re: [Chicken-users] set! on unbound variable |
Date: | Fri, 23 Sep 2016 18:31:41 -0700 |
Sounds like a Chicken Bug, 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.
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 |
[Prev in Thread] | Current Thread | [Next in Thread] |