<octachron>
wpcarro, OCaml 5.0.0 is not yet out, there are some http server libs that were patched to do some benchmarking for the multicore design but I would not recommend it for production.
<wpcarro>
octachron: ack ty
<wpcarro>
how ab the general recommendation ab using ocaml for production? other candidates atm are go, python, typescript
<octachron>
but yes with OCaml 5, it should be possible to have concurrency in direct style.
<wpcarro>
octachron: do you have any examples of what you mean by direct style? jc
<olle>
wpcarro: I wouldn't compare go with python and ts. go is compiled, the others are script langs. ocaml is also compiled (but "reads" as a script lang often)
<olle>
octachron: again you mean parallelism, or...?
<wpcarro>
olle: ftr I'm not recommending go, python, or ts. just langs that ppl are comfortable w/ here at $COMPANY
<octachron>
Direct-style here is in contrast with monadic (aka async/await style) where there is a clear separation between async code (inside the monad) and not-async code.
<octachron>
olle: I mean concurrency.
* Anarchos
would kindly advise wpcarro not to speak with so much abbrevation. We are not all english native speakers , so all your abbreviations render your sentences painful to understand. At least for me .
<olle>
Twitter speak xD
<wpcarro>
s/Twitter/irc/g v0v
<wpcarro>
I'll work on it Anarchos
<olle>
wpcarro: OCaml has a helpful but small community. You might have some bumps compared to go or others
<olle>
Syntax errors being one annoyance
<olle>
I mean, not helpful error messages from the compiler
<wpcarro>
olle: I've committed quite a few syntax errors in the past 72h of playing around with ocaml
<wpcarro>
growing pains
<octachron>
For general recommandation, like with many smaller languages: it depends a lot on how deep are your dependency needs and how well they are served by the existing OCaml ecosystem compared to the amount of upfront investment you can afford.
<wpcarro>
we need to serialize/decode JSON, protobuf; read/write from/to databases; serve HTTP (and maybe grpc one day)
* wpcarro
thonking...
<wpcarro>
we're building a few factories to help automate machining, so it's not your standard web company
<octachron>
But once those difficulties are accounted for, OCaml has a full working type system, one of the best module system around, reasonable performance, and full support for incremental compilation.
<wpcarro>
also performance is not really an issue here (at least not now)
<wpcarro>
I'm mostly interested in OCaml because of its type system
<octachron>
Oh, yes. OCaml is somehow one of the few language with still working support for incremental compilation.
<wpcarro>
I thought about using Haskell here, but I think Haskell comes with too much baggage in my personal experience
<olle>
OCaml def is more pragmatic
<wpcarro>
:)
<wpcarro>
I like pragmatic these days
<olle>
Imagine being able to add a log statement without changing the function type...
* wpcarro
gasps
<wpcarro>
I worked at a Haskell shop for 2y and then switched to working at one of those big tech companies writing Java, Python, etc., which sobered me up quite a bit
<octachron>
For http server, I know that there are libraries supporting those, but it is a bit too far from my domains to have a really informed opinion on the matter.
<wpcarro>
octachron: what do you use ocaml for if you don't mind me asking
<octachron>
Writing the OCaml compiler those days
<wpcarro>
oh... lol
<wpcarro>
impressive :)
<wpcarro>
was looking at how to implement Algorithm W last night actually
<Anarchos>
wpcarro i use ocaml to develop a first order math verifier
bartholin has quit [Remote host closed the connection]
<zebrag>
No bridge anymore between here and the discord thing?
Anarchos has quit [Quit: Vision[]: i've been blurred!]
<companion_cube>
seems not :/
<wpcarro>
Anarchos oh that sounds difficult
<companion_cube>
years in the making
<sleepydog>
oh, has the bridge been down since august? i didn't realize
<olle>
Discord is such bloat...
<olle>
Matrix is slimmer, no?
<olle>
And #french :D
Anarchos has joined #ocaml
Anarchos has quit [Client Quit]
mro has joined #ocaml
<zebrag>
I suppose there is no harm in reasking questions I've already asked then, plus the formulation is different: Can you translate that to ocaml code: https://paste.debian.net/1256725/ (hint, generated from ocamlc -dparsetree hello.ml)
olle has quit [Ping timeout: 250 seconds]
mro has quit [Remote host closed the connection]
mro has joined #ocaml
<zebrag>
Hum seems I've had an answer discord side
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
mro has quit [Quit: Leaving...]
wingsorc has joined #ocaml
Serpent7776 has quit [Ping timeout: 244 seconds]
waleee has quit [Ping timeout: 260 seconds]
waleee has joined #ocaml
Tuplanolla has quit [Ping timeout: 252 seconds]
gentauro has quit [Read error: Connection reset by peer]