5 ms·
We programmers are very picky sometimes. I wonder if the Lisp would have taken off better if it had parentheses free syntax. It could have been easier to sell f
by Ciantic 6y ago
We programmers are very picky sometimes. I wonder if the Lisp would have taken off better if it had parentheses free syntax. It could have been easier to sell for uninitiated that way.
I just found out that there exists Wisp [1], that basically removes the parentheses for indentation.
https://www.draketo.de/software/wisp https://www.draketo.de/software/wisp
- rscho 6y agoThe Racket people are attempting to do that in a new way with the Honu language, to truly have Lisp powers with an alternate syntax. It's probably going to replace racket as the main language on the racket runtime: https://www.google.com/url?sa=t&source=web&rct=j&url=https://www.cs.utah.edu/plt/publications/gpce12-rf.pdf&ved=2ahUKEwick4jWguzvAhUEGewKHe3BDO4QFjAEegQIBhAC&usg=AOvVaw0AAI1ZXywmm01mdjzo2Q8N https://www.google.com/url?sa=t&source=web&rct=j&url=https:/...
- mark_l_watson 6y agoI hope not. My mind works well with the syntax of Lisp languages. BTW, at Racketfest two weekends ago, I heard no mention at all of the alternative syntax.
- rscho 6y agoI also find myself at home with lisp syntax. However it would be very interesting to have a well-supported mainstream syntax regarding the accessibility of the runtime. Incidentally, this was the main stated goal: be more accessible to students and beginners. This could bring people to the racket environment, which would definitely be a win for OSS projects hosted on racket.
- mikelevins 6y agoSome folks at Apple made the same argument in favor of giving Dylan a non-Lisp syntax. In fact, I was one of them. In hindsight, I think we were wrong. The infix syntax didn't serve its purpose of growing Dylan's user base, and it made the surface language clumsier to work with. I strongly prefer its original s-expression syntax.
- rscho 6y agoIndeed, but in this case the racket lisp syntax is also here to stay, and I expect many experienced programmers to keep using it. So, we'll see... let's hope for the best!
- mikelevins 6y agoWe all thought the s-expression syntax for Dylan was here to stay, too.
- coldtea 6y ago>It's probably going to replace racket as the main language on the racket runtime Doesn't seem so. If that was the case the repo wouldn't have the last commit be 2 years ago: https://github.com/racket/honu https://github.com/racket/honu
- rscho 6y agoApparently, Matthew Flatt Made finishing the switch to Chez Scheme a priority and I think that work on Honu is picking up now that's done. But it's not in the implementation stage yet.
- soegaard 6y agohttps://github.com/racket/rhombus-brainstorming https://github.com/racket/rhombus-brainstorming
- DonaldFisk 6y agoThanks. I'll cons this on to my list of parenthesis-free Lisps. The others were Lisp 2, CGOL, and Dylan. None of these was ever used much (AFAIK Lisp 2 was never even implemented). Lisp doesn't really have its own syntax, as it borrows the syntax it uses (and needs) to enter data. Its parser is just the read function. The special characters, e.g. open parenthesis, quote, hash, etc. are (or can be implemented as) read macros. Read macros can be used to add syntactic sugar if you want to, but there's really no need. And finally, the bad old days of self-indenting Lisp programs and counting parentheses are over. The editors used for Lisp (predominantly EMACS and variants) autoindent code and then you stop noticing the parentheses and it looks to you much like Python, except more powerful.
- msk-lywenn 6y agoScopes has very good "naked" syntax too https://scopes.readthedocs.io/en/latest/dataformat/ https://scopes.readthedocs.io/en/latest/dataformat/ I especially love the fact that comments are indentation aware. It's nice that you can freely mix naked and parenthesis syntax too.
- kgwxd 6y agoShow someone structural editing and in-editor form evaluation (REPL driven dev) on day 1, and they'll hate anything that doesnt have parens.
- vindarel 6y agoIn a similar idea, you can also make them less visible, so indentation strikes more: https://github.com/tarsius/paren-face/ https://github.com/tarsius/paren-face/
- taeric 6y agoMy assertion is... just no. The parentheses are a complete red herring. You think they are bad and somehow annoying, and yet json gets by with requiring quotes in the official spec for the keys, which is far more annoying. (And, as an aside, one of the few things I give YAML credit for nixing.) Further, while there is a bit of truth to needing a few extra parens for a lot of math based code. For code that is heavy in calling to other code, it is primarily a switch from curly { to regular (, and to put the function name after. That really is it. Oh, and a comical reduction in commas.
- dwheeler 6y agoYes, there also exists readable Lisp: https://readable.sourceforge.io/ https://readable.sourceforge.io/