## page was renamed from 책/PractialCommonLisp #acl +All:read Practical Common Lisp (Peter Seibel) - Your Highlight on page 50 | Location 754-755 | Added on Thursday, October 3, 2019 3:08:10 PM However, instead of reading and interpreting a line of shell commands, Lisp reads Lisp expressions, evaluates them according to the rules of Lisp, and prints the result. ========== Practical Common Lisp (Peter Seibel) - Your Highlight on page 220 | Location 3368-3373 | Added on Sunday, October 6, 2019 10:58:41 PM Unfortunately, partial abstractions are a crummy tool for building software. Because a half abstraction is expressed in code by a manifestation of the pattern, you’re guaranteed to have massive code duplication with all the normal bad consequences that implies for maintainability. More subtly, because the abstraction exists only in the minds of programmers, there’s no mechanism to make sure different programmers (or even the same programmer working at different times) actually understand the abstraction the same way. To make a complete abstraction, you need a way to express “this is a test function” and have all the code required by the pattern be generated for you. In other words, you need a macro. ========== Practical Common Lisp (Peter Seibel) - Your Highlight on page 279 | Location 4272-4272 | Added on Monday, October 7, 2019 9:16:51 AM The reason most list functions are written functionally is it allows them to return results that share cons cells with their arguments. ========== Practical Common Lisp (Peter Seibel) - Your Highlight on page 358 | Location 5487-5488 | Added on Monday, October 14, 2019 10:48:16 PM Perhaps the biggest difference between a generic function-based system and a message-passing system is that methods don’t belong to classes; ---- CategoryBook