Ever since making the umac macro, i have been doubting whether scope or *let macros are better.(I express the doubt in my second post in link, lets not talk about the crazy(and silly) syntax here yet, I might start a thread dedicated to it.) The first one is more 'lispy', but i don't see any disadvantages to having scope, however, i do see advantages:

Causes less hooks.

'Scope-transparent' macros can make variables for you.

People from other languages are more used to it.(Circumstancial, this one.)

Further, the compiler should be able to figure it out when the different variables depend on each other. A big disadvantage is that people might be attracted to more imperative code, however, this is their responsibility, imo.

Macros such as iterate and loop have some qualities of scopes.(Can you do flets macrolets with them?) Basically, with the *let's the variables/function/macros are contained inside the macro, while with scopes, they 'flow out' into the nearest scope. It is pretty close to equivalent, you only have to remember which macros are scope and which 'spills' their scope. It is best if at the base, there is only one macro that 'spills' scope, named something like transparent-progn.

*binary-funs* := '(* % / + -); "Symbols of binary functions and their order.(Latter is critical!);Note that '=' is not defaultly provided. (And the = of scope-fancy will ;never meet with the binary funs.)")

Ok, i went a little crazy in this thread. I put the stuff along with the umac thing. Including the crazy ugly code. Btw you can change how crazy it actually is. You can, for instance only turn on the binary notation activated with square brackets.(that doesn't need whitespace between operators.)

I figure that while a scope might be handy in some cases, the fact that not having one is unhandy might get you to look for better ways of coding things.

Anyway, making this was pretty trivial in retrospect. Nice to know how to use reader macros.

Edit: Found this this WITH macro Which does exactly what scope does, except with a more loop-like syntax. I like my approach better, though.(in cliki)