Leonidas changed the topic of #ocaml to: Discussion about the OCaml programming language | http://www.ocaml.org | OCaml 4.13.0 released: https://ocaml.org/releases/4.13.0.html | Try OCaml in your browser: https://try.ocamlpro.com | Public channel logs at https://libera.irclog.whitequark.org/ocaml/
<d_bot> <let Butanium = raise Not_found;;> You too !
<d_bot> <let Butanium = raise Not_found;;> I'm not sure what it is exactly but for example I saw this in CPP :
<d_bot> <let Butanium = raise Not_found;;> ```cpp
<d_bot> <let Butanium = raise Not_found;;> #pragma GCC optimize("O3","omit-frame-pointer","inline","unroll-loops")
<d_bot> <let Butanium = raise Not_found;;> ```
<d_bot> <Et7f3> Ah. OCaml only has those flags at file level
<d_bot> <Et7f3> This pragma has some -feature-flag
<d_bot> <let Butanium = raise Not_found;;> But as I don't understand this neither, any parameters to speed up a code that will run for hours is good to know
<d_bot> <Et7f3> I recall -ccopt -fomit-frame-pointer
<d_bot> <Et7f3> Inline might have [@inline] attribute
<d_bot> <Et7f3> Have you seen flambda ?
<d_bot> <let Butanium = raise Not_found;;> Nop
<d_bot> <let Butanium = raise Not_found;;> I guess I can first use flambda then
<d_bot> <let Butanium = raise Not_found;;> Does this work with dune ?
bartholin has quit [Quit: Leaving]
Everything has joined #ocaml
bobo_ has joined #ocaml
spip has quit [Ping timeout: 260 seconds]
<d_bot> <Et7f3> It should
Tuplanolla has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
rgrinberg has quit [Read error: Connection reset by peer]
rgrinberg has joined #ocaml
waleee has quit [Ping timeout: 240 seconds]
rgrinberg has quit [Read error: Connection reset by peer]
rgrinberg has joined #ocaml
slothby has joined #ocaml
<rgrinberg> companion_cube ocamllsp is using lev \o/
mbuf has joined #ocaml
<companion_cube> The libev bindings? :o
<companion_cube> Or did you mean luv?
<rgrinberg> my libev bindings
ralu has quit [Ping timeout: 240 seconds]
ralu has joined #ocaml
rgrinberg has quit [Read error: Connection reset by peer]
rgrinberg has joined #ocaml
xd1le has joined #ocaml
gravicappa has joined #ocaml
kaph has quit [Read error: Connection reset by peer]
Everything has quit [Quit: leaving]
kaph_ has joined #ocaml
xiongxin has joined #ocaml
vb has quit [Ping timeout: 240 seconds]
vb has joined #ocaml
kaph_ has quit [Quit: Leaving]
kaph has joined #ocaml
kaph_ has joined #ocaml
kaph_ has quit [Client Quit]
kaph has quit [Client Quit]
kaph has joined #ocaml
xiongxin has quit [Remote host closed the connection]
xiongxin has joined #ocaml
rgrinberg has quit [Ping timeout: 245 seconds]
xd1le has quit [Quit: xd1le]
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 268 seconds]
zcli has joined #ocaml
rgrinberg has joined #ocaml
zcli has quit [Quit: ERC 5.4.1 (IRC client for GNU Emacs 29.0.50)]
rgrinberg has quit [Ping timeout: 268 seconds]
shawnw has joined #ocaml
rgrinberg has joined #ocaml
dalek-caan has joined #ocaml
gravicappa has quit [Ping timeout: 268 seconds]
bartholin has joined #ocaml
mro has joined #ocaml
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 240 seconds]
mro has quit [Remote host closed the connection]
rgrinberg has joined #ocaml
mro has joined #ocaml
mro has quit [Ping timeout: 252 seconds]
rgrinberg has quit [Ping timeout: 268 seconds]
Tuplanolla has joined #ocaml
fcc977 has joined #ocaml
kaph has quit [Ping timeout: 240 seconds]
spip has joined #ocaml
bobo_ has quit [Ping timeout: 256 seconds]
mro has joined #ocaml
fcc977 has quit [Quit: Leaving]
kaph has joined #ocaml
mbuf has quit [Read error: Connection reset by peer]
mbuf has joined #ocaml
mro has quit [Ping timeout: 240 seconds]
mro has joined #ocaml
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 252 seconds]
gravicappa has joined #ocaml
mro has quit [Remote host closed the connection]
rgrinberg has joined #ocaml
mro has joined #ocaml
rgrinberg has quit [Ping timeout: 245 seconds]
mro has quit [Ping timeout: 240 seconds]
mro has joined #ocaml
mro has quit [Remote host closed the connection]
kaph has quit [Read error: Connection reset by peer]
kaph has joined #ocaml
xd1le has joined #ocaml
<hornhack> hi, is there example of using janestreet's In_channel safely? I can just .create then .close, I think?
<hornhack> ah nvm, I got it thankss
<hornhack> just one read_all solves everything
mro has joined #ocaml
ralu has quit [Ping timeout: 252 seconds]
mro has quit [Ping timeout: 256 seconds]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
waleee has joined #ocaml
ralu has joined #ocaml
ralu has quit [Read error: Connection reset by peer]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Read error: Connection reset by peer]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Read error: Connection reset by peer]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
shawnw has quit [Ping timeout: 240 seconds]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
mro has joined #ocaml
xiongxin has quit [Ping timeout: 252 seconds]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
ralu has joined #ocaml
ralu has quit [Remote host closed the connection]
rgrinberg has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
rgrinberg has quit [Ping timeout: 260 seconds]
mro has quit [Remote host closed the connection]
mro has joined #ocaml
mro has quit [Remote host closed the connection]
xd1le has quit [Quit: xd1le]
mro has joined #ocaml
hexology has joined #ocaml
Anarchos has joined #ocaml
mro has quit [Remote host closed the connection]
perrierjouet has quit [Quit: WeeChat 3.4]
mbuf has quit [Quit: Leaving]
Anarchos has quit [Quit: Vision[]: i've been blurred!]
perrierjouet has joined #ocaml
<d_bot> <gabenpls> hey guys so i'm new to ocaml and before i learn a technology i like to hear its critics first. how much of ocaml's criticisms are still valid? what are its biggest issues (besides multicore)?
<d_bot> <gabenpls> *i should say before i get invested in a technology
<d_bot> <Abbix> tbh critics don't matter
<d_bot> <Abbix> if you like the language, then it's good for you
<d_bot> <Et7f3> Separation of tool: opam/esy + dune/ocamlbuild/make seem to still hurt (even with some starter template and tool that generate config esy/pesy or spin)
<d_bot> <Et7f3> Require a unix env: OCaml require m4/bash, most package use unix and aren't cross platform outside the box (it is improving slowly)
<d_bot> <Et7f3> Historic with rescript/reason: reason is another language but use either rescript toolchain or ocaml toolchain. Rescript is another language that is compatible in certain way to OCaml with melange but essentially hard fork.
<d_bot> <Et7f3> well ocamlbuild is very rare this day but not totally absent. Their is also topkg.
perrierjouet has quit [Quit: WeeChat 3.4]
<d_bot> <octachron> I don't think anyone except Daniel (topkg author) is using topkg nowadays.
<d_bot> <octachron> For any newcomer, opam + dune (or maybe esy + dune) is the consensual choice.
<d_bot> <gabenpls> @Et7f3i quickly discovered dune and it works fairly well, no issues there.
<d_bot> <gabenpls> i think, based on my short research, that the ocaml ecosystem is kind of fragmented. do you think it has anything to do with the lgpl license?
dalek-caan has quit [Quit: dalek-caan]
<d_bot> <Et7f3> Dune works well for sure. It is just that if you work on others project you might not have dune. Why3 for instance. Or some old material. They integrate many feature out of the box. But for instance testing story their are multiple tests framework. In go it is the compiler that decides
<d_bot> <Et7f3> I also use dune for other non-ocaml project. So no issue their.
<Corbin> gabenpls: What are you thinking of building?
<d_bot> <octachron> I don't think that the mild fragmentation (aka there is some possible choice of libraries) has anything to do with the lgpl license.
drewolson has quit [Quit: The Lounge - https://thelounge.chat]
drewolson has joined #ocaml
perrierjouet has joined #ocaml
drewolson has quit [Client Quit]
drewolson has joined #ocaml
<d_bot> <gabenpls> a compiler, but i'm learning the language first
<d_bot> <gabenpls> but also i'm just wondering why ocaml isn't more popular in general
<d_bot> <glennsl> Too much choice and too little time, so most people are driven by "hype" more than anything else.
<d_bot> <glennsl> And OCaml has quite a few papercuts that make it more difficult to get started with
<d_bot> <glennsl> But once you get over those, there's not really that much to complain about
<d_bot> <glennsl> Especially for a compiler, which is probably the perfect use case for OCaml
<Corbin> Popularity isn't a value judgement, but a metric. Even if the perfect language were to be published today, I estimate that it could take over a decade to get even moderately popular.
<d_bot> <glennsl> Still, lack of good documentation and perhaps lack of first-class Unicode support might be a bit of a hindrance
<Corbin> For example, here's my notes on the question of whether a language developed in 2019 could get to the top of the TIOBE list by 2027: https://gist.github.com/MostAwesomeDude/b9264288abd533039a64d3b242998c19
mro has joined #ocaml
<d_bot> <gabenpls> nice article
<d_bot> <gabenpls> i think the reason a language becomes popular is because it targets a specific niche and does a good job
<d_bot> <gabenpls> i feel like if a language is general purpose and doesn't cater to specific niches, it won't go anywhere.
<d_bot> <gabenpls> not saying ever language *needs* to be popular...
<d_bot> <gabenpls> so i guess i'll just stick to ocaml for compilers and nothing else then 😛
<Corbin> Sure. And there are plenty of languages that are not popular, in the sense that we don't write KLoC of reusable modules/libraries in them, but they're still important. I don't regret learning awk or jq, for example.
<d_bot> <gabenpls> true, so what niches is ocaml popular in (besides compilers)
<d_bot> <gabenpls> also, when multicore support gets added in, do we expect ocaml to be used more with various use cases?
<d_bot> <roddy> Multicore support is very cool but I will be surprised if it significantly increases the number of OCaml users. Like Python and JavaScript, OCaml works fine for most usecases without it
<Corbin> I know that it's popular with some financial trading firms, but I'm not sure if there's anything about OCaml which fuels that.
<companion_cube> we can also forget about TIOBE altogether
<companion_cube> for finance, I think it's because you need both correctness and performance there, and OCaml delivers a reasonable deal on both
gravicappa has quit [Ping timeout: 256 seconds]
mro has quit [Remote host closed the connection]
mro has joined #ocaml
x88x88x has quit [Remote host closed the connection]
x88x88x has joined #ocaml
ralu has joined #ocaml
reynir has quit [Ping timeout: 268 seconds]
pieguy128 has quit [Quit: ZNC 1.8.2 - https://znc.in]
spip has quit [Ping timeout: 240 seconds]
spip has joined #ocaml
pieguy128 has joined #ocaml
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 250 seconds]
mro has quit [Quit: Leaving...]
rgrinberg has joined #ocaml
bartholin has quit [Quit: Leaving]