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)?
The Verse Programming Language [pdf]
131–140 of 387 posts
Re: The Verse Programming Language [pdf]
#132Re: The Verse Programming Language [pdf]
#133Re: The Verse Programming Language [pdf]
#134Earlier 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.…
I wouldn't take your skepticism as uncharitable as much as realistic. If a company is trying to apply some abstract theory to solve a problem, they might hire a theoretician to work on it. They'll say "We are advancing X theory to solve Y problem for our customers". Well, the "we" in there is one dude and his motivation certainly isn't Y. He'd be working on X regardless. Y is just the reason he's getting paid. That's not exactly what's going on here, just sayin distorted motivations aren't that rare or even really that nefarious.
On the not-newness, I think that's true, too. You can justify it by saying that a metaverse will have the same problems in different proportions. This would justify approaches with tradeoffs that wouldn't make sense in other situations. It looks like it's optimizing for a system with high concurrency, weak coordination and on one platform. So like Erlang at Ericsson but more programmers, or like the internet but less independent.
Thank you for sharing the Fortress example!
Re: The Verse Programming Language [pdf]
#135To this day I have still never really "got it". From what I can see, the people who love it really do love it, maybe one day I'll give learning it another shot.
Re: The Verse Programming Language [pdf]
#136I still don’t get why people would want to type ‘:=‘ instead of just ‘=‘, but okay.
':=' is didactically better because it shows that assignment has an direction. It also leaves '=' for actual equality.
Re: The Verse Programming Language [pdf]
#137Functional programming as an introductory language? Maybe it's just me, but functional programming is a steep hill to climb, it has always felt more akin to mathematics than, say, scripting. To this day I have still never really "got it". From what I can see, the people who love it really do love it, maybe one day I'll give learning it another shot.
Re: The Verse Programming Language [pdf]
#138I'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)?
Re: The Verse Programming Language [pdf]
#139This 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…
I'm decidedly in the not convinced camp.
Re: The Verse Programming Language [pdf]
#140This 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…