This is the mail archive of the
guile@sourceware.cygnus.com
mailing list for the Guile project.
Re: why undefined return values?
Jim Blandy <jimb@red-bean.com> writes:
> My personal preference is that set! return no value. But the decision
> is up to Guile's maintainer.
>
>
>
> I've heard it argued that set! should return no useful value because
> that encourages people to write code which will run properly on other
> Scheme systems. But it's so hard to write portable code in Scheme
> that actually does anything anyway that you're practically forced to
> use local extensions --- just to report an error, for example. So
> this argument doesn't carry much weight with me.
I don't agree with this at all. I think there is a great value of
adhering strictly to the Scheme standard, and find it likely that
there aren't any substantial benefits of not adhering to it.
I grant that it's still difficult to write portable real-world
applications in Scheme, but this doesn't mean it always has to be like
that, and it is not true that non-portability holds for all
applications. For example, applications such as macro systems,
language transformation tools and libraries for symbolical and/or
numerical computation can be written portably.
I also hope that we can have as a general rule that Guile should be
R5RS compliant instead of discussing this issue per procedure or
special form. :)