> I'd recommend using a language with garbage collection unless you really need to not though; OCaml is quite Rust-like but means you won't have to worry about the borrow checker
OTOH, Rust arguably has a better story for tooling (build system, dependency management, etc.), a more full-featured standard library, and better concurrency support. Depending on your priorities, some or all of these might be worth having to learn the borrow checker.
Re:Rust 1.24
by FullyFunctional on Thursday February 15, 2018 @04:52PM
(#16388045)
Well, O'Caml and Haskell predates Rust by decades. I was delighted to see Sum-Product types in Rust when I played with it. They go a long way to cleanly model the problem domain. Obviously you can simulate them, but it's much easier to get wrong or "cheat" (say having a bunch of fields, only some of which are valid depending on a tag).
> I was delighted to see Sum-Product types in Rust when I played with it. They go a long way to cleanly model the problem domain.
Umm yeah, they've been a part of every ML-family language since the '70s, OCaml, Haskell and Rust included.
(FullyFunctional seems to understand this, as far as I can tell)
Re:Rust 1.24
by FullyFunctional on Sunday February 25, 2018 @08:23PM
(#16462335)
I do, but I wasn't aware that Rust was considered in the ML family (ML as Meta Language, like SML/NJ). I'm somewhat skeptical of that.
What I see from Rust is a lot of the really great things from functional languages (esp. strong typing) and beyond, but applying them to a language aiming as low as C. That's certainly interesting.
(I'd recommend using a language with garbage collection unless you really need to not though; OCaml is quite Rust-like but means you won't have to worry about the borrow checker)