On 2012-05-01 22:59:23 +0000, Pascal J. Bourguignon said:
> You can shadow defun, defmacro, lambda, let, let*, labels, flet, progn,
> progv, etc, to replace the implicit progn by an implicit perform.
You could (but there are a lot more than that!). But (a) that's a lot
of work and (b) you now can't use anyone else's macros which expand
into an implicit progn, because they'll ue the wrong progn. I think
the only way out of that is to use a code walker, and replace the REPL
/ LOAD / COMPILE-FILE and so on.
Obviously this is all possible: my point is really that doing this is a
lot of work, where something like adding (say) UNLESS if CL did not
have it already is a tiny amount of work. That's probably right
though, because trailing conditionals are a much larger syntactic
change to the language (and I don't even know if they'd work visually
in CL the way they do in Perl, because they'd be so syntactically odd:
(print x) unless ...
has all the peculiar mixed-lisp-and-<something else> that LOOP has,
except worse.