4 ms·
Is this a book for Common Lisp beginners? The description claims so, but dynamic control flow doesn't seem like a beginner topic.
by Archit3ch 6y ago
Is this a book for Common Lisp beginners? The description claims so, but dynamic control flow doesn't seem like a beginner topic.
- phoe-krk 6y agoI'll daringly say that it is. The book explicitly contains a tutorial section that describes dynamic variables, non-local transfers of control, and lexical closures - the three building blocks that allow for construction of a condition system. The part that comes afterwards constructs the condition system piece by piece, function after function - and only after we've constructed something from scratch, we draw parallels to relevant parts of the condition system. There's also a short tutorial for macro writing as an appendix, since we will write some macros as a part of the condition system. Overall, this book should be able to introduce a programming into using the Common Lisp condition system. For the very basic basics, I will still want the reader to start with Practical Common Lisp, but once the reader knows the basics of syntax, evaluation rules, and basic data types in Lisp, they should be able to follow the book from the beginning.
- Akronymus 6y agoWhere would you put it in relation to htdp and sicp? I personally am working my way through htdp at this time, and plan on doing sicp afterwards, and would be very interested in maybe slotting your book in there somewhere.
- phoe-krk 6y agoI'd put TCLCS after SICP and HTDP; these are introductory books to programming in general and therefore are prerequisites to working with a condition system. Or, in other words, one shouldn't read a book about handling exceptional situations if one doesn't understand what are exceptional situations or why one would need to handle them.
- Akronymus 6y agoGot it. While I do have some experience with programming, it is almost exclusively practical in non functional languages. So, I'll read your book after working through both of the others.
- phoe-krk 6y agoThanks. Hope that it turns out insightful for you. (Also, Common Lisp isn't a functional language. It's a multiparadigm one that often gets the label of being a functional one because Scheme and Clojure are really functionally oriented.)
- divs1210 6y agoCL is like Python. You can write functional code, but that's not generally the norm.