> LispE provides an alternative to parentheses with the composition operator: "."
That is a... Choice.
Breaking the pair operator in favour of something new.
They’ve got a page on that. They did away with linked lists and chose to represent them as vectors. With some of the usual stuff you see going on under the hood in this style of list on imperative languages, like pre-allocating a little room for growth.
I can’t opine on whether that’s a good choice. But I will observe two things: first, singly linked lists aren’t as great on modern computing architectures as they were 50 years ago. Locality of reference matters a lot more now. And second, both Hy and Clojure abandoned the traditional focus on dotted pairs, and in both cases I found it was fine. (Disclaimer, I didn’t spend a whole lot of time with Hy.)
I agree that there is maybe too much potential for confusion with that, but is the dot operator (or read syntax?) actually used that much these days?
Personally I have mostly sometimes used it with Emacs Lisp, but in general relying too much on plain cons cells and cadring down the cars of their cddars feels like a code smell to me and if I need a pair I can always just use cons? As the (only, I think?) infix operator in traditional lisps it has always felt extra-ordinarily useless to me (outside of Schemes use of it lambda lists), but maybe I'm just missing something.
Yeah, that's pretty unclean on two aspects: breaks pairs, and breaks the orthogonality of s-expressions
A simple macro would've sufficed, say:
(compose
sum
(numbers 1 2 3))It's not too bad. I like it! Haskell uses "$" to do the same thing.
I honestly would've prefered someone try and turn xml into a lisp, at least that has a cool hack value
After programming in Common Lisp for a few years (a long time ago) and then later on having a brief period where I was fond of Python, I did also become fascinated with the concept of lisps where indentation replaces parenthesis such as Wisp:
https://www.draketo.de/software/wisp
Mind you - I usually end up concluding that Lisp syntax is actually pretty good as it is...