Live data from Hacker News

Type system of Fortnite's Verse language

brianmckenna.org

21–30 of 159 posts

Re: Type system of Fortnite's Verse language

#21
post #13

I'm unclear on the difference between the "computes" and "varies" effects. Surely a function that only reads constant state is pure by definition?

I see a bullet point saying Varies is for "random or non-constant state"

I think I may have been misreading, I was assuming that these effects were meant to be composed, but I guess they're exclusive to each other and form a tower (the preceding line even calls them the "exclusive effects", but I thought it just meant that this was an exhaustive list of effects).

Re: Type system of Fortnite's Verse language

#22
post #5

Tangential, and because I had to look it up: > Verse has been designed by some people who really know what they’re doing: Lennart Augustsson, Joachim Breitner, Koen Claessen, Ranjit Jhala, Simon Peyton Jones, Olin Shivers, Tim Sweeney The listed people are all luminaries of the functional programming world (and adjacent, like theorem proving and software verification), particularly Haskell. Hell, Simon Peyton Jones i…

At the same time… the language is interesting , and I’m sure it’s technically very well designed, but I’m not sure it’s a good fit for the task they’ve got. The apparent goal is for this to allow anybody to democratically contribute to Fortnite (a game most popular with a fairly young audience), but the language feels very technical and not-beginner-friendly to me. For example, it’s fairly symbol-heavy (making it int…

Consider that classic programming language of old - LOGO.

It's a really neat LISP. Yes, a LISP.

    to factorial :number
    if :number = 1 [output 1]
    output :number * factorial :number - 1
    end
or...

    to reverse :stuff
    ifelse equal? count :stuff 1
    [output first :stuff]
    [output sentence reverse butfirst :stuff first :stuff]
    end
From https://el.media.mit.edu/logo-foundation/what_is_logo/logo_p...

And from https://dl.acm.org/doi/pdf/10.1145/3386329

Logo’s design drew upon two theoretical frameworks: Jean Piaget’s constructivism and Marvin Minsky’s artificial intelligence research at MIT. One of Logo’s foundational ideas was that children should have a powerful programming environment. Early Lisp served as a model with its symbolic computation, recursive functions, operations on linked lists, and dynamic scoping of variables.

....

In LCSI Logo, the if instruction above becomes a call to the if procedure, which takes three inputs:

    if :x
The first input is a Boolean value, reported by the
    (if (
in Lisp notation. How can Logo represent a thunk as merely the text of its body, without wrapping it in a lambda expression to capture its closure? See Dynamic Scope below (Section 3.7).

The use of quoted instruction lists didn’t start with LCSI. From the beginning, the main looping facility has been

    repeat 4 [forward 100 right 90]
with the instructions to be repeated inside square brackets.

----

LOGO was secretly introducing us to lambdas and thunks and closures... back in 3rd grade on the Apple][+.

One of my laments is "I wish that we had computer scientists teaching us LOGO back then rather than the librarian who just wanted some quiet while we played Oregon Trail."

So... the weird characters? We dealt with them as kids, that's no weirder than LOGO.

Re: Type system of Fortnite's Verse language

#23

Tangential, and because I had to look it up: > Verse has been designed by some people who really know what they’re doing: Lennart Augustsson, Joachim Breitner, Koen Claessen, Ranjit Jhala, Simon Peyton Jones, Olin Shivers, Tim Sweeney The listed people are all luminaries of the functional programming world (and adjacent, like theorem proving and software verification), particularly Haskell. Hell, Simon Peyton Jones i…

Or they might be just creating a Yet Another Language precisely because they are luminaries of functional programming. Those often tend to chase a yet another unattainable dream of "the one true functional language". When you type the words "the really know what they are doing" when talking about a language for game programming , I would expect people who know about game programming first, and about language design s…

Why would Epic, owners of the primary reason why C++ is gravitated towards in game programming, spend time and money creating Yet Another Language just to satiate luminaries?

Re: Type system of Fortnite's Verse language

#24

I'm curious to hear anyone's experience using the language. Or is it brand spanking new and no one has yet?

Yes, very new, I don't think much information at all about the language was public until just some weeks ago. First release was included in a recently released Unreal Engine update

Re: Type system of Fortnite's Verse language

#25

I'm curious to hear anyone's experience using the language. Or is it brand spanking new and no one has yet?

It's a bit tedious to even try it in my experience: you have to use Unreal Engine for Fortnite and interact with the code through that (no publicly available compiler/VM afaik). They have some docs at least on setting it up but still depends on having UEFN which is a little unfortunate: https://dev.epicgames.com/documentation/en-us/uefn/verse-api, https://dev.epicgames.com/documentation/en-us/uefn/starting-...

Re: Type system of Fortnite's Verse language

#26
post #5

Tangential, and because I had to look it up: > Verse has been designed by some people who really know what they’re doing: Lennart Augustsson, Joachim Breitner, Koen Claessen, Ranjit Jhala, Simon Peyton Jones, Olin Shivers, Tim Sweeney The listed people are all luminaries of the functional programming world (and adjacent, like theorem proving and software verification), particularly Haskell. Hell, Simon Peyton Jones i…

At the same time… the language is interesting , and I’m sure it’s technically very well designed, but I’m not sure it’s a good fit for the task they’ve got. The apparent goal is for this to allow anybody to democratically contribute to Fortnite (a game most popular with a fairly young audience), but the language feels very technical and not-beginner-friendly to me. For example, it’s fairly symbol-heavy (making it int…

I still make mods in Unreal Tournament. Unrealscript has its warts but does the job admirably. I can't look at Versescript without thinking that Unrealscript was better.

Re: Type system of Fortnite's Verse language

#27
post #22
post #5

Earlier quoted context omitted.

At the same time… the language is interesting , and I’m sure it’s technically very well designed, but I’m not sure it’s a good fit for the task they’ve got. The apparent goal is for this to allow anybody to democratically contribute to Fortnite (a game most popular with a fairly young audience), but the language feels very technical and not-beginner-friendly to me. For example, it’s fairly symbol-heavy (making it int…

Consider that classic programming language of old - LOGO. It's a really neat LISP. Yes, a LISP. to factorial :number if :number = 1 [output 1] output :number * factorial :number - 1 end or... to reverse :stuff ifelse equal? count :stuff 1 [output first :stuff] [output sentence reverse butfirst :stuff first :stuff] end From https://el.media.mit.edu/logo-foundation/what_is_logo/logo_p... And from https://dl.acm.org/doi…

Sounds more like TCL than LISP. (Of course there are those who consider TCL part of the LISP family).

> So... the weird characters? We dealt with them as kids, that's no weirder than LOGO.

Most kids didn't learn much from LOGO. AIUI the best available research on learning programming (which is very limited) says that weird characters are a barrier to understanding, and so is case sensitivity.

Re: Type system of Fortnite's Verse language

#28

Tangential, and because I had to look it up: > Verse has been designed by some people who really know what they’re doing: Lennart Augustsson, Joachim Breitner, Koen Claessen, Ranjit Jhala, Simon Peyton Jones, Olin Shivers, Tim Sweeney The listed people are all luminaries of the functional programming world (and adjacent, like theorem proving and software verification), particularly Haskell. Hell, Simon Peyton Jones i…

Nevertheless, I've yet to see an explanation of what problem Verse aims to solve that isn't solved by other languages out there. It's still very early (while announced last year, it was only just shown at GDC last week!) so I expect we'll be hearing a lot soon. Obviously, the association with Fortnite won't do it any favors. They claim they want

>Nevertheless, I've yet to see an explanation of what problem Verse aims to solve that isn't solved by other languages out there.

The major problem being solved is that Fortnite did not fully control the fate of any other language.

Re: Type system of Fortnite's Verse language

#29
post #5

Tangential, and because I had to look it up: > Verse has been designed by some people who really know what they’re doing: Lennart Augustsson, Joachim Breitner, Koen Claessen, Ranjit Jhala, Simon Peyton Jones, Olin Shivers, Tim Sweeney The listed people are all luminaries of the functional programming world (and adjacent, like theorem proving and software verification), particularly Haskell. Hell, Simon Peyton Jones i…

At the same time… the language is interesting , and I’m sure it’s technically very well designed, but I’m not sure it’s a good fit for the task they’ve got. The apparent goal is for this to allow anybody to democratically contribute to Fortnite (a game most popular with a fairly young audience), but the language feels very technical and not-beginner-friendly to me. For example, it’s fairly symbol-heavy (making it int…

I’m curious how much of this is due to examples coming from people who already are interested in programming languages and therefore a focus on language features or semantics. It’s not obviously hopeless to me for it’s intended purpose.

Re: Type system of Fortnite's Verse language

#30
post #19

Earlier quoted context omitted.

STM isn't a new concept. How does it relate to "writing software across servers"?

STM is the Haskell people’s hammer solution to everyone else’s nail problems.

Well, most everyone else is using duct tape, bailing wire and spit to solve those problems.
Post reply on HN