Verse: A New Scripting Language
7 points by laqq3
7 points by laqq3
I'm usually a huge pl nerd, and sure, verse has some interesting ideas, but I just do not understand the rationale and it makes it hard to be excited about it. the website does not hesitate to talk about how it's "Metaverse First" but also how it's "Simple enough for first-time programmers to learn", yet if you scroll down just a bit it'll start throwing keywords like computes, reads, transacts, final, persistable, decides and suspends at you immediately. final at least seems to mean the same thing here as in Java, but no "Java for noobs" guide would consider final an important enough keyword to justify bringing it up immediately.
the compiler is still closed source. the website is just a "book" that will bore you to death rambling about syntax. it doesn't ever tell you how to actually run a line of code or do anything useful with it. (presumably because you can only do so in the "metaverse" which basically doesn't exist and isn't even a good idea.) like, I just do not get it. there is zero appeal here for me, and I'm the kind of person who "knows" dozens of programming languages, even if I've only written a basic fibonacci sequence in most of them.
This documentation doesn't help, at least not for me. On the first page it has this text, followed by a brief code example:
Functions declare their side effects through specifiers like <computes>, <reads>, <writes>, <transacts>, <decides>, and <suspends>. These effect specifiers make it immediately clear what a function can do beyond computing its return value:
It's a bit jarring to be told something is immediately clear, yet not have any idea as to what it means.
right? like I can kinda of guess what some of them mean, but then I try to imagine what the difference between computes and reads is or wth decides means and I'm suddenly very much doubting the "beginner friendly" claims.
to be fair, I think the intent of that line was "once you are familiar with the effect system, seeing the effects lets you immediately know what a function can and cannot do, without having to read its body and infer it yourself"
Aye! I understand what they are trying to communicate, I was saying I don't think it's very well written if the purpose is to introduce the language.
The language was being designed my Simon Peyton Jones (apparently with a lot of pent up ideas from Tim Sweeney.) That's certainly a recipe for something interesting but it does seem to have a huge mismatch with their intended audience of game scripters, and I feel that Lua or JavaScript (or a similar imperative scripting language, even a new one) are obvious choices that would be better fits.