Earlier quoted context omitted.
> the pirates run away from me Nice expression. Is it a pop culture reference I have missed?
I suspect (but do not know) that the reference is "swearing like a pirate". BeetleB is (I think) saying that semicolons lead to swearing that even the pirates are offended/appalled. (It took me reading it a few times to get that, and I'm still not certain it's right.)
The Nature of Lisp (2006)
81–90 of 95 posts
Re: The Nature of Lisp (2006)
#82Earlier quoted context omitted.
I don't really mind the parens, but the whole attitude feels indicative of a problem. Like - it's 2018 and people are still using 'cdr' and 'cons' as terminology and happily expecting other people to learn those words and not even feeling bad about it. If the person justifying Lisp doesn't mind that the word 'cons' is terrible, why should I trust their aesthetic sense about anything? If I have to have "miserable nota…
> Like - it's 2018 and people are still using 'cdr' and 'cons' as terminology and happily expecting other people to learn those words and not even feeling bad about it. Oh please, cry me a river. Like monads, promises, or props are any better. > If the person justifying Lisp doesn't mind that the word 'cons' is terrible, why should I trust their aesthetic sense about anything? If I have to have "miserable notations"…
> Your ignorance is baffling.
That is not acceptable on HN and will get you banned. Please read https://news.ycombinator.com/newsguidelines.html and only post with respect for others.
I agree with you about car, cdr, and Lisp notation—and that strengthens the sentence above. The last thing we want is people arguing for correct positions by being a jerk. By doing so you discredit what's correct and/or legitimize being a jerk—two dreadful outcomes that matter more than someone being wrong (in your view or mine) about car and cdr.
Re: The Nature of Lisp (2006)
#83Earlier quoted context omitted.
I'm a lisp fan, but to be fair, I don't think I know anybody who wants to live in a world in which everybody has created their own personal language syntax. Reader macros should be used very judiciously unless you don't care about anybody else being able to understand your code.
I agree. But if you care that strongly, you can do something about it. (I am also kind of hoping that, by the time one gets to reader macros, they will be experienced enough, and will understand why the parentheses exist so that they will no longer care about them)
Good defaults do matter, and I would also echo the feeling that the parentheses get in the way, and that a non-small component of my thinking or polishing process is how to responsibly reduce parentheses. I find that it's generally a modest but palpable boost to visual ease. I do wonder whether there's a better way to denote nested lists?
Re: The Nature of Lisp (2006)
#84Earlier quoted context omitted.
I don't really mind the parens, but the whole attitude feels indicative of a problem. Like - it's 2018 and people are still using 'cdr' and 'cons' as terminology and happily expecting other people to learn those words and not even feeling bad about it. If the person justifying Lisp doesn't mind that the word 'cons' is terrible, why should I trust their aesthetic sense about anything? If I have to have "miserable nota…
> If the person justifying Lisp doesn't mind that the word 'cons' is terrible, why should I trust their aesthetic sense about anything? This is not about aesthetics, unless you are arguing that the symbols should be replaced by square brackets or emoji. And this has been tried before. S-Expressions are not the only way to express lisp. There are M-Expressions and many other notations. Even significant whitespace has…
Re: The Nature of Lisp (2006)
#85Back in 2009, when I first learned Common Lisp, I had the hope Lisp would one day become mainstream. Then in 2012 I had the same hope for Scala. ... I got older and I'm not anymore a dreamer Legacy code and imperative thinking is heavy.
Perhaps it's time to start dreaming again?
Rewriting the world for VR/AR is coming up. And unlike the rewrite for mobile, this time our software development environments will be transformed as well (mobile wasn't a place for writing code). And while we're perhaps running out of time for new compiler targets and languages, there seems a lot of potential for changing infrastructure.
For example, a talk went by, which I recall as someone dropping linux instances on google lambda, and setting up deterministic C compilation, for massive parallelism and caching. So push a button, and some seconds later a linux kernel has been recompiled (from empty cache). Which rather changes the constraint space on "our language or type system can't provide nice-thing X, because it would take too long to compile". Golang's story of runs fast on a couple of local cores, may shortly sound like "my IDE runs on a PDP-11!", sort of "that's cute - nice art piece". Is it ok to take two days to run some proof obligation? ... well, is it cached now, so no one ever has to do that again?
Eye tracking; hand/finger tracking; escaping from 2D's crippling real-estate constraints; speech recognition; fine-grain code sharing; rich compilation frameworks ... there's a lot of fun incoming.
Re: The Nature of Lisp (2006)
#86Earlier quoted context omitted.
Because it is broken. It's not broken if you've already learned it and internalized the terminology; it's broken for everyone else because it's needlessly difficult to learn (and actively dissuades people from wanting to learn it, hence all the articles evangelizing Lisp).
By that rationale every foreign language is broken, and, maybe more pointedly, every language but Chinese (or possibly Spanish) is broken and needlessly difficult to learn.
Re: The Nature of Lisp (2006)
#87So I tried once to use a dot as list terminator, which didn't work well. I found myself adding different terminators for each level of depth. Because, at some point the encapsulation over multiple levels leads to ambiguity, if outfix notation isn't used (as for the encapsulation in this sentence). A common wisdom is to avoid deep indentation. 3rd normal form schemes are enough for most cases, thank Codd.
By the way: I've been hugely interested in historical linguistics recently and came to conclude counting must have been a huge boost for the development of language facility. Basic phrases are just enumerations. Which reminded me of list processing. Many old languages actually tend to follow VSO word order, too. Plural is often enough expressed as reduplication. But I don't have deeper insights to offer from this on how to avoid the parens, except that zeroth order logic is fundamental and a linguistic approach to programming languages might prove fruitful (grammar, not syntax). And by the by the way: Isn't "everything is an object" similar in power to homoiconicity?
Re: The Nature of Lisp (2006)
#88Earlier quoted context omitted.
JavaScript library space is basically pure NIH - maybe it's a Lisp, too?
It does have a surprising amount of Lisp DNA, despite the horrible semantics.
Re: The Nature of Lisp (2006)
#89(It (is :wonder (we can (read :text without (as much :brackets as) LISP)))). Well, "as _ as" is technically bracketing, but you get the idea. So I tried once to use a dot as list terminator, which didn't work well. I found myself adding different terminators for each level of depth. Because, at some point the encapsulation over multiple levels leads to ambiguity, if outfix notation isn't used (as for the encapsulatio…
This is the only part of your (very interesting) comment I feel qualified to talk about.
I think there may be something there, but you'd have to be extreme about it, making methods into objects, and proabably even keywords like "if." This is a high bar---but macros clear it.
Re: The Nature of Lisp (2006)
#90"Why on Earth would anyone want to use a language with such horrific syntax?!" What is it with statements like this? It just sounds like a 'meme' to me, that everyone hears (even from advocates like this one) at first that the 'syntax' (of which there is a lot less than most languages in a Lisp) is 'horrible'? Of course, we, the learn-ed of Lisp, say that after a while the 'parens just disappear', which they don't, b…
That said, it would be nice if lisp used square brackets for this instead. Easier to type on boring old US QWERTY.
$ setxkbmap -option parens:swap_brackets