set! creates top-level binding as follows. This is confusing several developers
ERROR: unbound variable (errobj foo)
uim> (set! foo 'bar)
Fixed. See svn diff -r 734:735
I think that set-symbol-value! also have to behave as same as set!. Currently
set-symbol-value! is directly bound to setvar(), so wrapper function is required.
ERROR: unbound variable (errobj hoge)
uim> (set-symbol-value! 'hoge 1)
set-symbol-value! (and also symbol-value) doesn't exists at R5RS. So if it's
not very convenient, simply removing it would be enough. (In other words, if it's
convenient enough, we should use it.) What do you think about this idea?
I think that set-symbol-value! (and symbol-value) is required to implement some
uim features. Yes, they are not exiting at R5RS world, and I can't find
corresponding procedures. Should I read SRFIs?
Regardless of procedure name, I think that set-symbol-value! or the
corresponding one should not create top-level binding.
It will be resolved in uim 1.2.0 by SigScheme's set! implementation, and
replaced with a portable proc such as follows in uim 1.3.0.
(lambda (sym val)
(eval '(set! sym val)
Resolved in uim 1.4.0 by SigScheme introduction.