I've been listening to Signals and Threads podcast, and I remember listening to this episode - <a href="https://signalsandthreads.com/memory-management/" rel="nofollow">https://signalsandthreads.com/memory-management/</a><p>(I don't know neither Ocaml, nor Haskell, or any ML language), but the podcast is always fun to listen to (not only programming also)<p>Now would relisten this, and may actually understand it!
This is a great idea, but I have questions<p>* Is there a process for upstreaming this into the mainline language, or is this essentially JaneStML now?<p>* Why choose such an obscure word as `exclave` to indicate return-value optimization? How about `return local` or something similarly approachable?
I believe this is an explanation (part of) of this proposal:<p><a href="https://github.com/ocaml-flambda/ocaml-jst/blob/main/jane/doc/proposals/data-race-freedom.md">https://github.com/ocaml-flambda/ocaml-jst/blob/main/jane/do...</a>
My understanding is that Go does a similar kind of optimization (where locals that don't escape don't go on the heap) but it does it automatically. This has the positive that you don't need annotations but the negative that you can assume some code is benefitting from the optimization when it isn't and there's no warning about it.<p>I'm curious whether the authors here considered this. I didn't see any discussion of related work in the post.
I’ve been critical of OCaml, but I gotta hand it to them, it does feel like the language is going through a renaissance. It’ll be interesting if 5-10 years down the line it manages to significantly improve the usability story while also adding on modes and unboxed types. I’m more focused on usability but these features are compelling too.
Can someone explain to me why Jane Street - a trading firm - is so all in on OCaml?<p>There's lots of other choices that would be easier to recruit for, with wider community and industry support.<p>Where does the Jane Street commitment to Ocaml come from?
Is Ocaml actually good or is it a meme that people use it and become obsessed with it. How is the transition if you mostly code imperatively? Are there things that are not ergonomic for it to do like GUIs or games?
Interesting read.<p>What I would like to know is why they didn't take more direct inspiration form the "ML with Python syntax", namely Scala 3, and its "capture checking"[1].<p>Those OCaml "modi" look just like special cases of capture checking to me. Was that more general approach considered? And if, why was it dismissed?<p>[1] <a href="https://docs.scala-lang.org/scala3/reference/experimental/cc.html" rel="nofollow">https://docs.scala-lang.org/scala3/reference/experimental/cc...</a>
Found this video too which is worth watching - <a href="https://www.youtube.com/watch?v=yGRn5ZIbEW8">https://www.youtube.com/watch?v=yGRn5ZIbEW8</a>