Live data from Hacker News

The Verse Programming Language [pdf]

simon.peytonjones.org

141–150 of 387 posts

Re: The Verse Programming Language [pdf]

#141

I'm confused by the Nested choices and funky order slide. How does x:=(y|2); y:=(7|8); (x|y) Give only (7,7), (8,8), (2,7), (2,8)? What about (7,8) or (8,7)?

It can't be either of those, because any given outcome is forcing a single value of y (or any variable in general).

Edit: Ah... I see now.

By that logic, how is either (7,7) or (8,8) allowed?

Re: The Verse Programming Language [pdf]

#142

Earlier quoted context omitted.

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

But it's very much not non-deterministic. It's a deterministic choice. You can give it an exact semantics.

How? The slide deck calls it a "lenient" evaluation order, and doesn't really say how to make an explicit choice of what cases should be tried first. So it seems to have all the same problems as naïve Prolog.

Re: The Verse Programming Language [pdf]

#143

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 transfor…

Your links didn't explain how you are bounding time and space. Giving programs a fixed time and memory budget doesn't require a language to be functional.

Re: The Verse Programming Language [pdf]

#144

I'm confused by the Nested choices and funky order slide. How does x:=(y|2); y:=(7|8); (x|y) Give only (7,7), (8,8), (2,7), (2,8)? What about (7,8) or (8,7)?

These are not possible, as x can be 7 only if y is 7, and likewise for 8. Semantics isn't based on sets, but on non-deterministic assignments to variables: y is either 7 or 8 and x is either y or 2.

Re: The Verse Programming Language [pdf]

#145

It's riveting to follow the evolution of Tim Sweeney's dream of a more Haskell-like programming language for games since his 2005 talk: https://www.st.cs.uni-saarland.de/edu/seminare/2005/advanced...

Wow, I didn't know he had these ideas for such a long time, thanks for sharing! Now SPJ joining makes a lot more sense to me.

Also they both seem to have a preference for using Comic Sans on slides ...

Re: The Verse Programming Language [pdf]

#149
post #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.

If you throw enough compute at any language it will work for scripting games. Is there any evidence that this will actually scale better than a language that better maps to the host processor.

Re: The Verse Programming Language [pdf]

#150

I'm confused by the Nested choices and funky order slide. How does x:=(y|2); y:=(7|8); (x|y) Give only (7,7), (8,8), (2,7), (2,8)? What about (7,8) or (8,7)?

(7, 8) and (8, 7) are not possible because:

If x = 2 then clearly (x, y) is not (7, 8) or (8, 7) because 2 is not 7 or 8.

If x = y then (x, y) is (7, 7) or (8, 8).

Post reply on HN