Live data from Hacker News

Rust's 2018 roadmap

blog.rust-lang.org

231–240 of 253 posts

Re: Rust's 2018 roadmap

#231
post #107

Earlier quoted context omitted.

> (granted, there is some ground to be covered before such an abstraction would fit in Rust) I would claim that such an abstraction is fundamentally incompatible with Rust. Not only does Rust lack the means to write a Monad trait on which to build do-notation, but even given HKT there's no single type signature that the various monad instances would fit. `Result` and `Option` are type constructors while `Iterator` an…

Algebraic effects are new hotness in FP research. They are easier to compose than monads and they can express things like async/await naturally. However, I'm not sure this approach works as intended with imperative programs where code will have (side) effects sprinkled everywhere. And there is no GC in rust

I'm a fan of effects, and I think they would work great for Rust. (I/O just probably wouldn't be one of them, or else it would be "on by default" like `Sized`.)

I'm not sure how they'd give you a unified mechanism to implement these kinds of things, though. The Monad typeclass lets you implement new instances in libraries. Is there any work on defining effects like async/await in libraries? If so I imagine they'd still have to use something like continuations.

Re: Rust's 2018 roadmap

#232

Earlier quoted context omitted.

I would love to see what these "success" metrics are. A happy and stress free workplace can be success to someone. To make money is a by-product of an efficient workforce powered to make decisions. If you have a group of people who always make the same kinds of decisions, based on the same experiences you will have the same kinds of companies making the same mistakes. i.e. Me too, white only hiring, etc. NO ONE EVER…

> It means you have already spewed your privilege in believing that the diverse opinions are already bad/dumb ones. this sounds uncalled for in my opinion. there is a difference between saying that something is "needed" and that something is "good". The parent simply said that the statement on the need of diversity was likely political. Diversity is something worth investing into, many agree with this, but to saying…

Something is "needed". If you don't create "political" change in a world where nothing otherwise would transform, then what? If we don't "force" schools to be diverse a class of people never excel and Obama would never be president.

All projects need it, because that project is made of humans. That project can succeed and die but those individuals will carry those experiences forward. I get what everyone here is doing linguistic math with diversity, but none of the replies are taking the impact on humanity in parallel with the success of a business that humans create.

We are reaping the benefits from many political changes 50+ years ago that inspired us to see the world differently and we cannot and should not stop now.

Re: Rust's 2018 roadmap

#233
post #224

Earlier quoted context omitted.

I mentioned CRUD web apps because first, I get the feeling that at least a bunch of the comments talking about high learning curve of Rust are from web developers expecting as fast an on-boarding as say in Python, Node.js or Go and more importantly because I'm a web developer myself with a lot of domain knowledge -- building a simple crud web app (or in Rust context more api) is going to be fairly easy to me in prett…

> But I reckon if Rust gets in the way it is not because of the language but lack of resources and available libraries for the domain. I guess you'll get to play with the FFI capabilities by incorporating some C libs then. :)

Yeah, I expect it to be an exciting adventure down the rabbit hole starting from my visual Pure Data prototypes. And I have no clue what lurks beneath:)

Re: Rust's 2018 roadmap

#234

Earlier quoted context omitted.

I would love to see what these "success" metrics are. A happy and stress free workplace can be success to someone. To make money is a by-product of an efficient workforce powered to make decisions. If you have a group of people who always make the same kinds of decisions, based on the same experiences you will have the same kinds of companies making the same mistakes. i.e. Me too, white only hiring, etc. NO ONE EVER…

> It means you have already spewed your privilege in believing that the diverse opinions are already bad/dumb ones. this sounds uncalled for in my opinion. there is a difference between saying that something is "needed" and that something is "good". The parent simply said that the statement on the need of diversity was likely political. Diversity is something worth investing into, many agree with this, but to saying…

> but to saying that a project needs it implies that you cannot succeed (whatever your idea of success is) without it.

Sure. I think a lot of people are also defining succeed as "be somewhere or something I still want to associate with in the future."

There have been a few high profile projects that have gotten themselves into hot water because of either unwanted behavior by some that wasn't corrected (or they didn't have a good policy to point to for correction) or was too strongly corrected (different people have different thresholds, and without a clear concept to point to, even if somewhat vaguely defined, some people tend to go nuclear before a warning shot has been fired, which is also unfair).

We may at some time get to the point where communities are including too many general and positive policies, but I don't think we're there yet. In the meantime, when correctly followed they provide help and protection to people on both sides of whatever issue they are concerning.

Re: Rust's 2018 roadmap

#235

Earlier quoted context omitted.

There are different concepts of length depending on what you need. And not all of them are in the standard library, and hence, the book. “Character length” is not a Unicode concept, for example.

