News for hackers. Stuff that matters.
Re:Four Years of Rust by Hermitian909 on Wednesday May 15, 2019 @11:48AM (#19920568)
As someone who really enjoys OCAML, it has a variety of issues that prevent it from becoming popular (though I'm hopeful for reasonML).

No multicore

Standard library has... issues

No community consensus on a common base setup, questions about which library to use for a task often get answers like "well, do you want to use functors or monads? because that will change the library we recommend" which is really not what you want to hear when you're just trying to set up your first server.

Documentation is, in general, bad. Most packages just give a list of function signatures.

The community is small, academic, and often French.

Re:Four Years of Rust by xvilka on Wednesday May 15, 2019 @01:00PM (#19921409)
Modern OCaml (4.06+) is not that bad, but yeah, lack of proper parallelism and bad Windows support (without hacks like MinGW or Cygwin) is what still hurts. Standard library these days is only one - Base, one buildsystem - Dune, Camlp4 is dead, and compiler improved a lot recently (including speed if you enable flambda).
Re:Four Years of Rust by p0nce on Wednesday May 15, 2019 @04:54PM (#19923675)
You guys are welcome to D, you may enjoy unboxed floats, guaranteed monomorphization and native threads. Also, 3 backends.
Re:Four Years of Rust by wyatwerp on Wednesday May 15, 2019 @08:24PM (#19925072)
The reference compiler is as free-standing as OCaml's because it too has its own back-end. Its front-end is shared with the other 2 back-ends: feeds the ubiquitous LLVM in LDC, and is included as a supported front-end in GCC since version 9.1.

Anyway, there is no way you'd give up ML-tradition pattern-matching; D doesn't have it.

Re:Four Years of Rust by p0nce on Thursday May 16, 2019 @06:08AM (#19927615)
Well engineering decision are tradeoffs, using D i've never missed pattern-matching and I have used ocaml before.
Re:Four Years of Rust by renox on Wednesday May 15, 2019 @06:18PM (#19924331)
Honest question: what is so bad about having to create one process per core? If you have lots of data you can use shared memory, so the performance should be similar no?
Re:Four Years of Rust by Hermitian909 on Thursday May 16, 2019 @12:21PM (#19930363)
For shops that really care about highly performant parallel tasks, the difference matters. For people who just want more performance for free it's too much work versus what other languages provide.

If OCAML were already popular I don't think the lack of parallelism would be huge issue, but it's niche, which is a huge downside to any language in a business context. The upsides the language provides in terms of performance, ergonomics, and maintainability need to overcome that downside. All the issues I listed mean that OCAML can't generally pass that bar.

Re:Four Years of Rust by wyatwerp on Wednesday May 15, 2019 @08:16PM (#19925033)
I don't know. Maybe because it is GC-only? It doesn't have custom allocators, so there may be no easy way to map an object to some location in shared memory.