Arc Forumnew | comments | leaders | submitlogin
4 points by mst 6131 days ago | link | parent

Personally, lisp-2-ness is the thing I most despise about CL - and I'd note that it was originally an implementation detail that seriously consideration was given to changing, stopped primarily by the "but everybody's already implemented it" principle that arc's current refusal of backcompat is designed to avoid.

I do see your point re (with (a nil b nil c nil) but I don't really see why this justifies more than a (with-nil (a b c) macro.



1 point by fab13n 6129 days ago | link

> lisp-2-ness is the thing I most despise about CL

It's conceptually ugly, but that's what makes non-hygienic macros usable.

A macro which uses a global variable is broken when used in a context which shadows this variable; if functions are not "normal" globals, there is much less chances that you'll shadow them accidentally.

-----