OCaml 3.12.0+beta1: first-class modules, explicit generic types, polymorphic recursion, short record notation...
groups.google.com/group/fa.caml/browse_thread...Posted Jun 16, 2010, 1:44 PM UTC
5110
Posted Jun 16, 2010, 1:44 PM UTC
I know it's a trivial thing, but the short record notation will be really nice. I was hacking some simple OCaml with a friend the other day, and the endless id = id stuff was really getting on my nerves.
[deleted]
Have they fixed threads and floating point performance yet?
I guess you're referring to the IA32 port, where OCaml uses the FP stack and performance suffers, unlike e.g. the AMD64 one. There's an OCaml branch that uses the SSE2 registers on IA32, yielding better performance, but it hasn't been integrated into the trunk because of the lack of interest, as most people doing numerics have migrated to AMD64 anyway: xleroy only received 1 non-trivial (read: non-shootout ;-) program when he asked for code to assess the performance of the IA32/SSE2 branch. Regarding threads, there is no news in this release.
Wouldn't Xavier want to work on Scala?
[deleted]
It looks like they did improve equality comparison performance on AMD64, but apart from that I'm not sure what you mean. And I don't know what you mean about threads at all.
I recall reading at some point that one of the advantages of F# over vanilla Ocaml was that something about Ocaml's design made getting good numerical parallel performance really difficult. I got the general impression that Ocaml was more or less in the same boat as Python -- threads are fine for making nonblocking I/O but not for fast parallel computation. I think it was written by somebody at Jane Street evaluating their use of it internally.
[deleted]
Yeah, I see what you mean now. I guess I don't think much about that, as opposed to using JoCaml when you want to do parallel work.
It's a big deal for me because I only look at learning languages that can handle concurrency/parallelism well, because in the future it looks like we're only getting more cores rather than faster ones. It's one of the reasons I've started looking more at Haskell rather than Ocaml.
Are you referring to the Thread module and how only one ocaml thread can be running at one time?
Probably, I remember thinking Ocaml was in the same boat as Python and that sounds exactly like Python's GIL problem.