This syntax makes so many choices that irk me, I don’t know where to start. > To mark return type but then -> for arrow functions, but also when unwrapping in an if. | For comments, then \ for bitwise or, and I assume, no way to escape characters. _ to delimit regex, instead of //. Enums and objects using the same syntax for completely different concepts.
I actually liked some of the ideas, like first class protocols (although it’s a bit weird that it seems like they’re nominal?), but the syntax kept barking at me at every step. I don’t see any reason for any of the deviations from more common syntax, and it ends up feeling like you’re wasting your surprise budget for no good reason.
It’s only a surprise because people don’t experiment with these parts more often. I think they should. The author isn’t calling you up and demanding that you rewrite your stuff in Buzz, what’s it to you if there’s another language out there that uses > in a way you don’t like? The answer is that it doesn’t affect you at all but contributes to the experimentation space, which I think is excellent.
I don’t mean to be snippy, I mean that exactly. The more experimentation and weird smells and blind alleys and merging and splitting of ideas the better. People tend to pick and choose components of things that they’ve seen before which produces good results if they’ve seen good things, and we don’t know what’s good until we’ve tried it out.
“Experimenting” with comment delimiters seems sort of pointless. There’s not a lot of functionality to be gained, and a whole lot of annoyance to be doled out. Why do it? Use either C/++ style or shell/Python style and focus on actual innovation somewhere else.
Experimentation is great, but why not do it at the boundaries of current knowledge, rather than on stuff that’s been beaten to death since the 1950s.
Kinda going from the, I think, reasonable, assumption that language creators usually want their languages used. Unless you have a specific reason to deviate from more traditional syntax, I find it counterproductive to the above mentioned goal to use weird syntax just because.
Of course it ultimately doesn’t matter to me, specifically. But I stumbled upon it, so I commented. It’s unsolicited advice, a cornerstone of the internet since it’s inception XD
More to the point, though: I found curious the mention of “unambiguous” in the readme, and am wondering if the unusual syntax choices have anything to do with it. It’s not really expanded upon, either.
Love the idea of single executable script interpreters like starlark, or bun/deno
Love this kinda stuff and like some of the decisions made
Would love something like this but for ruby… hope this takes off