4 ms·
We all knew what it meant, including the author. This is pointlessly pedantic.
by Blackthorn 11y ago
We all knew what it meant, including the author. This is pointlessly pedantic.
- lispm 11y agoIt's not. Explain Lisp to people not by treating them as idiots who won't understand that not everything is a list. There are numbers, vectors, strings, and various other forms of syntax in Lisp. (john "123" 1) consists of a list, a symbol, a string, an integer |hi there| is a symbol #*1010101011 is a bit vector #2A((1 1 1) (1 1 1)) is a 2d array and so on. Also look up the current Scheme report and see its syntax definition. 'Everything is a list' is fooling the reader and treating him/her like an idiot.
- munificent 11y agoI'm pretty sure people understand that "everything is a list" doesn't mean there are no primitive literal types in the language.
- lispm 11y agoAn array, a structure or a cyclic cons structure are just as basic as a list. In Lisp the cons structure is actually the primitive. Lists are built on top.
- gammafactor 11y agoI'm pretty sure you're an idiot.
- dang 11y ago> I'm pretty sure you're an idiot. We ban accounts that do this. Please read the guidelines and post civilly and substantively, or not at all. https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newswelcome.html https://news.ycombinator.com/newswelcome.html
- gammafactor 11y agoGo fuck yourself.
- deciplex 11y agoHis reply to this comment is totally out of line and I see he's been rightfully banned. However the comment you're replying to was just a poor attempt at humor, not a personal attack: > Explain Lisp to people not by treating them as idiots who won't understand that not everything is a list. >> I'm pretty sure people understand that "everything is a list" doesn't mean there are no primitive literal types in the language. >>> I'm pretty sure you're an idiot. Please consider context before calling out people like this.
- bsder 11y agoUm, no. That's not at ALL clear to a beginner. If you pick up just about any book on Lisp, it's all about recursion and lists. I don't remember SICP talking about native vectors or hash tables. I don't remember Touretzky talking about those either (maybe it was just that I had an early edition (1988-ish?) or my memory was faulty). Certainly The Little Lisper/Schemer never talks about them. The first book I remember talking about other primitives in Lisp was Siebel's "Practical Common Lisp". There are quite a few pernicious fallacies the swim around the "everything is a list", "S-exprs are easy to parse because they're uniform" (oh, really? Try identifying a list in the presence of dotted pairs), etc.
- jwdunne 11y agoI'll hold my hands up and say I did have a knee-jerk reaction to the criticism but then I remembered when I started learning Lisp. I did often wonder where the arrays, hashmaps and other data structures were. I remember I had my own practice problems that involved random access so a vector would have been more efficient than a list. In fairness, I think you either will be far enough on your travels with other languages to intuit that Lisp implementations do have these primitives ("surely not? Ah, lo and behold, racket has a nice vector interface. Not sure about CL's hashmap interface..." and so on) or you will be so far on your travels with lisp to understand why you need this that you already know. I don't think I would direct a complete beginner to programmer to this page.
- tripzilch 11y ago> Um, no. That's not at ALL clear to a beginner. But surely after like 10 minutes of doing anything with it? I haven't even begun to learn Lisp, just know that it exists and can mostly intuit/read it when digesting articles on various CS-related topics. It's pretty clear that there's something more than that going on. Otherwise a whole lot of things that make Lisp interesting don't make a lot of sense. Where does the meta-programming come from if it's all just lists? How can it not be horribly inefficient if it's really just lists? What's so great about lists if really all you have is just lists, anyway? So I'm going to go ahead and claim that most people that are intrigued enough to want to learn Lisp, already know (or assume) this. Seems like a great hook to start, actually: What is it about Lisp that's so great if it's just made of lists? Now from what I read in your comment, you got Lisp dumped on you in CS college? "Here's this thing you have to learn about" is a fine way to learn about stuff (so many super-useful topics I probably would never have touched if they hadn't been forced on me in CS college[0]). But without a personal motivation of "I read everywhere that this thing is so powerful, and I'm going to find out why", then indeed I can imagine how "everything is a list" can be a toxic thing to teach about Lisp, in particular to a class of students who are busy enough that they just want to pass the course. What if they forget most, except that bit? [0] except for me, Lisp wasn't one of those. We got Haskell though. Except it came at a rather inopportune moment, switching curricula, had to tag along last moment with some friends for the assignments, crammed for the exam, somehow passed and promptly forgot what monads are again. boo, hiss. yes. And I still managed to learn a lot from it! :)
- spopejoy 11y agoHardly "pedantic" to point out imprecise language in a post about parsing source code. It's hilariously wrong when you consider the author's focus on Clojure, which introduces all sorts of wonky syntax. Indeed the article begs for potshots from smug lisp weenies: 1) It's clearly talking about Clojure, yet leads with "Let's simplify the way we write Lisp". Them's fighting words in the Lisp corral. 2) Paredit clone, but only acknowledges that for animations. 3) No emacs version! (Understandable given #2 however)
- nickpsecurity 11y agoI'm the first to call out grammar nazi's and pedantic crap. Despite that, lispm is right to call it out for a correction. It's a factually inaccurate statement that's gives non-LISP readers a misleading impression about what the language and its machine code are likely capable of. It's also spread like wildfire due to constant repetition as lispm noted. So, it's worth mentioning and replacing with something more accurate.
- deleted 11y ago[deleted]