Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Very interesting language, but so difficult to read. Something about the undifferentiated sea of lowercase letters just makes my eyes glaze over. People say it gets easier as you use it, but I never managed to get there.


Strange to me. The "modern" style (roughly mid 80s) is super clear to me, with the indentation doing a lot of work and the symbol names so clear (I still find the MixedCase jarring and significantly slower to parse, while using-dashes or even using_underscores much easier).

This style also encourages blocks to be compact so they almost fit right into your fovea. The spread-out "C" style that emphasizes the curly braces on their own line seems so backwards, emphasizing precisely the thing you don't care about.


> The spread-out "C" style that emphasizes the curly braces on their own line seems so backwards, emphasizing precisely the thing you don't care about.

Really? I like the curly braces on their own line precisely because that's what I do care about. I want to see the block structure - the context, if you will - before I think about the individual lines.


I think you are right. We should strive to keep the syntactic structure of the program separate from the actual symbols used in that structure. Then you can understand the structure separately from its "content".

The symbols are meaningless by themselves, except that the same symbol can be used in multiple places. BUT the syntactic structure of a program is NOT meaningless. It in fact defines the "meaning" of the program - in as far as the symbols used are arbitrary.

Therefore if you can express the program structure separately from the symbols, you make the program easier to comprehend.


That’s what indentation is for. Parsed at a different level by your brain.


I've seen too much over the years. I've seen indentations be a lie. I've seen indentations get mangled because someone's editor is set to use tabs instead of spaces, or vice versa. I can only halfway trust the indentation, but the curlies don't lie.


That would be like Python where the indentation defines the syntax of your program., right?

But the jury is still out whether using indentations instead of syntactic markers is a good choice for a programming language.


Yes, though the parens are important. In fact grinders (code formatters) are quite commonly used in Lisp, so the indentation is just instruction to the programmer; it has no semantic value to the interpreter or compiler.


Funny, because traditionally it was (ALL-UPPER-CASE)

Nowadays, indentation does a bunch of heavy lifting when it comes to readability. Modern Lisp-inspired languages (such as Clojure, but also some dialects of Scheme) also use other symbols in addition to parenthesis (like square brackets). Usually they are interchangeable, but I found that it can sometimes help.

I find it difficult to read LOOP macros. And some versions of LET. But they are bastions of readability if you compare with languages like_c<with<templates>>(T) and_macros(void);{}


> undifferentiated sea of lowercase letters just makes my eyes glaze over

Like prose? Books have not many symbols nor syntax highlighting. You have to read the actual words to know what it's talking about.


In prose yes. However there is a structure to dialoge, that is hard to miss, you also have indentations, sections and chapters. Many books have lists for example, but it is usually not prose.


You have indentation, sections and chapters (files) in programming as well.

Honestly, I would understand criticising the noise of parens. Not of their contents.


In some types of Lisp programming (such as Emacs lisp), it is common to use Form–Feed characters as chapter breaks within a file. Alas, some newer languages like Rust really don’t like that.


Rainbow brackets really help.


it is one of the best!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: