|
|
|
|
|
by kazinator
3384 days ago
|
|
There are all kinds of macros that have to evaluate an expression exactly once, and cannot be made into functions. ;; cond evaluated exactly once;
;; then or else at most once, not before cond.
(if cond then else)
getc doesn't have to be a macro. It illustrates just the point that the macro issues in C are so unfixable that broken macros have even been codified in ISO C. |
|
Works in C too, although not as nicely:
The funny thing is, I think we're largely in agreement.