Live data from Hacker News

The Verse Programming Language [pdf]

simon.peytonjones.org

21–30 of 387 posts

Re: The Verse Programming Language [pdf]

#21
> Like the metaverse vision, Verse itself is open

Aren't these companies pursuing a "metaverse" product because they can lock it down, control it and make money on it? Otherwise rather than FB and Epic etc making their own, you'd have something developers could work with and use right now

I wonder if maybe Simon Peyton-Jones has to play along with the whole metaverse fad just to do something he wants to do.

Re: The Verse Programming Language [pdf]

#22

I honestly fail to see what properties of the language has anything to do with the metaverse, or millions of devs, etc... At first I though the "choice" construct would be a way to distribute code execution among multiple computers (using the fact that in a grandiose metaverse, everything would be a connected computer with lots of compute time to spare ?) but there is not much detail. Also it's not obvious from the s…

Also it's not obvious from the slide if there is already a compiler / exécution env at the moment, or how far they are from it.

It is expected to release in January as part of Fortnight Creative (delayed from this month).

Re: The Verse Programming Language [pdf]

#23

The metaverse is a collection of 3D environments just like web2 is collection of documents. A webserver serves document while a metaverse server is basically a multiplayer videogame host. Your browser opens a metaverse site by downloading a game engine and running it through JS and fetches the resources from the server to load the 3D environments. All this to say: what has this functional programming language actuall…

ugh, so many downvotes and not a single person to explain why this is "a language for the metaverse" as opposed to being just "a new language"

I don’t believe the metaverse will be a browser app; even Decentraland now pushes to a download because it has to do so many real-time operations.

That said, I’ve worked with a few of the Haskell OG team (not directly SPJ though) and if you bring in a functional language designer to work on a project you can bet it’ll start with a new language (I’ve worked on two domain specific languages due to this).

Some of the constraints right now with this sort of program are CPU/GPU bound, so if we they’re building a new I suspect it’s going to focus on concurrency across threads/GPUs to support the high rendering requirements etc and make it easier to work with networking and C/C++ FFI GPU drivers. This is speculation on my part though :)

Re: The Verse Programming Language [pdf]

#24

The metaverse is a collection of 3D environments just like web2 is collection of documents. A webserver serves document while a metaverse server is basically a multiplayer videogame host. Your browser opens a metaverse site by downloading a game engine and running it through JS and fetches the resources from the server to load the 3D environments. All this to say: what has this functional programming language actuall…

ugh, so many downvotes and not a single person to explain why this is "a language for the metaverse" as opposed to being just "a new language"

They are designing and creating Verse to be the scripting language for the Unreal engine, and the game Fortnight. So it is purpose built to drive 3d multiplayer worlds. It will be fun to see how it works out. I think it is cool to see a functional language around a game engine.

Re: The Verse Programming Language [pdf]

#25
As a programming language - I mean it seems cool but it doesn't seem like much of an innovation when things like Granule, Idris, Unison, Erlang, and more already exist.

I want to take a moment to look at the Metaverse angle. If there is going to be a unique programming language for the metaverse, I think it's not going to be textual but instead is going to primarily be a 3D language. This poses a big challenge for a VR language because text is great[1]. The point of making it 3D would be that you are somehow capable of transmitting more information via the higher-bandwidth channel of the human visual cortex than you are through text.

If you aren't making a 3D programming language, well then it might be a cool programming language but I don't know what it has to do with the metaverse.

[1] https://graydon2.dreamwidth.org/193447.html

Re: The Verse Programming Language [pdf]

#26
This looks incredibly ambitious:

- There are no booleans in the language! Conditionals can still succeed or fail, but failure is defined as returning zero values and success is defined as returning one or more values.

- Verse uses a so-called 'lenient' evaluation strategy which is neither strict nor lazy, but somewhere in-between ("Everything is eventually evaluated, but only when it is ready")

- an expression does not evaluate to a value (like in Haskell), but instead to a sequence of zero or more values

- tries to bring functional logic programming into the mainstream

- Verse uses an effect system for I/O instead of monads

- A type in Verse is "simply a function". E.g. int is the identity function on integers, and fails otherwise

This all looks very mind-bending to me (in a good way). Perhaps Verse will one day be as influential for PL design as Haskell has been.

Re: The Verse Programming Language [pdf]

#27

Text from the "10,000 Foot View" slide: -- Verse is a functional logic language (like Curry or Mercury). Verse is a declarative language: a variable names a single value, not a cell whose value changes over time. Verse is lenient but not strict: Like strict:, everything gets evaluated in the end Like lazy: functions can be called before the argument has a value Verse has an unusual static type system: types are first…

I'll add text from the "Take-aways" slide: -- Verse is extremely ambitious Kick functional logic programming out the lab and into the mainstream Stretches from end users to professional developers Transactional memory at scale Very strong stability guarantees A radical new approach to types [me: predicate functions] Verse is open Open spec, open-source compiler, published papers (I hope!) Before long: a conversation…

[deleted]

Re: The Verse Programming Language [pdf]

#28
post #5

These look like they might be the slides from SPJ's talk at Haskell eXchange this year. I'm hoping they'll upload a video soon, which'll probably be a lot more fun than slides. They've only got the recording up for one of this year's talks so far. https://skillsmatter.com/conferences/13688-haskell-exchange-...

Yeah Simon Peyton-Jones is quite good at talking, these slides are interesting but I think the full video will turn out to be much easier to digest

Re: The Verse Programming Language [pdf]

#29
post #26

This looks incredibly ambitious: - There are no booleans in the language! Conditionals can still succeed or fail, but failure is defined as returning zero values and success is defined as returning one or more values. - Verse uses a so-called 'lenient' evaluation strategy which is neither strict nor lazy, but somewhere in-between ("Everything is eventually evaluated, but only when it is ready") - an expression does n…

> - There are no booleans in the language! Conditionals can still succeed or fail, but failure is defined as returning zero values and success is defined as returning one or more values.

This is similar to how Icon works: https://en.m.wikipedia.org/wiki/Icon_(programming_language)

Re: The Verse Programming Language [pdf]

#30
I mean it's either genius, madness, or both.

Most programming languages I can least understand the general gist, the core motivation, whatever.

I have a lot of respect for Epic Games so I read through most of it but I have to say I'm still non the wiser.

If forced to summarize I'd say.. it's some kind of Haskell-ish language where the types themselves are defined by ... runtime functions? With some attempt at also being a prolog-ish logic language?

But why?

Post reply on HN