5 ms·
> Symbol guidelines: You should use lower case Like flipping through for the soft porn in a friend's "romance" novel, I must confess I searched straight for th
by Syzygies 6y ago
> Symbol guidelines: You should use lower case
Like flipping through for the soft porn in a friend's "romance" novel, I must confess I searched straight for this guideline.
It astonishes me that Lisp systems still default to all caps. Of course one can quickly disable this, but why send the old gheezer "GET OFF MY LAWN!" message? That's exactly what people do, get off Lisp's lawn. They don't even get to the part where the parentheses (completely unnecessary for representing a tree in 2020) are a hazing exercise / loyalty test.
I love Lisp, but its public relations is the poster child for "How can people who are so smart be so dumb?"
- WalterGR 6y ago> ... the parentheses (completely unnecessary for representing a tree in 2020) are a hazing exercise / loyalty test. I love Lisp Which Lisp do you use since you dislike parentheses so strongly? Dylan? Something else?
- oconnore 6y agoJulia has a full power macro system with “normal” syntax.
- Syzygies 6y agoAs does Nim. There's a thrill to monadic parsing of text in Haskell. That thrill hasn't been extended in any language to algebraic data types. To me, "full" in any full power macro system I've seen means they've adopted every lesson that Lisp learned. I don't see anyone going on...
- andi999 6y agoWhat are these lessons?
- Syzygies 6y agoI use my own preprocessor for Chez Scheme. Comments begin flush left, code is indented. Indentation implies the parentheses that it can. "|" opens a group that self-closes at the next unbalanced ")" or the end of the line. "$" is a placeholder where there's no Lisp symbol, when one needs to imply several opening parentheses at once. Together this avoids Lisp's signature 17 car pileup at the end of every expression. I look for the "$" or equivalent in any proposal out there, to see if the author has written lots of code or is just talking. It's like looking for bone marrow in beef stew, evaluating a cookbook. Marrow is central to the story of Lisp; we got our start being able to wield tools to crack open bones after lions and jackals had left a kill. The added nutrition allowed our brains to increase in size. Soon we mastered fire, then Lisp. I need a Trojan horse, to release this. I helped computerize algebraic geometry. The old guard doesn't change its ways; new people show up with open minds. I want to write a language whose core ability is concise monadic parsing of trees, with macros its core strength rather than a bolt-on. Then I'll "happen" to use it in a definitive successor to Okasaki's book "Purely Functional Data Structures". Oh yeah, and use this alternate syntax. I see no other way to adoption.
- ohazi 6y ago> Lisp's signature 17 car pileup at the end of every expression. This is poetry
- kazinator 6y agoIt really is a car pile up. Growing in the cdr direction doesn't add to the pile up; it's the car-induced nesting.
- contravariant 6y agoI feel like antagonizing you purely to see this happen.
- oalae5niMiel7qu 6y ago> I use my own preprocessor for Chez Scheme. LOL no read macros.
- 6y ago
- sahil-kang 6y agoCan you share more info about the parentheses being a hazing test? I’ve seen Dylan syntax [1], but is there something else that shows the parentheses to be unnecessary in 2020? [1] https://en.wikipedia.org/wiki/Dylan_(programming_language) https://en.wikipedia.org/wiki/Dylan_(programming_language)
- deleted 6y ago[deleted]
- praptak 6y agoI've had good experience with Closure's cautious approach to parentheses. It's not radical, in that it's still basically parentheses but their nesting is greatly reduced by combination of tricks: Flattening, if reversible. E.g. if something's always a list of pairs, then it's represented as a flat list with pairing inferred. Having shorthands in syntax, i.e. [a b c] is (vec '(a b c)).
- WalterGR 6y agoIn my admittedly limited experience with Clojure a few years ago, IIRC it seemed like it just replaced some parentheses with square brackets, but did not actually reduce the number of total brackets by much.
- QuesnayJr 6y agoYour bigger point -- that Lisp is bad at public relations -- is probably true. I do have to admit I like the look of interacting with the Lisp interpreter where my commands are in all lower case, and the responses is in all upper case. I may be part of the problem.