This is the mail archive of the guile@sourceware.cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: guile/guile-core/libguile async.h coop-defs.h ...


Mikael Djurfeldt <mdj@mdj.nada.kth.se> writes:

> gjb@sourceware.cygnus.com writes:
> 
> > 	* *.h: Use SCM_NIMP(X) && in all the FOOP macros.
> 
> This is a very fundamental change which I think should have been
> preceded by discussion.  In any case, it should have been preceded by
> benchmarks (and *fair* benchmarks).

It was preceded by some discussion -- see the thread started at:

http://sourceware.cygnus.com/ml/guile/1999-12/msg00229.html

> I ask you to revert this change until these things have been settled.

I'd rather have the discussion before reverting because I intend to
convince you that I'm right! :-)

> I realize that this change makes application code safer.  But the scm
> interface does *not* have as primary purpose to be an application
> interface.  That is the role of the gh interface.  The primary role
> for the scm interface is to implement Guile itself.

No, but a goal of Guile should be readable code, and once the various
now-spurious SCM_NIMP invocations are removed from call sites the guile
source will be even cleaner, nicer, and better.

> We have never had trouble with maintaining the explicit distinction
> between immediate and nonimmediate values.
> 
> It is important that we don't make changes which can adversely affect
> performance without knowledge of these effects.  What you're doing now
> is to massively introduce more computations into many operations.
> This may be right, but we don't know that yet.

The "massively" is only until I remove all the spurious SCM_NIMP() from
the guile source.  Once that is done, it'll be a rare case where the
code expands any differently than before.  And for those cases I
proposed the SCM_SLOPPY_FOOP to skip the SCM_NIMP check (I've not added
them because I'm hopeful based on the preliminary test that optimizers
are smart enough to avoid the duplicate test).

> [Now I hope that other people will pick up and defend this position,
>  'cause I simply can't right now.]

I hope they won't;  I'm sympathetic to your wanting this discussed more
thoroughly, but I'm confident I'm doing the right thing and when I have
a half hour to make a contribution I'd rather make things better than
dream about a world where Guile might be better.

And I reiterate that I got *no* negative feedback in the two days after
I suggested the change (I know two days isn't a lot, but things move at
Internet speed these days).

Greg

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]