Live data from Hacker News

The Verse Programming Language [pdf]

simon.peytonjones.org

111–120 of 387 posts

Re: The Verse Programming Language [pdf]

#112

Earlier quoted context omitted.

> This presentation contains absolutely nothing of value for a real programmer trying to actually make stuff. Speak for yourself! I got a lot from it that feels immediately practical for my current projects as well as others I want to take on, and it makes logic programming concepts and benefits much more accessible to me than any amount of Prolog literature has so far (granted I came in wanting to be compelled).

Do you have some examples of things in here that you think will help you solve current problems? I'm approaching it from the angle that I don't see how functional programming is at all useful for the kind of gameplay programming that would be done in a "metaverse" or is done in Unreal Engine today. So "it can do functional programming stuff" by itself doesn't cause any excitement. Rather the opposite. There are zero…

Well I don’t build games, so huge lump of salt, but I could benefit from and imagine translating into my work the language’s approach to:

- null safety

- deferred evaluation of expressions with unresolved dependencies

- types as first class values

- the real thing functional programming is about: making it possible to know what value is bound to a thing at any point in a program

The first is valuable for any program, the last is valuable for any program with multiple inputs (so, games, but also basically any human facing program because IO, or really just any program with users and real world interfaces), and types as values is a world of oysters if you like what types afford for development.

Edit: lol I forgot to expand on deferred evaluation, it’s a really good model for distributed users but could also be a good model for highly dynamic applications like one I maintain where there’s a hard constraint on synchronous execution but currently a very lazy model of what needs to be executed.

Re: The Verse Programming Language [pdf]

#114

Earlier quoted context omitted.

I think it makes more sense if you don't think of it as an angle but a motivation. We've all been attacked with stuff like "shopping lists but on the blockchain!" for so long. This isn't like that. It's that they're foreseeing a technical problem of a shitload of concurrency and extra pain of API changes (metaverse) and this is meant to help.

I didn’t find the metaverse stuff to be a compelling motivation for the programming language features described. It felt to me more like ‘I had some ideas about programming languages after 20+ years of Haskell and research. Here’s my plan to unify logic programming with more normal functional programming (also we’re getting rid of monads). By the way my boss cares about the metaverse.’ But maybe that is too cynical.…

This doesn’t strike me as a very serious attempt to predict the future and design a programming language based on that prediction

I don't think it is trying to predict, it is purpose built to be the Unreal engine scripting language. I hate the word metaverse, but it will be a highly relevant, important language to online multiplayer worlds as soon as it is released (as soon as a month from now).

Re: The Verse Programming Language [pdf]

#116
post #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 be…

My guess would be to store game logic as data, as process it in a distributed way. An entity could have multiple rows for it's attributes and "methods", and the runtime just processes it

Re: The Verse Programming Language [pdf]

#117
I have also built a functional language, Winter (https://github.com/glaretechnologies/winter) that is used in our metaverse (https://substrata.info/).

A functional language has some advantages - because Winter programs can be bounded in space and time, we can efficiently execute untrusted scripts from users safely. The scope of Winter programs is reasonably narrow - mostly pretty simple scripts setting a transformation as a function of time. But for that it works well.

Re: The Verse Programming Language [pdf]

#118
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…

> 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.

I'm not convinced. Making non-determinism a first-class feature in the language might be good if you simply care about logical specifications that might enable you to prove something correct, but a real-world program implementation has to make heuristic choices for efficiency as to when to evaluate what (and perhaps where, especially in a parallel/distributed setting), and just stating that evaluation is "lenient" isn't really saying anything worthwhile. So this kind of design choice will ultimately be expressed with ugly hacks, as with e.g. Prolog where the 'cut' feature is used to override the default search strategy.

Re: The Verse Programming Language [pdf]

#119

Earlier quoted context omitted.

> This presentation contains absolutely nothing of value for a real programmer trying to actually make stuff. Speak for yourself! I got a lot from it that feels immediately practical for my current projects as well as others I want to take on, and it makes logic programming concepts and benefits much more accessible to me than any amount of Prolog literature has so far (granted I came in wanting to be compelled).

Do you have some examples of things in here that you think will help you solve current problems? I'm approaching it from the angle that I don't see how functional programming is at all useful for the kind of gameplay programming that would be done in a "metaverse" or is done in Unreal Engine today. So "it can do functional programming stuff" by itself doesn't cause any excitement. Rather the opposite. There are zero…

The approach of using a function to describe a type where success is the identity is a very simple way to implement dependant types

Re: The Verse Programming Language [pdf]

#120

>Kick functional logic programming out the lab and into the mainstream Yet this presentation did none of that. There were no montivating examples on practical usage. The language does not map cleanly to webassembly, it instead reduces to a prolog like graph based execution model. In order to go mainstream you need to be solving more problems that existing languages have than you are creating by having someone use you…

It is already being used in fortnite, so it works, scales and does what it needs to do.
Post reply on HN