[HN Gopher] Guile 3.0.10 now ships with support for parens-optio...
___________________________________________________________________
Guile 3.0.10 now ships with support for parens-optional syntax
(wisp)
Author : Y_Y
Score : 30 points
Date : 2024-09-12 11:50 UTC (4 days ago)
(HTM) web link (www.draketo.de)
(TXT) w3m dump (www.draketo.de)
| bheadmaster wrote:
| I always liked Guile because 1) it is a Scheme, 2) it is
| maintained under the umbrella of the GNU Project and 3) it is the
| system language of GNU Guix.
|
| Wisp may be contraversial, especially in elitist Lisp crowds, but
| IMO it makes lisp more readable by using the de-facto standard
| Lisp indentation as Python-esque semantic whitespace.
| jacknews wrote:
| Kill it with fire.
|
| semantic-whitespace is the worst idea since ideas, or at least
| since null. Cut and paste, or just moving code blocks around,
| doesn't work smoothly, there's no way to check the semantics
| other than the formating, it's difficult to judge the correct
| indent level many lines away, etc, etc.
|
| Use actual delimiters to signify meaning, then auto-format to
| demonstrate the semantics are what you expect. A kind of double-
| entry book-keeping for coding.
| azaras wrote:
| In practice, it is not so hard. I have been using Python for
| decades, and there is no problem.
|
| The same is true for YAML, which is not perfect for
| communicating among machines but is more accessible for human
| input/output communication. A good pattern is what Kubernetes
| does; it shows and reads YAML to/from humans and uses JSON and
| GRPC for proper machine-to-machine communication.
| bitwize wrote:
| I believe it was Chris Okasaki who discovered that the thing
| that helped neophyte programmers go from not getting it to
| getting it in terms of blocks and scopes was semantic
| indentation.
|
| Lisp's parens were originally a convenience notation for
| McCarthy's idea of lists, but not intended as something people
| actually code in. For most programmers they are, as they say in
| the Rust community, not very ergonomic.
|
| Semantic indentation is a win, and will be good for the Lisp
| family. Embrace change or get left behind.
| kazinator wrote:
| Problem is, any project now that can declare a dependency on
| 3.0.10 or higher can easily use this.
|
| There is a psychological difference between "I can add wisp to my
| Guile project and write in it" and "I can count on Guile
| supporting wisp out of the box", and that difference will cause
| the insane whitespace nonsense to run rampant in Guile codebases.
|
| Also, as of today, you're no longer a fully competent Guile
| developer if you don't know how to read and maintain wisp.
| whartung wrote:
| Does Racket suffer from this? Doesn't Racket support a bunch of
| different syntax and such?
|
| (Mind, I'm a curmudgeon when it comes to this, I don't even
| like the mixing and matching of [] and ().)
| dreamcompiler wrote:
| Bitching about parentheses in Lisp is like bitching about house
| cats having claws. Parentheses in Lisp are a feature, not a bug.
| They enable a great deal of Lisp's power.
|
| If you really are allergic to parentheses the proper solution is
| to use a different language, not to mutilate Lisp by having its
| claws removed.
| oakpond wrote:
| Surprised to see so much hostility towards Wisp. I find it very
| clean and elegant. It won't cover every situation (sometimes it's
| just cleaner with parens), but it allows you to fall back to
| parens when needed! It's just really well thought out imho. I've
| used Wisp in a moderately large project and wouldn't hesitate to
| do it again if I had the chance.
___________________________________________________________________
(page generated 2024-09-16 23:01 UTC)