@wycats The functional style doesn't ask readers to think about the locations values occupy. Object identity not interesting; deep equality.
-
-
Replying to @jimblandy
@wycats If I write a CPU model in pure ML, and then write series of CPU-level operations, that's !functional: reader must think about addrs.1 reply 0 retweets 0 likes -
Replying to @jimblandy
@wycats So the Q is: How well does a language and its ecosystem support the functional style? Rust supports it poorly. (Fine by me.)1 reply 0 retweets 0 likes -
Replying to @jimblandy
@wycats Why care at all? B/c RFC discussions often suggest "good match for functional style" as criterion for judging proposed features.1 reply 0 retweets 0 likes -
Replying to @jimblandy1 reply 0 retweets 0 likes
-
Replying to @jimblandy
@wycats But perhaps I should have noticed that both on Twitter and in RFCs, "functional" generates quite a lot of heat per illumination.1 reply 0 retweets 0 likes -
Replying to @jimblandy
@jimblandy linear(ish) types solve a fundamentally functional problem without sacrificing performance.1 reply 0 retweets 0 likes -
Replying to @wycats
@jimblandy functional impls are ALWAYS allowed to do global mut as long as it can prove nobody cares. Rust gives those tools to everyone.1 reply 0 retweets 0 likes -
Replying to @wycats
@jimblandy consider fn foo(self, val: u32) -> T { self.x = val; self } ; functional style with mutation as impl detail2 replies 0 retweets 0 likes -
Replying to @wycats
@jimblandy idiomatic equality check and hash() is value equivalence not pointer equivalence. &mut means no third parties can observe the mut3 replies 0 retweets 0 likes
@jimblandy rust is a bit of a paradigm bender, but it is strongly descended from functional traditions.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.