News for hackers. Stuff that matters.
Re:Intercal, YAML, and Other Horrible Programming Languages by chubot on Friday February 26, 2021 @01:09PM (#26277841)
I agree that's what puts people off, and that's the rationale for Oil, an upgrade of Unix shell.

In fact I mention the spaces issue in the The Simplest Explanation of Oil:

https://www.oilshell.org/blog/2020/01/simplest-explanation.h...

More: http://www.oilshell.org/blog/2021/01/why-a-new-shell.html

You can use it right now as a dev tool. If you use ShellCheck to statically check it, then running your script under Oil is complementary (and it also has some static checks): https://www.oilshell.org/why.html

Re:Intercal, YAML, and Other Horrible Programming Languages by stelonix on Friday February 26, 2021 @04:44PM (#26280188)
Yeah I'm a big fan of Oil and hopefully in 10-20 years it'll be the standard language of shells. Also I did notice the spaces issues when attempting shell but it was only from reading your post sometime ago that I found out it was a deliberate language design choice.
Re:Intercal, YAML, and Other Horrible Programming Languages by chubot on Friday February 26, 2021 @06:33PM (#26281113)
It should be usable for "cloud config" files long before that! :) But yes changing existing code at the lower distro level has a lot more inertia.

The cloud is basically built on top of Linux distros, so that part is easier to change and is rapidly evolving.

You could say that the = issue is deliberate, but I'd say the core problem is that shell didn't start out as a programming language, or at least it was a very impoverished one without variables.

The original paper from the 70's on the Thompson shell shows that. Shell had "goto" but no variables! So name=value had to be grafted on later without breaking too many things. Words were already split by spaces, so I guess they just made

    name=value
a "pseudo-word" that becomes an assignment, whereas

    name = value
remained 3 words.