Obviously, but it's a page about strings and a hint about how to get exact character length would be nice to have. But sure, the answer is just a googling away.

It is true that we could point people to the ecosystem more. Historically, we've been worried about playing favorites. However, this can come into conflict with our principles of having a small stdlib. It's tough.

Re: Rust's 2018 roadmap

#236
post #132

Earlier quoted context omitted.

You don't need do-notation to use Monads, that's just useful for building up a lazy-evaluated data-structure describing what IO to perform. Java and Javascript, for example, have been gradually introducing monadic concepts into their ecosystems. Java collections and Futures grow 'of' and 'flatMap', JS Promises aren't quite purely monadic but have 'resolve' and 'then'. So it's perfectly possible for an imperative lang…

I'm... not sure what you're getting at here. Rust is chock-full of "monadic concepts" like that, including the entire sets of `Iterator` and `Future` combinators. (Note that even without do-notation these have the composability problems I mention- you can't, for example, `break` out of a loop from within a `.then` callback; you have to break the loop down and reimplement it yourself with recursion. This is what the a…

I think we agree with each other, then -- sorry for misunderstanding your initial post.

Re: Rust's 2018 roadmap

#237

Earlier quoted context omitted.

I think your parent is saying "Rust isn't a great language to learn programming with", that is, if you've never programmed, Rust is not a great choice. I agree, but I don't think it's inherent; I think it's a lack of resources targeted at this demographic.

I do think a lot of it is inherent in the design choices that Rust has made. Rust, as a language, has a fairly large surface area. There's a lot of different syntactical and conceptual lessons that need to be learned by new Rust programmers. Compare that to, say, Lisp. My first programming class at Berkeley was taught in Scheme, which is basically Lisp. Within the first 20 minutes of the first day, the professor had…

> he'd also introduced us to every bit of syntax we would learn in the course.

This doesn't seem like a very meaningful distinction to me. Lisp may not have a lot of syntax, but it still has a comparable number of features to other languages used in intro classes. You have to learn those features as you encounter them regardless of whether they come with new syntax or not, and the new syntax frankly isn't the hard part of that.

Rust certainly has more features than Scheme, of course. :)

Re: Rust's 2018 roadmap

#238
post #219

Earlier quoted context omitted.

I'm also non native english and I would much rather have people focus on fixing bugs rather than submitting idiotic translations. Exhibit A: latest GCC error message, "le déréférencement d'un pointeur transtypé à la barbare va enfreindre la règle selon laquelle une zone mémoire ne peut être accédée que par un seul pointeur". Nowadays I just set LC_ALL=C on my machines since translations are so bad.

Just today I was trying to install a new version of Postgres on Windows. For some reason they decided to detect system language and print all error messages in Russian... in the wrong encoding, so it looked like lorem ipsum written in Wingdings font. Took me ages to understand what the problem is. Just use English for god's sake.

Yeah, as a non native speaker I can't agree more. It also makes it easier to find a solution for a problem if all users get the same error message.

Re: Rust's 2018 roadmap

#239
post #227

Earlier quoted context omitted.

There is a difference between "including" and "not excluding" people based on color or whatever. It's (officially, anyway) about removing barriers, not roping people in. I'll grant in practice it's a blurry line. So, yeah, it's a political issue, but an open source project is necessarily a political entity by virtue of being made of people. You can't escape making political decisions, and since "inclusivity" mostly j…

I completely agree, and I'd like to add that if one is "not excluding", asking for color skin should be forbidden. Because knowing color skin cannot possibly help one to "not exclude". In other words, "not excluding" implies not asking for color skins.

Eh, depending on the circumstances it might help you measure how well your anti-exclusion efforts are going. You'd definitely prefer it to be anonymous, and unlinked to any kind of entry process, including informal ones.

Re: Rust's 2018 roadmap

#240
post #227

Earlier quoted context omitted.

I completely agree, and I'd like to add that if one is "not excluding", asking for color skin should be forbidden. Because knowing color skin cannot possibly help one to "not exclude". In other words, "not excluding" implies not asking for color skins.

Eh, depending on the circumstances it might help you measure how well your anti-exclusion efforts are going. You'd definitely prefer it to be anonymous, and unlinked to any kind of entry process, including informal ones.

This is correct. I mistakenly assumed that if they wanted to know about it, then they wanted to change something according to it, which may not be the case.

They have talks, documentation is awesome, examples may even run online, ide stuff is cool, In my opinion, it hard to be more welcoming than that, and special treatment based on any individual traits (except for "what OS you're using" and stuff) would not only be unneeded, but also should be repelled ([subjective] personal value).

Post reply on HN