RustConf 2023 - Extending Rust's Effect System

  Рет қаралды 8,629

Rust

Rust

Күн бұрын

Пікірлер: 25
@jb-jz5uj
@jb-jz5uj 9 ай бұрын
really great talk, i have run into these issues a lot with rust, and was completely ignorant to this "effect systems" way of thinking
@warvinn
@warvinn 9 ай бұрын
Wonderful talk, great insights that were well explained, and the scene and editing are coming straight from a Wes Anderson film. Also, *B L Å H A J*
@yoshuawuyts
@yoshuawuyts 9 ай бұрын
thank you; that’s very kind of you to say
@oliverwooding2066
@oliverwooding2066 9 ай бұрын
this is such an unbelievably cool proposal, and if it gets added then cppbros will never shut up about how overcomplicated it is
@cloudsquall88
@cloudsquall88 9 ай бұрын
Great talk! Thank you very much! As others have stated in the comments, I think it would be useful at some point to address the series of blog posts that withoutboats has made. The things said in those blog posts really make a lot of sense, and deserve some more open discussion in my opinion, in a way that mere mortals like us can follow. Right now it seems like there are just 2 sides talking, with only one listening to the other.
@knolljo
@knolljo 9 ай бұрын
Great talk, super interesting! Seems like a lot of thinking went into solving this problem and a lot more needs to be done. As i understand, a parametric function would be like a mathematical function. Rusts current functions can have side effects which means they are procedures.
@CielMC
@CielMC 9 ай бұрын
We all know the star of the show here is Blahaj
@Debrugger
@Debrugger 9 ай бұрын
Great talk, hopefully this gains traction! Then Rust would really be almost the dream language, one that actually learns from 40 years of PL research but also has, y'know, users and code being written.
@klasus2344
@klasus2344 9 ай бұрын
ASMR
@kiffeeify
@kiffeeify 9 ай бұрын
Is there actually a reason (historically, or technical?), why uncarried types are not reflected in the type system? Why wouldn't an Unsafe make sense, that resulted from an unsafe function call, which has to be unwrapped in safe functions, but could be carried between unsafe functions?
@yoshuawuyts
@yoshuawuyts 9 ай бұрын
You can think of effects as properties of the function itself, and not so much properties of the arguments or return type. unsafe fn, among other things grants you the permission to call other unsafe functions in the function body. That kind of “permission to do something” cannot be expressed by wrapping types.
@Skipropegivesbirth
@Skipropegivesbirth 9 ай бұрын
Rust evolution is calling for a deeper understanding of effects.
@NotherPleb
@NotherPleb 6 ай бұрын
I have some concerns about the Rust "weirdness budget" running out, where people look at this think "what the f" and walk away. I'd say a priority is to don't let this leak too much in application code.
@SVVV97
@SVVV97 9 ай бұрын
Super exciting talk - I hope this works out!
@Galakyllz
@Galakyllz 9 ай бұрын
I love this.
@NickDrian
@NickDrian 6 ай бұрын
U r great teacher
@pmmeurcatpics
@pmmeurcatpics 9 ай бұрын
Fascinating talk!
@fengliang1590
@fengliang1590 9 ай бұрын
maybe[async] has far more implications than stated.
@fengliang1590
@fengliang1590 9 ай бұрын
explained in without boats' blog -- let futures be futures
@xplinux22
@xplinux22 9 ай бұрын
I agree completely. I think there's a similar debate about whether "async next" versus "poll next" would be preferable for AsyncIterator. I think there exists some functionality which only makes sense in async or sync land, for example, that aren't amenable to effect abstraction like this when maximum performance is the most important factor.
@Wertercat
@Wertercat 9 ай бұрын
Is the divergence effect idea 'solve the halting problem' or am I missing something
@CheaterCodes
@CheaterCodes 9 ай бұрын
I think it's 'reduce the valid programs to a subset for which halting can be proven'. obviously you lose some expressive power for that.
@yoshuawuyts
@yoshuawuyts 9 ай бұрын
The halting problem assumes a Turing machine. If a language is unable to loop indefinitely, it is no longer Turing-complete, and so the halting problem no longer applies. Or put differently: we can guarantee a program terminates (converges) by eliminating all conditions which could possibly cause it to not terminate (diverge).
@oserodal2702
@oserodal2702 9 ай бұрын
It would be undefined behavior if its code paths were able to diverge. I think in practice (having not read any of the mentioned work/progress), it would have a syntax similar to `unsafe` where the programmer assumes responsibility of the correctness of the code with an identifier and an expression (think `non_diverging { ... }`.
@jadelynnmasker
@jadelynnmasker 2 ай бұрын
Well, Turing isn't the only mind in town: Godël proved that there exists no set of axioms that are sufficient to prove all true mathematical statements. What this means is, that it could very well be impossible to "prove" that a program doesn't diverge, without severely restricting the rules the program can follow. In addition, running the maths required to prove that a sufficiently useful computer system cannot diverge would not only require a ridiculous amount of computing power (think death star sized computer), but also the simulation would have to run on an unproven system! This means the program trying to prove that another program cannot diverge, could very well diverge! And even such a proven system, could be hit by a cosmic ray and diverge as a result. Maybe perfection is simply impossible.
RustConf 2023 - How Powerful is Const
22:58
Rust
Рет қаралды 16 М.
RustConf 2023 - Profiling async applications in Rust
30:11
How To Choose Mac N Cheese Date Night.. 🧀
00:58
Jojo Sim
Рет қаралды 110 МЛН
Чистка воды совком от денег
00:32
FD Vasya
Рет қаралды 4,7 МЛН
Lazy days…
00:24
Anwar Jibawi
Рет қаралды 8 МЛН
RustConf 2023 - Fine! I'll just make my own stable ABI!
31:44
Interview with Senior Rust Developer in 2023
9:46
Programmers are also human
Рет қаралды 743 М.
RustConf 2023 - The Art and Science of Teaching Rust
28:01
Rust NYC: Jon Gjengset - Demystifying unsafe code
29:25
I Learned Haskell In 15 Years
36:03
ThePrimeTime
Рет қаралды 122 М.
Async Rust Is A Bad Language | Prime Reacts
28:46
ThePrimeTime
Рет қаралды 107 М.
Async Rust: the good, the bad, and the ugly - Steve Klabnik
46:20
All Things Open
Рет қаралды 15 М.
How To Choose Mac N Cheese Date Night.. 🧀
00:58
Jojo Sim
Рет қаралды 110 МЛН