Hi Mark,
On Thu 05 Jan 2012 01:03, Mark H Weaver m...@netris.org writes:
* Why do compilers return two copies of the same environment?
What is the intended meaning of these two return values?
From The Scheme Compiler, in the manual:
Compiler procedures take three arguments: an
Hi Alexandre!
On Thu 06 Oct 2011 12:53, Alexandre Abreu abreu_alexan...@hotmail.com writes:
after reading Tobias' comments, I wondered if the Ideas webpage is
actually up to date or being updated (which might not be part of the
high priority things to do). I have been using guile (on and
On Sat 08 Oct 2011 17:42, Mark H Weaver m...@netris.org writes:
On second thought, I've decided that this patch set needs a bit more
work before it is ready for submission. I hope to post an improved
version soon.
Cool, take your time. It looks like an interesting patch set, though I
On Sat 08 Oct 2011 18:04, l...@gnu.org (Ludovic Courtès) writes:
And what about the seldom-used SCM_ASRTGO?
Likewise (Google Codesearch finds a couple of external users.)
Uf, I replied before I saw your message. It is gone in master. Do you
think we need to re-add it? Codesearch found one
Bruce Korb bk...@gnu.org writes:
So because it might be the case that one reference might want to
see changes made via another reference then the whole concept is
trashed? all or nothing? Anyway, such a concept should be kept
very simple: functions that modify their argument make copies of
Bruce Korb bk...@gnu.org writes:
On 01/04/12 16:01, Ludovic Courtès wrote:
BTW, were you able to find a stripped-down example that reproduces the
‘string-upcase’ problem?
Here's the stripped down example, but it does not reproduce the problem. :(
I didn't copy into it my variation on
David Kastrup d...@gnu.org writes:
Ah, I see that set! has made it explicitly into the patterns. What
about
(define foo (make-procedure-with-setter vector-ref vector-set!))
(let ((env
(let ((x (make-vector 2 #f)))
(the-environment
(local-eval '(set! (foo x 1) 3) env))
David Kastrup d...@gnu.org writes:
Ah, I see that set! has made it explicitly into the patterns. What
about
(define foo (make-procedure-with-setter vector-ref vector-set!))
(let ((env
(let ((x (make-vector 2 #f)))
(the-environment
(local-eval '(set! (foo x 1) 3) env))
Bruce Korb bk...@gnu.org writes:
On 01/04/12 15:59, Mark H Weaver wrote:
Implementing copy-on-write transparently without the user explicitly
making a copy (that is postponed) is _impossible_. The problem is that
although we could make a new copy of the string, we have no way to know
which
Bruce Korb bk...@gnu.org writes:
Anyway, such a concept should be kept
very simple: functions that modify their argument make copies of
any input argument that is read only. Any other SCM's lying about
that refer to the unmodified object continue referring to that
same unmodified object.
Hello all,
I'd like to argue in favor of supporting (begin), (cond), (case-lambda)
and other such degenerate forms, for the same reason that we support
(*), (+), and (let () ...).
First of all: Is there any compelling reason not to support them?
I can't think of one. Can you? If so, please do
`define' merely makes a new reference to an existing object. If you
want a copy, you must explicitly ask for one (though this could be
hidden by custom syntax). It would not be desirable for the language to
make copies automatically as part of the core `define' syntax. For one
thing,
Mike Gran spk...@yahoo.com writes:
It is curious that action of 'copy' really means the
action of 'create a copy with different properties'.
Shouldn't (string-copy a) create another immutable string?
Why would you want to copy an immutable string?
Likewise, shouldn't (substring abc 1)
Hello all,
I must admit that I do not know much about why R5RS says that literals
are constant, but I think there is a misunderstanding.
Bruce does not want `define' to always copy its result. I think what
he wants is for literals embedded in source code to be mutable. This
would, of course,
On Fri, Jan 6, 2012 at 9:49 AM, Mark H Weaver m...@netris.org wrote:
I'd like to argue in favor of supporting (begin), (cond), (case-lambda)
and other such degenerate forms, for the same reason that we support
(*), (+), and (let () ...).
First of all: Is there any compelling reason not to
15 matches
Mail list logo