Earlier quoted context omitted.
It is nothing new. See Dependent Types. Used by most formal proof assistants (Coq/LEAN/…) and languages like Agda and Idris. I highly recommend the book “Type Driven Development” if you want a great introduction to the power of DT.
Oh this is new because our notion of expressions; thus functions, are different. Sure you can have terms in types in dependent types; thus functions in types is nothing new. But again, we have a much different notion of function here. And if anything I would say types in Verse are much closer to refinement types because of its ability to apply constraints. But they are still not the same thing.
The Verse Programming Language [pdf]
371–380 of 387 posts
Re: The Verse Programming Language [pdf]
#372Earlier quoted context omitted.
> 90% of C++'s useless standard library, The Python library is even larger and doesn't seem to be a barrier. If you know `std::vector`, ` > C++ would also not have been deprecated by Rust. That's an overstatement, to say the least.
I don't think it is an overstatement to say that that imaginary world C++ would have been deprecated by Rust. C++ complexity is also its strength. Highly backward compatible, even with C, and multiparadigm. It has classes, but you don't have to use them, it has exceptions, but you don't have to use them, it has templates, lambdas, smart pointers,... and again, you don't have to use them, but they are here if you need…
Re: The Verse Programming Language [pdf]
#373As 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…
To me, this doesn't seem like it has much to do with Unison at all beyond being a new FPL, could you elaborate a bit?
Re: The Verse Programming Language [pdf]
#374Earlier quoted context omitted.
Phil Wadler, the first author of the paper you cite, was literally a principal designer of Haskell. SML does not have type classes; your quote points out a deficiency in SML that motivates type classes. My understanding is that "trait" is an unfortunately overloaded term. Traits in Rust are much more closely related to Haskell's type classes than to traits in the OOP sense.
> Phil Wadler, the first author of the paper you cite, was literally a principal designer of Haskell. Yes, I know that. That's the point. > SML does not have type classes; your quote points out a deficiency in SML that motivates type classes. Again, that's the point. It's what "have an influence" means in that it was SML that influenced or inspired Haskell's type classes. And it's part of my overall point of SML bein…
Re: The Verse Programming Language [pdf]
#375Earlier quoted context omitted.
Phil Wadler, the first author of the paper you cite, was literally a principal designer of Haskell. SML does not have type classes; your quote points out a deficiency in SML that motivates type classes. My understanding is that "trait" is an unfortunately overloaded term. Traits in Rust are much more closely related to Haskell's type classes than to traits in the OOP sense.
> Phil Wadler, the first author of the paper you cite, was literally a principal designer of Haskell. Yes, I know that. That's the point. > SML does not have type classes; your quote points out a deficiency in SML that motivates type classes. Again, that's the point. It's what "have an influence" means in that it was SML that influenced or inspired Haskell's type classes. And it's part of my overall point of SML bein…
I'm not familiar with the origin of traits/mixins in the OOP world, but my understanding is that they generally contain implementations of methods; they are a "part of" a class. Type classes and Rust traits, however, are more like interfaces. I'm pretty confident you won't find any notion of trait that predates type classes and can define what a Functor or Monad is. My reading of the SO answer you link is that Rust traits started off similar to type classes and have grown closer and closer over time. I'm not sure what a clearer indication of Haskell's influence would look like!
Re: The Verse Programming Language [pdf]
#376Earlier quoted context omitted.
Also speaking as someone with experience in MMO development: This is fucking wild to describe as a handwave, you think Epic / Tim Sweeney have the wrong end of the stick regarding distributed execution because... the AIs will solve it for us in the next few years? > By the time Verse is built up enough and has enough market penetration... Verse will already have a dominant market position the minute you can do someth…
You know, your comment made me rethink a few things. I don't know if they have the wrong end of the stick. I'm afraid they might, because based on their presentations so far the Metaverse bit seems more tacked on than intrinsic. However, these are credentialed people well known in the field - it's hard to tell how much is exuberance re: Metaverse usage. Regarding my comment on AI, I think it's relevant. It's not that…
No, the fundamental difference is between Fornite and Overwatch, not between the languages. Fortnite has an order of magnitude more users and, more critically, is a freeform social gathering place in a way Overwatch is not.
Like honestly, I'm not sure you know what Fortnite is today, if you're comparing it with Overwatch. It's a competitor for VRChat and Minecraft as much as it is a Battle Royale game. This is going to make it a competitor for Roblox and Second Life too.
Re: The Verse Programming Language [pdf]
#377Re: The Verse Programming Language [pdf]
#378Earlier quoted context omitted.
You know, your comment made me rethink a few things. I don't know if they have the wrong end of the stick. I'm afraid they might, because based on their presentations so far the Metaverse bit seems more tacked on than intrinsic. However, these are credentialed people well known in the field - it's hard to tell how much is exuberance re: Metaverse usage. Regarding my comment on AI, I think it's relevant. It's not that…
> Fortnite having a dominant market position once they do stuff with it, I'm not sure of that. I mean, StateScript being awesome doesn't make a dominant market position for it because of its use in Overwatch. I recognize the fundamental difference because the latter is closed and proprietary, sure... No, the fundamental difference is between Fornite and Overwatch, not between the languages. Fortnite has an order of m…
Re: The Verse Programming Language [pdf]
#379Earlier quoted context omitted.
> Phil Wadler, the first author of the paper you cite, was literally a principal designer of Haskell. Yes, I know that. That's the point. > SML does not have type classes; your quote points out a deficiency in SML that motivates type classes. Again, that's the point. It's what "have an influence" means in that it was SML that influenced or inspired Haskell's type classes. And it's part of my overall point of SML bein…
You asked for an example of Haskell influencing languages other than Idris. Type classes are a pretty clear example. I don't see how it is particularly relevant to this that they were motivated by a deficiency in SML. I'm not familiar with the origin of traits/mixins in the OOP world, but my understanding is that they generally contain implementations of methods; they are a "part of" a class. Type classes and Rust tr…
https://en.m.wikipedia.org/wiki/Common_Lisp_Object_System
> Another unusual feature is that methods do not "belong" to classes; classes do not provide a namespace for generic functions or methods. Methods are defined separately from classes, and they have no special access (e.g. "this", "self", or "protected") to class slots.
Of course, the whole idea of having methods as separate entities might sound a bit "alien" today. Still, the idea of traits as abstract contracts, with separate and potentially multiple distinct implementations, comes directly from this, IMHO.
Re: The Verse Programming Language [pdf]
#380Contrary to what others are saying... From my time spent in MUDs/MOOs 30ish years ago and the languages we were playing with then, I can see plenty here that actually does relate to the problem of programming in a large scale shared-state world aka "multiverse" (hate the world) Transactionality. Check. ACID type semantics are absolutely key to handling the concurrency issues created by a world with thousands of autho…
Can you walk us through where you think a language like Verse really shines with transactionality versus the current server authoritative models we see implemented in [language here] using [framework/pattern] here (like C++ and ECS)?
I've done my fair share of FP (got into Haskell years ago) so I see value here, but I'm not sure I'm grokking your level of excitement and would like to understand better.