companion_cube changed the topic of #ocaml to: Discussion about the OCaml programming language | http://www.ocaml.org | OCaml 4.12 released: https://ocaml.org/releases/4.12.0.html | Try OCaml in your browser: https://try.ocamlpro.com | Public channel logs at https://libera.irclog.whitequark.org/ocaml/
hex0punk has quit [Ping timeout: 268 seconds]
hex0punk has joined #ocaml
hex0punk has quit [Ping timeout: 272 seconds]
dhil has quit [Ping timeout: 268 seconds]
dmbaturin has quit [Ping timeout: 264 seconds]
dmbaturin has joined #ocaml
wagle has quit [Ping timeout: 272 seconds]
manicennui has joined #ocaml
wagle has joined #ocaml
wagle has quit [Ping timeout: 268 seconds]
wagle has joined #ocaml
<wagle> how fo i get an invitation to the ocaml zulip channel, or do I?
<dy> Has anyone managed to get multicore ocaml 4.12 with effects working with Merlin/ocaml-lsp-server?
<dy> Tried to do so a few weeks back but it kept crashing. (Works fine with the domains only build, just not the effects one.)
<dy> I also struggled to get the repository actually working as an "overlay".
<dy> opam seemed to mostly just ignore what's in the multicore repo when there was a newer version in the default repo.
hex0punk has joined #ocaml
vicfred has quit [Quit: Leaving]
orc has joined #ocaml
hex0punk has quit [Ping timeout: 268 seconds]
hex0punk has joined #ocaml
hex0punk has quit [Ping timeout: 268 seconds]
hex0punk has joined #ocaml
hex0punk has quit [Ping timeout: 265 seconds]
hex0punk has joined #ocaml
zebrag has quit [Quit: Konversation terminated!]
hex0punk has quit [Ping timeout: 268 seconds]
hex0punk has joined #ocaml
noddy has quit [Quit: WeeChat 3.1]
noddy has joined #ocaml
hex0punk has quit [Ping timeout: 268 seconds]
hex0punk has joined #ocaml
vicfred has joined #ocaml
hex0punk has quit [Ping timeout: 264 seconds]
orc has left #ocaml [#ocaml]
favonia has joined #ocaml
hex0punk has joined #ocaml
favonia_ has joined #ocaml
hex0punk has quit [Ping timeout: 268 seconds]
hexology has joined #ocaml
favonia_ has quit [Ping timeout: 268 seconds]
favonia_ has joined #ocaml
favonia_ has quit [Client Quit]
favonia_ has joined #ocaml
favonia_ has quit [Client Quit]
hex0punk has joined #ocaml
favonia_ has joined #ocaml
favonia_ has quit [Client Quit]
favonia_ has joined #ocaml
favonia has quit [Quit: X]
hex0punk has quit [Ping timeout: 252 seconds]
hex0punk has joined #ocaml
hex0punk has quit [Ping timeout: 264 seconds]
hex0punk has joined #ocaml
hex0punk has quit [Ping timeout: 264 seconds]
favonia_ has quit [Quit: Leaving]
mro has joined #ocaml
hex0punk has joined #ocaml
hex0punk has quit [Ping timeout: 268 seconds]
favonia has joined #ocaml
favonia has quit [Client Quit]
favonia has joined #ocaml
favonia has quit [Client Quit]
wonko has joined #ocaml
wonko has quit [Changing host]
wonko has joined #ocaml
favonia has joined #ocaml
favonia has quit [Client Quit]
favonia has joined #ocaml
favonia_ has joined #ocaml
favonia_ has quit [Client Quit]
hex0punk has joined #ocaml
vicfred has quit [Quit: Leaving]
hex0punk has quit [Ping timeout: 264 seconds]
hex0punk has joined #ocaml
hex0punk has quit [Ping timeout: 264 seconds]
hex0punk has joined #ocaml
hex0punk has quit [Ping timeout: 272 seconds]
bartholin has joined #ocaml
hex0punk has joined #ocaml
hex0punk has quit [Ping timeout: 264 seconds]
Johann has quit [Quit: I probably failed]
Johann has joined #ocaml
<sadiq> dy, could you create us an issue in the for the crash on the ocaml-multicore github repo?
hex0punk has joined #ocaml
hex0punk has quit [Ping timeout: 268 seconds]
mro has quit [Ping timeout: 244 seconds]
hex0punk has joined #ocaml
hex0punk has quit [Ping timeout: 272 seconds]
dhil has joined #ocaml
mro has joined #ocaml
hex0punk has joined #ocaml
hex0punk has quit [Ping timeout: 264 seconds]
berberman_ has joined #ocaml
berberman has quit [Ping timeout: 268 seconds]
noisy-bot has joined #ocaml
kakadu has joined #ocaml
<d_bot> <Ulugbek> Hi. There's no 4.12.0 flambda?
noisy-bot has quit [Remote host closed the connection]
<Fardale> Starting fron 4.12 there is a new way to handle compiler option. For flambda you have ocaml-option-flambda
<vsiles> Fardale: so from 4.12.0 we no longer need a different compiler to use flambda or not, only CLI options ?
<d_bot> <octachron> There is some explanation at https://ocaml.org/releases/4.12.0.html
<d_bot> <octachron> In short, installing a flambda-enabled compiler is now done with:
<d_bot> <octachron> `opam switch create 4.12.0+flambda --package=ocaml-variants.4.12.0+options,ocaml-option-flambda`
<d_bot> <Ulugbek> thanks! 🙂
kakadu has quit [Ping timeout: 265 seconds]
hex0punk has joined #ocaml
<vsiles> octachron: iiuc it is only the way to install the compiler that changed. We can't do `opam switch create 4.12.0` and then `ocaml -set-some-flambda-options`, we have to setup the right switch from the start. Am I understanding that correctly ?
<d_bot> <craigfe> vsiles: whether or not to use `flambda` is a configure-time option of OCaml, so you need to rebuild the compiler to switch between these modes.
<octachron> Yes. Flambda is still a configuration-time option. It is just a simpler way to choose a set of configuration options.
hex0punk has quit [Ping timeout: 268 seconds]
<Fardale> vsiles: you can change inside a switch but you will recompile everything
hex0punk has joined #ocaml
mbuf has joined #ocaml
hex0punk has quit [Ping timeout: 264 seconds]
Techcable has quit [Quit: ZNC - https://znc.in]
Techcable has joined #ocaml
mro has quit [Remote host closed the connection]
favonia has quit [Quit: The Lounge - https://thelounge.chat]
hex0punk has joined #ocaml
mro has joined #ocaml
hex0punk has quit [Ping timeout: 264 seconds]
favonia has joined #ocaml
salkin has joined #ocaml
mro has quit [Ping timeout: 268 seconds]
<vsiles> thanks for the clarification
olle has joined #ocaml
olle has quit [Quit: leaving]
mro has joined #ocaml
olle has joined #ocaml
mro has quit [Ping timeout: 265 seconds]
hex0punk has joined #ocaml
Haudegen has joined #ocaml
hex0punk has quit [Ping timeout: 264 seconds]
zebrag has joined #ocaml
<vsiles> very naive question: do I get the same behavior from the compiler if I setup my switch we 4.12.0 vs `opam switch create 4.12.0+flambda --package=ocaml-variants.4.12.0+options,ocaml-option-flambda but without passing any option to use flambda at compile time ?
<vsiles> we're not using flambda at the moment, but some people would like to try. Asking for our next update, we might just get a flambda aware compiler even if we don't use it, if the impact is minimal
hex0punk has joined #ocaml
hex0punk has quit [Ping timeout: 265 seconds]
<octachron> Not completely, flambda is always active and have slightly different performance characteristics even without optimization flags (like `-O1`, ...).
<octachron> Typically, some code-generated opam packages are closer to the breaking point with flambda.
mro has joined #ocaml
mro has quit [Ping timeout: 264 seconds]
hex0punk has joined #ocaml
hex0punk has quit [Ping timeout: 268 seconds]
<vsiles> thanks
hex0punk has joined #ocaml
rks` has joined #ocaml
hex0punk has quit [Ping timeout: 268 seconds]
<olle> How about a tool that automatically splits a function into its most general parts, when possible?
mro has joined #ocaml
mro has quit [Ping timeout: 268 seconds]
hex0punk has joined #ocaml
<olle> Damn, no one did that? Nothing on google.
hex0punk has quit [Ping timeout: 252 seconds]
mbuf has quit [Quit: Leaving]
<vsiles> "most general parts" ?
<olle> vsiles: like, if it's possible to generalize anything in the function to 'a instead of <whatever type used>
<olle> But, with lack of inheritance and subtyping. :d
<olle> Maybe doesn't make much sense.
<zozozo> olle: well, if there are no type annotations in the source code, the compiler will automatically infer the most general type for everything
<vsiles> yep
<vsiles> I confirm that
mro has joined #ocaml
hex0punk has joined #ocaml
mro has quit [Ping timeout: 265 seconds]
<olle> zozozo: True, but it can't do so much.
hex0punk has quit [Ping timeout: 264 seconds]
engil has joined #ocaml
<companion_cube> olle: what's your concrete use case
<olle> companion_cube: same as on the forum
<olle> have function read_line_to_filename should be split into read_line and filename_of_string
<olle> But, no way to detect such a code smell automatically?
<zozozo> olle: I don't see any way to do this automatically
<zozozo> it's more of a problem of: 1) structure of the exposed API (for the mli), and 2) code factoring (for the ml)
wonko has quit [Remote host closed the connection]
<zozozo> you might try and detect code that is duplicated in a large enough codebase I guess ?
mro has joined #ocaml
favonia has quit [Quit: Ping timeout (120 seconds)]
<d_bot> <salt rock lamp> could also look for type transitions
favonia has joined #ocaml
<d_bot> <salt rock lamp> heuristically maybe it's possible to group code into "filename code" and "reading line code"
mro has quit [Ping timeout: 272 seconds]
_whitelogger has joined #ocaml
<companion_cube> so if you write `let foobar x = f (g x)`
<companion_cube> do you want it to be extracted back into f and g?
<companion_cube> because, well, it's "duplicated"
<labor[m]> I did a toy language which may interests you olle: https://trydddddml.zapashcanon.fr/
favonia has quit [Ping timeout: 268 seconds]
wagle has quit [Ping timeout: 268 seconds]
krnkktz has quit [Ping timeout: 268 seconds]
berberman_ has quit [Ping timeout: 268 seconds]
Tuplanolla has joined #ocaml
manicennui has quit [Ping timeout: 268 seconds]
ruffy_ has quit [Ping timeout: 268 seconds]
wagle has joined #ocaml
<olle> labor[m]: hm, why?
berberman has joined #ocaml
engil has quit [Ping timeout: 268 seconds]
bartholin has quit [Ping timeout: 268 seconds]
<olle> companion_cube: dunno ^^
engil has joined #ocaml
manicennui has joined #ocaml
ruffy_ has joined #ocaml
bartholin has joined #ocaml
hex0punk has joined #ocaml
<olle> Guess you can have a threshold for short snippets like that
dmbaturin has quit [*.net *.split]
Tuplanolla has quit [*.net *.split]
farn has quit [*.net *.split]
mro has joined #ocaml
dmbaturin has joined #ocaml
hex0punk has quit [Ping timeout: 272 seconds]
krnkktz has joined #ocaml
Tuplanolla has joined #ocaml
farn has joined #ocaml
hex0punk has joined #ocaml
favonia has joined #ocaml
hex0punk has quit [Ping timeout: 268 seconds]
hex0punk has joined #ocaml
hex0punk has quit [Ping timeout: 264 seconds]
hex0punk has joined #ocaml
hex0punk has quit [Ping timeout: 264 seconds]
Haudegen has quit [Quit: Bin weg.]
waleee has joined #ocaml
favonia has quit [Quit: The Lounge - https://thelounge.chat]
zebrag has quit [Remote host closed the connection]
hex0punk has joined #ocaml
hex0punk has quit [Ping timeout: 268 seconds]
hex0punk has joined #ocaml
olle has quit [Ping timeout: 265 seconds]
mro has quit [Remote host closed the connection]
mro has joined #ocaml
hex0punk has quit [Ping timeout: 264 seconds]
mro has quit [Ping timeout: 244 seconds]
bartholin has quit [Quit: Leaving]
<d_bot> <Kakadu> Folks, do you know symbolic executors that can chew over OCaml programs?
hex0punk has joined #ocaml
waleee has quit [Ping timeout: 264 seconds]
waleee has joined #ocaml
Haudegen has joined #ocaml
mro has joined #ocaml
wonko has joined #ocaml
ulyssa has joined #ocaml
hex0punk has quit [Ping timeout: 265 seconds]
hex0punk has joined #ocaml
mro has quit [Ping timeout: 268 seconds]
waleee has quit [Ping timeout: 268 seconds]
waleee has joined #ocaml
hex0punk has quit [Ping timeout: 272 seconds]
gareppa has joined #ocaml
<v0idpwn> I wrote a library using esy. Now I want to release it. What's the recommended workflow for that?
gareppa has quit [Quit: Leaving]
vicfred has joined #ocaml
mro has joined #ocaml
mro has quit [Ping timeout: 264 seconds]
mro has joined #ocaml
mro has quit [Remote host closed the connection]
favonia has joined #ocaml
favonia has quit [Client Quit]
favonia has joined #ocaml
favonia has quit [Client Quit]
mro has joined #ocaml
favonia has joined #ocaml
favonia has quit [Client Quit]
favonia has joined #ocaml
favonia has quit [Client Quit]
favonia has joined #ocaml
favonia has quit [Client Quit]
favonia has joined #ocaml
zebrag has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
favonia has quit [Quit: The Lounge - https://thelounge.chat]
mro has quit [Remote host closed the connection]
favonia has joined #ocaml
Guest2568 has joined #ocaml
Anarchos has joined #ocaml
favonia has quit [Client Quit]
favonia has joined #ocaml
noisy-bot has joined #ocaml
habnabit_ has joined #ocaml
noisy-bot has quit [Remote host closed the connection]
mro has joined #ocaml
noisy-bot has joined #ocaml
hex0punk has joined #ocaml
<dinosaure>  /
wonko has quit [Ping timeout: 244 seconds]
mro has quit [Ping timeout: 244 seconds]
hex0punk has quit [Ping timeout: 264 seconds]
cedric has joined #ocaml
hex0punk has joined #ocaml
favonia has quit [Quit: The Lounge - https://thelounge.chat]
favonia has joined #ocaml
favonia has quit [Quit: The Lounge - https://thelounge.chat]
favonia has joined #ocaml
favonia has quit [Client Quit]
favonia has joined #ocaml
Anarchos has quit [Quit: Vision[0.10.3]: i've been blurred!]
favonia has quit [Client Quit]
favonia has joined #ocaml
Anarchos has joined #ocaml
hex0punk has quit [Ping timeout: 272 seconds]
dhil has quit [Quit: Leaving]
favonia has quit [Client Quit]
favonia has joined #ocaml
Anarchos has quit [Client Quit]
hex0punk has joined #ocaml
<eight> Does the order of evaluation for arguments matter for function application ?
<d_bot> <dinosaure> the order of the evaluation is not specified by the language
hex0punk has quit [Ping timeout: 264 seconds]
<d_bot> <dinosaure> but I think, you can "enforce" the order via `unit` with `fun x -> (); fun y -> x + y`
<d_bot> <dinosaure> I already seen such trick - however, I'm not sure that it's really relevant
<eight> I see
<eight> Thanks for the tip, really interesting
<companion_cube> yikes
<companion_cube> I guess it can be useful, it's just a hack, and will also probably allocate more closures
noisy-bot has quit [Remote host closed the connection]
Haudegen has quit [Ping timeout: 264 seconds]
Haudegen has joined #ocaml
Tuplanolla has quit [Quit: Leaving.]
cedric has quit [Quit: Konversation terminated!]
salkin has quit [Ping timeout: 272 seconds]
hex0punk has joined #ocaml
hex0punk has quit [Ping timeout: 272 seconds]
Haudegen has quit [Ping timeout: 244 seconds]
drakonis1 has joined #ocaml
drakonis1 has quit [Client Quit]