Live data from Hacker News

The Verse Programming Language [pdf]

simon.peytonjones.org

241–250 of 387 posts

Re: The Verse Programming Language [pdf]

#241
post #45

Earlier quoted context omitted.

I'll be the first to hate on C++, but the only reason C++ might be considered a "don't learn it as a first language" language, is because it's huge. It's got 40 years worth of baggage, and it's "standard" libraries are an absolute mess. Javascript has a super simple syntax, and it's standard libraries though sometimes a bit idiosyncratic are comparatively clean and pragmatic. If you just removed like 90% of C++'s use…

I mean, C++ was my first language and I turned out fine (I think).

It was my first proper language too, if you discount what I did on my graphical calculator. Now I'm a Rubyist, heart and soul, make of that what you will.

Re: The Verse Programming Language [pdf]

#242

It's cool to finally get some more details on this language. They showed some slides of it being used in Fortnite last year: https://mobile.twitter.com/saji8k/status/1339709691564179464... I believe it has roots in (but quite different from) Skookumscript https://skookumscript.com/about/look/

The code shown in those images is not in the programming language that is being introduced/created now by SPJ. It is clearly a separate (and not functional) scripting project.

Re: The Verse Programming Language [pdf]

#243

Does anyone know when this language will be ready to play with?

Epic already uses it, so I guess not too long: https://mobile.twitter.com/saji8k/status/1339709691564179464...

No, the language shown in the images in that tweet is definitely not this one.

It is not a functional language and is obviously quite cheesy in comparison (see someone's comment, in this thread, about it being derived from something called skoomumscript).

SPJ's language is not ready yet.

Re: The Verse Programming Language [pdf]

#244
I was looking at something and wasn't sure if I understood it. There's this part of verse:

x:int; y:int; if (x=0) then y=1 else y=2; x=7; y

Ok, so here, y=2. And then it goes on to say that the equal operator within a "conditional scrutinee" is "rigid" and can only be read, not unified. Does that mean if we take out the "x=7;" line, and then evaluate "y", that "y=(2|7)"? Or how exactly does that evaluate?

Re: The Verse Programming Language [pdf]

#245
post #218

These slides need a lot of work. I'll read the paper later, but the slides really lack context and motivation. * I'm a little disheartened to see "Objectively: no. All languages are Turing-complete" in the context of the question of needing another language. It's a throw away comment and largely irrelevant when considering the actual use of programming languages. If one has to state this platitude, it is more accurat…

I see using the choice syntax as PROLOG-esque, rather than Python-esque.

When you are building simple structures to iterate upon, it makes sense to use the more readable comprehension syntax, where you define a list or set of items and their desired properties.

Yet this terse syntax makes more sense for logic programming, where a lot of the domain logic is built upon generate-and-test patterns; you define a combinatoric search space which is the enumeration of all base value in pairs (or tuples), and check which ones are kept for the next processing steps. When using this pattern, it's clearer to be able to express the space with the shortest syntax rather than the verbose one.

As for the adequacy and need for the language, I have my own ideas on what's needed for the stated use case, and I do agree with the authors that this kind of language will really be easier to learn for people without a programming background; it looks much more like mathematics than the traditional von-Neumann-architecture, continuation-based languages, and its declarative nature may make it easier to approach without having a full understanding of runtime behavior.

Re: The Verse Programming Language [pdf]

#246
if the goal is to use a language for a metaverse, with lots of actors, why not use Erlang which is great for dealing with multiple actors, plus it already exists? I don't use it because I don't need it for my usual programming, but once you get some of its quirks (coming from a functional world they're even less), it's a great language.

It seems to me that the objective is not finding a good language for a metaverse, but using the idea of a metaverse to justify this new language.

More realistically, an open metaverse (if it will see existence, I'm not yet convinced of its utility) will support multiple languages.

Even more realistically, the internet is a metaverse already.

Re: The Verse Programming Language [pdf]

#247
post #95

Earlier quoted context omitted.

AFAICT: Just "false" would be a regular boolean value. The question mark turns it into a logic value so it can be used in conditionals.

But there are no bools in Verse so seems the keyword isn't taken and could have just been syntactic sugar for 0 from what I can tell?

There are no bools in Verse conditionals. That doesn't mean that there are no bools in the language at all.

Re: The Verse Programming Language [pdf]

#248

Contrary to what others are saying... From my time spent in MUDs/MOOs 30ish years ago and the languages we were playing with then, I can see plenty here that actually does relate to the problem of programming in a large scale shared-state world aka "multiverse" (hate the world) Transactionality. Check. ACID type semantics are absolutely key to handling the concurrency issues created by a world with thousands of autho…

> Finally, people saying it looks difficult to learn…

“To answer "what does this program do, or what does it mean?“ just apply the rewrite rules.”

Whenever a senior engineer* uses the word "just" you're about to have a bad time.

* Or an expert in anything, really…

Re: The Verse Programming Language [pdf]

#249
post #53

For those wondering if there's actually something relevant to the Epic's approach to the metaverse: there's not beyond slide 3. Everything after slide 3 is a description of the semantics of a novel functional logic programming language, the sort of which you'd expect you'd get if you paid the world's premier Haskell core contributor a large sum to design a new language. Of course its intended audience is Haskell acad…

> its intended audience is Haskell academics

It was presented at Haskell eXchange so the audience is more like Haskell users in industry and those who would like to be.

Re: The Verse Programming Language [pdf]

#250

No offense, but: does this actually relate the metaverse, or was that part added in so Epic Games would fund it? I don't see any first-class features that would be specific to that use case.

> does this actually relate the metaverse, or was that part added in so Epic Games would fund it?

Verse and the metaverse were ideas at Epic Games long before SPJ was an employee at Epic games (at least 10 years before).

Post reply on HN