Nikodemus Siivola, an SBCL developer, writes about Common Lisp, compiler internals, threading, and crowdfunding Lisp work.
Commenters cite his Common Lisp features list, a CLIM comparison, and his successful SBCL crowdfunding as an example of paid open source work.
The common part is the special operator UNWIND-PROTECT.
You can use it to define a function (not a macro).
This is in fact a recommended way to design your program: define a CALL-WITH-X function and write a simple WITH-X macro that expand in a funcall to that function, with a more convenient syntax (see http://random-state.net/log/3390120648.html).
Scala resource management techniques are built upon try/finally blocks, aren't they? If you want, you can use Scala ARM, which is a non-standardized library. Then, you can use a monadic approach, an imperative one, etc. This boils down to convention and idioms, which are not standardized either.
You seem to think that there should be an autorithy which acts as the gatekeeper between the good things and the bad things that are added to a language, and that the ability to "mess" with the abstract syntax tree leads to chaos (I guess you alignment is Lawful Good). We disagree. CL is designed to evolve smoothly over time, and macros are one of the features that enable this.
I first try to familiarize myself with the high level design/org of the code base, going through the README, other docs, looking at the test code if any and just generally scanning the important files/modules etc.
Then I prefer to jump into fixing any existing issue. Working on fixing an issue teaches a lot, more fixes, then features, rinse, lather, repeat.
While this post talks about fixing compiler bugs, the overall steps are much replicable: http://random-state.net/log/3522555395.html
> but making the open source project pay-to-play flies in the face of the spirit of FLOSS
Ah, maybe I just do not agree with that spirit. The SBCL compiler fared well with Nikodemus Siivola's crowdfunding: http://random-state.net/log/3523852985.html
At the same time I do not get how this is a problem for people to accept wrt software, while it is the common suggestion to artists in copyright questions on HN: go crowdfunding!
Here is a "style guide" that's been missing.
http://random-state.net/log/3453016738.html
The condition system really does need a treatise on its own, specifically as a generic custom control-flow toolkit. There are hairy bits in the standard wrt to the debugger interface, but the above links clarifies many things.
Pretty much what jackdaniel mentioned. This is another good summary: http://random-state.net/files/how-is-clim-different.html
Being able to interact with graphical, living objects makes for a really nice experience. Notebook-style interfaces are another variation on it.
Here is a short list of awesome lisp abilities, some of them not unique to lisp, but still interesting read: http://random-state.net/features-of-common-lisp.html