This page is part of the web mail archives of SRFI 50 from before July 7th, 2015. The new archives for SRFI 50 contain all messages, not just those from before July 7th, 2015.
felix <felix@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> writes: > Exactly for that reason I propose to simplify the interface, and > to remove space for dirty tricks and to specify the meaning of the > forms rigorously. 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. What *is* a dirty trick, and I am, I think, rightly worried about, is the dirty tricks that *implementors* play when you tell them to do things with a macro. Functions are *far* more predictable than macros; they have a single well-defined semantics. C macros can be tricky to write correctly. I don't believe you simplify *anything* by saying "you can do this with a macro if you like". In practice, that is done in C standards precisely when you want to give implementors weird flexibility. Look at, for example, the way that errno is allowed to be a macro in C, and why. Moreover, you still will have people doing things like: #if defined (foo) do it where foo is a macre #else take the address of foo #endif Thomas