Top all-time · #995
Kent Pitman
Personal blog · nhplace.comprogramminghistory
Kent Pitman's personal blog at nhplace.com covers programming and history. Since 2007, 70 different Hacker News readers have linked it 112 times, most often “Condition Handling in the Lisp Language Family (2001)”. No feed was found, so read it on the site itself.
Most-linked posts?
- Condition Handling in the Lisp Language Family (2001)13 people · 17 mentions · first linked 2008-07-01
- Technical Issues of Separation in Lisp Function Cells and Value Cells (1988)13 people · 13 mentions · first linked 2009-03-03
- Kent Pitman on Equal Rights -- and Wrongs -- in Lisp (1993)11 people · 14 mentions · first linked 2009-02-04
- More than just words: Lambda, the ultimate political party (1995)8 people · 11 mentions · first linked 2011-01-05
- Common Lisp: The Untold Story7 people · 7 mentions · first linked 2012-05-02
- The paper that killed FEXPRs (1980)6 people · 9 mentions · first linked 2011-02-02
- Lisp as a Vehicle for Rapid Prototyping (1997)3 people · 3 mentions · first linked 2011-01-06
- /kent/Papers/Special-Forms.html3 people · 3 mentions · first linked 2019-03-20
- /kent/Papers/Fortran-to-Lisp.html2 people · 2 mentions · first linked 2011-10-07
- /kent/PS/EQUAL.html2 people · 2 mentions · first linked 2021-11-11
What Hacker News says?
The CL condition system separates the signaling of a condition (of which errors are a subtype), the handling of a condition, and the definition of recovery strategies (restarts). Instead of unwinding the stack when a condition is signaled, handler code is invoked in the dynamic context of the signal and thus has much more information available to decide how to recover. If a decision on how to recover can't be made p…
Comment linking /kent/Papers/Condition-Handling-2001.html
on “How knowing Lisp destroyed my programming career (2006)”Submitted Common Lisp: The Untold Story as a story · 160 points
HN discussion> I don't really know what "conditions+restarts" is but a few articles landed me into LISP which I find totally unreadable. So, can you point me to some "conditions+restarts" code that I can understand/appreciate easily? You’ll have to read Lisp, I’m afraid; the best description I know is in the book Practical Common Lisp [1]. (Come on, Lisp syntax is quirky, but it’s not unreadable, and unlike APL or Forth or even…
Comment linking /kent/Papers/Condition-Handling-2001.html
on “I want off Mr. Golang’s Wild Ride (2020)”Submitted Common Lisp: The Untold Story (2012) as a story · 100 points
HN discussionGreat concrete examples, a couple of things to add about them: Handler, conditions and restarts are much more expressive than in other languages, you can signal a condition (the analogue of throw) with restarts attached to it which only if you desire to handle it in another part of the program where(/if) you decide to handle the conditions(the analogue to try). It is analogue to throwing an error with catch statemen…
Comment linking /kent/Papers/Condition-Handling-2001.html
on “Why Racket? Why Lisp?”Submitted Technical Issues of Separation in Lisp Function Cells and Value Cells (1988) as a story · 85 points
HN discussionIn Haskell, the facetious answer is simple: No instance for (Eq (a0 -> a0)) arising from a use of `==' That is, functions aren't comparable (for equality, anyway), so the type system won't allow you to compare them. The better answer is either "Look at their type signatures" or "See if they evaluate to the same values when given the same input"; the first is trivial, the second won't, in general, terminate, so you n…
Comment linking /kent/PS/EQUAL.html
on “Early vs. Beginning Coders”Submitted Lisp as a Vehicle for Rapid Prototyping (1997) as a story · 78 points
HN discussionSee Lambda: The Ultimate Political Party: http://www.nhplace.com/kent/PS/Lambda.html Languages are more than just syntax and semantics. There's also a whole culture that grows up around the language, a set of "best practices" and common idioms. And the one that's grown up around Java seems to value abstraction and design patterns and convoluted, overgeneralized solutions. This doesn't apply to all Java code, of cour…
Comment linking /kent/PS/Lambda.html
on “How (not) to write Factorial in Java”Submitted Common Lisp: The Untold Story (2008) as a story · 70 points
HN discussionCertainly, but the original quote was "It is quite hard to even tell a noun from a verb" (emph. added), and this is correct, you can't tell whether an identifier refers to a function or variable in Scheme by sight alone. This seems desirable if one wants first-class functions, and is very much an intentional choice for Scheme, but it can admittedly be more difficult to build up a mental model of new code if you have…
Comment linking /kent/Papers/Technical-Issues.html
on “Why "Structure and Interpretation of Computer Programs" matters (2011)”Submitted Condition Handling in the Lisp Language Family (2001) as a story · 52 points
HN discussionKent Pitman on programming languages as political parties: 2001: http://developers.slashdot.org/story/01/11/13/0420226/kent-m... 1994: http://www.nhplace.com/kent/PS/Lambda.html
Comment linking /kent/PS/Lambda.html
on “Steve Yegge: Notes from the Mystery Machine Bus”Submitted Unwind-protect vs. Continuations (2003) as a story · 39 points
HN discussionAnd for more on the history and philosophy behind it: http://www.nhplace.com/kent/Papers/Condition-Handling-2001.h...
Comment linking /kent/Papers/Condition-Handling-2001.html
on “A Road to Common Lisp”Submitted Kent Pitman on Equal Rights -- and Wrongs -- in Lisp (1993) as a story · 28 points
HN discussion> Lisps do that distinction because they need it. Because of much better performance and predictability of code. See: http://www.nhplace.com/kent/Papers/Special-Forms.html
Comment linking /kent/Papers/Special-Forms.html
on “A newcomer’s (angry) guide to R”Submitted More than just words: Lambda, the ultimate political party (1995) as a story · 17 points
HN discussionI realize this is quite off the main topic, but I thought it was interesting and worth passing on. If you really think that "four different kinds of equality" in Common Lisp is a wart, then I recommend that you read "The Best of Intentions" ( http://www.nhplace.com/kent/PS/EQUAL.html ) by Kent Pitman. The article explains why that situation is quite intentional, and why it is very rational, and why it is in fact ill…
Comment linking /kent/PS/EQUAL.html
on “Getting Started With Clojure”Submitted Technical Issues of Separation in Function Cells and Value Cells (1988) as a story · 14 points
HN discussionThe paper that coined the term http://www.nhplace.com/kent/Papers/Technical-Issues.html lists arguments on both sides. IIRC the main argument in favour of Lisp-2 is that it makes CL-style macros easier to write by making it easier to avoid some kinds of variable capture.
Comment linking /kent/Papers/Technical-Issues.html
on “(λove (print (eval (read))))”Submitted Lisp as a vehicle for rapid prototyping (1994) as a story · 11 points
HN discussionRichard Gabriel did a great write-up of the trade-offs during the ANSI Common Lisp standardization process: http://www.nhplace.com/kent/Papers/Technical-Issues.html What I took away from it was that macros get more tricky to write when you have possible variable capture for functions, which we humans seem to be a little more blind to than for values. Item 18 contains the compatibility concerns for existing code, whi…
Comment linking /kent/Papers/Technical-Issues.html
on “(λove (print (eval (read))))”Submitted The paper that killed FEXPRs (1980) as a story · 7 points
HN discussionOh, you think there should be an actual counterargument to the proposition that Scheme is "not a Lisp"? Well, okay. This is of course a purely semantic discussion, about the meaning of the word "Lisp" (and "Scheme", if you like). Words are defined by their community of users, and you are of course free to use them however you like, at the risk of talking nonsense and tricking yourself into logical fallacies if you a…
Comment linking /kent/PS/Lambda.html
on “A bestiary of single-file implementations of programming languages”Submitted "Special Forms in Lisp" by Kent Pitman (1980) as a story · 4 points
HN discussionLisp was developed at a time when space was more limited. Generally operators had short names. Page 147 of the Lisp I manual from 1960 has a function listing: https://bitsavers.org/pdf/mit/rle_lisp/LISP_I_Programmers_Ma... Generally in Common lisp we have EQ, EQL, EQUAL, EQUALP -> from the most specific to the most general. The most specific has the shortest name: https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node7…
Comment linking /kent/PS/EQUAL.html
on “The world's loudest Lisp program to the rescue”Submitted The Best of Intentions: Equal Rights – and Wrongs – In Lisp as a story · 3 points
HN discussionKent Pitman's idea of "languages as political parties" [1] seems to me to offer the best perspective on the surprising reliability of C. The core community shaping C over the years has been: 1. Unix-centric, so the community has a coherent view on the preferred sort of semantics offered to users of code; 2. Applies Kernighan--Ritchie--Pike coding style that gives a clear "code smell" [2] for C code; and 3. Is the na…
Comment linking /kent/PS/Lambda.html
on “How can C Programs be so Reliable? (2008)”Submitted Lambda, The Ultimate Political Party as a story · 3 points
HN discussion