@ArneBab I see this convention of all-lowercase-no-punctuation naming in your #Wisp code (and in #Suckless software too, but that's an aside.) Any reason for that? Is it portability between languages? Is it the avoidance of naming flamewars? Some linguistic impression?

I often find this style confusing because word boundaries overlap and sometimes produce ambiguous words. So the challenge with this style is to kind of rhyme the terms to be the most predictable and most unique combination of words. Does that factor into the process of programming and naming?

@aartaka I find lowercase-with-dashes the easiest to read nowadays.

I come from Python where I know snake_case.fields and SCREAMING_SNAKE, the past seven years I worked in Java and Javascript with CamelCase and dromedaryCase (and SCREAMING_SNAKE), from C++ I know gated::snake_case and
*star_snakes.

And once I got over my habits, I realized that dashes are easiest on my eyes and mind.

But you can only use them in languages without whitespace-ignoring infix math.

@aartaka I actually miss the variable.field naming, because that makes code completion much simpler. That improves discoverability of APIs. But from the viewpoint of readability, dashes just win.

Maybe also because words-with-dashes is the method used in regular prose, too.

@ArneBab totally agreed on prose and readability of dashed identifiers.

Re: completion I'm spoiled by consistent naming (struct-field) or records/structs and Sly (Emacs mode for Common Lisp) fuzzy completion that basically allows doing e.g. fun--exp for function-lambda-expression.