Hacker News new | past | comments | ask | show | jobs | submit login

Author here.

The Common Lisp Condition System is my first book and it was previously discussed on Hacker News[0] as soon as the Apress page for the book was first posted.

The HN discussion was very fruitful and insightful and prompted me to add more content about the condition system in general. Due to time constraints and the flow of working on the book, it was impossible to add this new stuff to the actual body of the book, so me and Apress have decided to publish this content as an appendix named Discussing the Common Lisp Condition System and release it[1] on the Internet. The appendix is free to download and use in any way and I'd like to once again thank everyone who participated in the original thread.

The book is currently available for purchase on Apress[2] (with chapter samplers) and Amazon[3].

The full source code is available on GitHub[4] and should be buildable under any conforming C compilers and any conforming Common Lisp implementations. I'm available for answering any questions about it and merging any PRs that might arrive.

I hope that the book is helpful in general and wish everyone who decides to try it a good read.

AMA.

[0] https://news.ycombinator.com/item?id=23843525

[1] https://github.com/Apress/common-lisp-condition-system/blob/...

[2] https://www.apress.com/us/book/9781484261330

[3] https://www.amazon.com/Common-Lisp-Condition-System-Mechanis...

[4] https://github.com/Apress/common-lisp-condition-system




Just bought it. Thanks for writing this, and thanks for your continuing participation in discussions of CCL issues on github.


Thank you; I hope that I will find and allocate enough time in the nearby future to help with maintaining CCL some more.


That's a really impressive way of both continuing the conversation and sneaking in extra improvements to your book!


Thanks. The only thing that is sad to me is that this content did not make it into the book itself.

(I guess that I can be proud of myself though: the first edition of the book wasn't even out of production and I already had some stuff written for the second edition.)


There's an issue with 4.6.8: You can't use saved images to debug errors in SBCL, because SBCL's SAVE-LISP-AND-DIE function throws the stack away.


Yes, this last fact is explicitly mentioned in the last two sentences of this section.

> Another issue is preserving the state of the program stack, as it is destroyed in the process of dumping the Lisp image, and it cannot be fully restored when the image is thawed. However, portability libraries such as Dissect[0] allow for saving the stack state as normal Lisp data that can then be inspected using the system inspector.

[0] https://shinmera.github.io/dissect/

Still, you can fully preserve the full stack information as Lisp data along with the whole heap, dump the image, and then inspect the dumped core as if you inspected any other Lisp image. This is already a big quality improvement over digging in dead crash dumps or - worse - textual, printed stacktraces with no other information available.

Therefore, I think that the statement "you can't use saved images to debug errors in SBCL" is somewhat far-fetched, really.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: