On Friday, 31 July 2015 at 09:08:00 UTC, Ziad Hatahet wrote:
On Thu, Jul 30, 2015 at 7:19 AM, Chris via Digitalmars-d < [email protected]> wrote:

My point was that any (new) feature introduces its own problems... As I said, I'll wait and see what Rust users have to say after a year or two.


Except, as it was pointed out, this is not a new feature. It has been around in many languages way before Rust.

You don't have to wait a year or two, check what the experience of users of languages such as Scala, Haskell, F#, and OCaml has been like.

It really doesn't mean much if you're talking about functional languages, because they're fundamentally different from imperative languages in how they're constructed. Almost everything in functional languages is an expression, and it works fine for them, but the way that code is written in those languages is also fundamentally different from how you'd write it in C, C++, Java, C#, D, etc. As I understand it, Rust is much closer to C++ and friends than a functional language, so how it interacts with the rest of the language is going to be quite different. That doesn't mean that it won't work just fine, but it does mean that the fact that it works fine in functional languages doesn't necessarily mean that it'll work well for Rust.

Now, there may be other imperative languages which have something similar - be it that all statements are expressions or that a larger subset of them are - so there may already be one or more languages out there which show that it can work just fine with an imperative language, but AFAIK, all of the languages you listed are either outright functional languages or lean heavily in that direction rather than being imperative. So, I don't think that experiences with those languages necessarily says much about how well it will work for Rust.

- Jonathan M Davis

Reply via email to