News for hackers. Stuff that matters.
Re:Leaving OCaml by jitl on Monday November 02, 2020 @08:15PM (#24975349)
It was interesting to hear that the Ocaml community has something of that “talking about category theory and functors” vibe that Haskell has. The Haskell posts/community vibe that I see is very heavy on the “ideas of computing research” and I’ve always thought Ocaml was a more “get things done” language because I only ever really hear about it from JaneStreet or ReasonML angle which is very much on the side of “get things done”. That’s a pity.
Re:Leaving OCaml by darksaints on Monday November 02, 2020 @08:27PM (#24975416)
Actually I think there is a distinction to be made. Both Haskell and OCaml are strongly typed ML-family languages, and to some extent you'll find some overlap in community interests, trending toward the academic side. But Haskell tends to be used more for type theory research, whereas OCaml is far more popular for programming language research due to its popularity for writing compilers.

While I don't have internal insight to Jane Street, some of their talks and public information seems to support the idea that they are actually doing a lot of similar work to compiler development. They have stated that they tend to do a lot of symbolic logic and analysis, and they make it sound like they create DSLs that traders can more easily use to convey trading strategies.

So OCaml does really well at getting things done, but historically it has been within very narrow definition of the types of things to be done.

Re:Leaving OCaml by yminsky on Monday November 02, 2020 @08:52PM (#24975571)
Understandable how you'd get that impression, but it's off the mark. We do lots of "ordinary" programming that looks nothing like waiting a compiler. Data analysis, high performance packet processing, log analysis, UI work, you name it.

We use OCaml as a general purpose tool, and it really excels in that role.

Re:Leaving OCaml by darksaints on Monday November 02, 2020 @09:09PM (#24975675)
Interesting. I've always wanted to dig deeper into OCaml but haven't really had the chance to do so yet. I really enjoy a lot of what I've read about your work with OCaml and it looks like a great place to work for someone like me (4 years of automated trading experience in futures markets and a love of strongly-typed functional programming), but alas I'm not in a position to relocate from Seattle.
Re:Leaving OCaml by pbiggar on Monday November 02, 2020 @09:02PM (#24975638)
I think the disconnect here is that for much of the world these days, "ordinary" programming is a backend for a web or mobile app, using REST (or maybe GraphQL if you're avant garde). I'm sure Jane Street does lots of web stuff too, but I haven't see a bunch of Core libraries to do, for example, a CRUD app on Postgres in the cloud somewhere.
Re:Leaving OCaml by zeckalpha on Monday November 02, 2020 @10:52PM (#24976126)
Hmm. All programs are either compilers or repls.

Log analysis compiles logs into an analysis. A GUI repls user interactions.

It all has to do with how you define the abstractions.

Re:Leaving OCaml by ojnabieoot on Monday November 02, 2020 @08:59PM (#24975615)
I would say OCaml’s most famous use (or at least its most successful) is in the compiler/runtime for Coq, the proof assistant. Which means that a huge bunch of its user base is in academia and theoretical computer science , and whose jobs it is to worry about fancy type stuff :)

It also does seem that OCaml is more popular in Europe than North America but I don’t have any data on that.

Re:Leaving OCaml by momentoftop on Tuesday November 03, 2020 @05:24AM (#24978238)
The Haskell community, in my experience, is far more academic. A recent post to the Haskell libraries mailing list began with:

"It was pointed out to me in a private communication that the tuple function \x->(x,x) is actually a special case of a diagonalization for biapplicative and some related structures monadicially."

It received 39 pretty enthusiast replies.

I don't expect this sort of discussion on Ocaml mailing lists (please correct me, Ocaml mailing list subscribers!) And I think the reason is that Haskell makes this sort of abstraction very very easy, and makes it pay off, while Ocaml does not. In Ocaml, it's not even useful to abstractly define functors, which are the most basic data of category theory. In Haskell, functors are a typeclass that comes with the prelude and are hard to avoid. And there's no reason why you wouldn't use a biapplicative either:

https://hackage.haskell.org/package/bifunctors-5.5.7/docs/Da...

Re:Leaving OCaml by tome on Tuesday November 03, 2020 @06:59AM (#24978822)
Do you have a link to that mailing list post? Search engines are not turning anything up for me.
Re:Leaving OCaml by momentoftop on Tuesday November 03, 2020 @07:22AM (#24978967)