Email list hosting service & mailing list manager


Re: Couple things... tb@xxxxxx 28 Dec 2003 06:54 UTC

felix <xxxxxx@call-with-current-continuation.org> writes:

> > I am aghast that you think taking the address of a function is a
> > "dirty trick"--especially since you are talking to a group of Scheme
> > programmers!  Good grief.
>
> Oh, come on.

Oh come on?  Taking the address of a function is a normal, everyday,
part of the semantics of C.  It would only seem a dirty trick to
someone who also thinks functions as parameters is a weird, occulty,
freaky thing.  Perhaps I have misunderstood, but then you need to say
more than "Oh, come on."

> You, as a user, don't have to write that macro. The dirty tricks
> that implementors have to play, when trying to conform to this SRFI,
> might be unavoidable.

It's hard to imagine any circumstance in which you cannot correctly
write as a C function something that you can do as a macro.  Macros
can be more efficient indeed (though not more efficient than inlined
functions); but can you give me an example of something you can do in
a functional macro that you can't do in a real function?

> It looks like you never designed and implemented a Scheme FFI.
> That flexibility on the implementors side is important. *Especially*
> if portability is required.

I think you should explain the difficulty rather than just announce
that your exalted position tells you the truth without deigning to
explain it to mere mortals.

I suspect as well that you have misconstrued what I am arguing for, so
would you please write down what you think I'm arguing for, so that we
can make sure we're not at cross purposes?

> People will do all sorts of weird things. So what?

So it demonstrates that macros are not somehow less susciptible to
weird things on the part of users than are functions.

Thomas