Hi Arne,

On 09/01/2024 07:05, Dr. Arne Babenhauserheide wrote:
> It’s a new year — any chance for one more look whether adding SRFI-119
> in Guile is ok to merge?

As a disclaimer, I'm a Scheme newbie, but I think my opinion may have /some/
value.

On its own, Wisp seems like a better syntax for tooling that looks at files as a
list of lines, rather than as a tree of S-expressions. For example, the diff
tool looks for changes in lines, so when adding a value to the end of a list it will always show 1 extra line removed and then added again with one less paren.
For example (from a record definition):

   (device-tree-support? bootloader-configuration-device-tree-support?
-                         (default #t)))   ;boolean
+                         (default #t))    ;boolean
+  (extra-initrd          bootloader-configuration-extra-initrd
+                         (default #f)))   ;string | #f

Whereas in Wisp syntax, you'd simply get:

   device-tree-support? bootloader-configuration-device-tree-support?
                         default #t   ;boolean
+  extra-initrd          bootloader-configuration-extra-initrd
+                        default #f   ;string | #f

Likewise, commenting code in scheme is a pain because code-commenting is done by
line. R6RS comments (#;) aren't implemented in Guile to my knowledge. So
parenthesis aware commenting is left up to the editor to implement.

I could say the same about editors like Vim and many other editors that see the
world as a list of lines.

However it could cause some fragmentation of the community as peoples editors are set up for Lisp and not Wisp or vice versa. Though, I think that could be mostly resolved if there was a script that could convert Wisp to Lisp and back. Ideally such that on a large code base there's very few instances where Lisp -> Wisp -> Lisp produces changes the code even by white-space. But, I don't know
whether even then you'd find much interest from the other maintainers.

Kind regards,
 - Christina

Reply via email to