N
Nikodemus Siivola
random-state.net · Personal blog · on HN since 2007
Nikodemus Siivola, an SBCL developer, writes about Common Lisp, compiler internals, threading, and crowdfunding Lisp work.
What HN saysCommenters cite his Common Lisp features list, a CLIM comparison, and his successful SBCL crowdfunding as an example of paid open source work.
18HN people shared it
6linked it in comments
14stories submitted
92story points
3 years agolast shared
2007people per year2026
Most-shared posts
- 1Features That Give Lisp Its Power4 people · 5 points · first shared 2011 · discussion on HN
- 2How to fix a compiler bug in SBCL2 people · 4 points · first shared 2011 · discussion on HN
- 3Pretty Pictures: Ray tracing in Lisp1 people · 43 points · first shared 2009 · 4 comments on HN
- 4SBCL and Common Lisp are gaining users1 people · 10 points · first shared 2007 · 1 comments on HN
- 5SBCL Threading News1 people · 9 points · first shared 2011 · discussion on HN
- 6Crowdfunding for new Common Lisp portability layer: Madeira1 people · 7 points · first shared 2011 · discussion on HN
- 7Efficient Doesn't Equal Performant1 people · 5 points · first shared 2015 · discussion on HN
- 8Good Common Lisp Faq (For Interested Non-lispers)1 people · 4 points · first shared 2007 · discussion on HN
- 9Nikodemus' Common Lisp FAQ1 people · 2 points · first shared 2012 · discussion on HN
- 10SBCL perspective1 people · 1 points · first shared 2007 · discussion on HN
- 11Threads, Interrupts, Transactions - SBCL Lisp1 people · 1 points · first shared 2007 · discussion on HN
- 12SBCL make-instance optimizations for non-constant class names1 people · 1 points · first shared 2009 · discussion on HN
- 13Log 33901206481 people · first shared 2014
- 14How is clim different1 people · first shared 2018
- 15Log 35238529851 people · first shared 2012
What HN people wrote when they linked it
ICWiener · 2014-12-08
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.
carry_bit · 2018-02-16
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.
deepaksurti · 2015-06-26
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
route66 · 2012-03-29
> 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!
pavelludiq · 2011-12-24
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
mahmud · 2009-07-23
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.