companion_cube changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.11 release notes: https://caml.inria.fr/pub/distrib/ocaml-4.11/notes/Changes | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
sillyotter has joined #ocaml
sillyotter has quit [Client Quit]
mxns has quit [Ping timeout: 265 seconds]
mxns has joined #ocaml
dhil has quit [Ping timeout: 240 seconds]
zebrag has quit [Quit: Konversation terminated!]
zebrag has joined #ocaml
Tuplanolla has quit [Quit: Leaving.]
cross has quit [Ping timeout: 260 seconds]
cross has joined #ocaml
kit_ty_kate has joined #ocaml
mxns has quit [Ping timeout: 246 seconds]
zolk3ri has quit [Remote host closed the connection]
Haudegen has quit [Ping timeout: 256 seconds]
osa1_ has joined #ocaml
osa1 has quit [Ping timeout: 256 seconds]
mxns has joined #ocaml
osa1_ has quit [Ping timeout: 240 seconds]
zebrag has quit [Quit: Konversation terminated!]
zebrag has joined #ocaml
mxns has quit [Ping timeout: 272 seconds]
zolk3ri has joined #ocaml
zolk3ri has quit [Quit: leaving]
zebrag has quit [Quit: Konversation terminated!]
zebrag has joined #ocaml
mxns has joined #ocaml
mfp_ has quit [Ping timeout: 256 seconds]
ygrek has joined #ocaml
ygrek has quit [Remote host closed the connection]
zebrag has quit [Quit: Konversation terminated!]
sleepydog has quit [Quit: ZNC 1.8.2 - https://znc.in]
sleepydog has joined #ocaml
sleepydog has quit [Quit: ZNC 1.8.2 - https://znc.in]
mxns has quit [Ping timeout: 264 seconds]
mxns has joined #ocaml
mxns has quit [Ping timeout: 264 seconds]
mxns has joined #ocaml
waleee-cl has quit [Quit: Connection closed for inactivity]
decentpenguin has quit [Read error: Connection reset by peer]
decentpenguin has joined #ocaml
arecaceae has quit [Remote host closed the connection]
arecaceae has joined #ocaml
<d_bot> <ulrikstrid> Is there some way to use deriving ppx as code generator?
osa1 has joined #ocaml
azot has quit [Remote host closed the connection]
<d_bot> <Kakadu> I'm not entirely understand the question..
azot has joined #ocaml
<d_bot> <ulrikstrid> I want to use ppx_deriving_X to generate code so that I don't have a dependency in the actual library
penguwin4 has joined #ocaml
jimt[m] has quit [*.net *.split]
avsm[m] has quit [*.net *.split]
RalfJ has quit [*.net *.split]
penguwin has quit [*.net *.split]
penguwin4 is now known as penguwin
decentpenguin has quit [*.net *.split]
madroach has quit [*.net *.split]
raver has quit [*.net *.split]
ewd has quit [*.net *.split]
_ks has quit [*.net *.split]
Jesin has quit [*.net *.split]
steenuil has quit [*.net *.split]
JSharp has quit [*.net *.split]
reynir has quit [*.net *.split]
seliopou has quit [*.net *.split]
schlaftier has quit [*.net *.split]
noonien has quit [*.net *.split]
chimay[m] has quit [*.net *.split]
octachron has quit [*.net *.split]
stux|RC-only has quit [*.net *.split]
Enjolras has quit [*.net *.split]
troydm has quit [*.net *.split]
infinity0 has quit [*.net *.split]
ec has quit [*.net *.split]
hannes has quit [*.net *.split]
motherfsck has quit [*.net *.split]
dinosaure has quit [*.net *.split]
Ekho has quit [*.net *.split]
Duns_Scrotus has quit [*.net *.split]
rak has quit [*.net *.split]
daimrod has quit [*.net *.split]
jca has quit [*.net *.split]
wagle has quit [*.net *.split]
webshinra has quit [*.net *.split]
labor[m] has quit [*.net *.split]
aspiwack[m] has quit [*.net *.split]
dash has quit [*.net *.split]
aecepoglu[m] has quit [*.net *.split]
artart78 has quit [*.net *.split]
breitenj has quit [*.net *.split]
mastensg has quit [*.net *.split]
brettgilio has quit [*.net *.split]
ocabot has quit [*.net *.split]
_habnabit has quit [*.net *.split]
avsm[m] has joined #ocaml
RalfJ has joined #ocaml
jimt[m] has joined #ocaml
Enjolras has joined #ocaml
ec has joined #ocaml
daimrod has joined #ocaml
troydm has joined #ocaml
infinity0 has joined #ocaml
Ekho has joined #ocaml
rak has joined #ocaml
dinosaure has joined #ocaml
jca has joined #ocaml
Duns_Scrotus has joined #ocaml
motherfsck has joined #ocaml
hannes has joined #ocaml
wagle has joined #ocaml
samoht[m] has quit [Ping timeout: 240 seconds]
flux has quit [Ping timeout: 240 seconds]
peddie has quit [Ping timeout: 244 seconds]
lnxw37d4 has quit [Ping timeout: 244 seconds]
decentpenguin has joined #ocaml
raver has joined #ocaml
ewd has joined #ocaml
JSharp has joined #ocaml
Jesin has joined #ocaml
schlaftier has joined #ocaml
steenuil has joined #ocaml
reynir has joined #ocaml
_ks has joined #ocaml
noonien has joined #ocaml
seliopou has joined #ocaml
jimt[m] has quit [Ping timeout: 258 seconds]
mxns has quit [Ping timeout: 242 seconds]
stux|RC-only has joined #ocaml
avsm[m] has quit [Ping timeout: 258 seconds]
Ekho has quit [Max SendQ exceeded]
smondet[m] has quit [Ping timeout: 240 seconds]
BitPuffin has quit [Ping timeout: 268 seconds]
pqwy[m] has quit [Ping timeout: 240 seconds]
<d_bot> <Kakadu> You can compile PPX rewriter as standalone executable and use it as external preprocessor. But this executable will still be dependent on actual library...
webshinra has joined #ocaml
breitenj has joined #ocaml
artart78 has joined #ocaml
mastensg has joined #ocaml
ocabot has joined #ocaml
brettgilio has joined #ocaml
_habnabit has joined #ocaml
madroach has joined #ocaml
JSharp has quit [Ping timeout: 250 seconds]
breitenj has quit [Max SendQ exceeded]
brettgilio has quit [Max SendQ exceeded]
brettgilio has joined #ocaml
breitenj has joined #ocaml
JSharp has joined #ocaml
octachron has joined #ocaml
<zozozo> some ppx used with dune support the [@derive_inline ***] annotation, which makes dune able to promote a version of the source file that has the derived code, and thus does not need to depend on the lib after that initial generation
rpcope has quit [Ping timeout: 246 seconds]
<d_bot> <Lupus> @octachron @Drup when is `%closure` emitted into OCaml bytecode? And what it means?
<d_bot> <Lupus> I'm reading through js_of_ocaml generate.ml and trying to figure out what primitives are JS specific, those that start with `%caml_js` are kind of selx-explanatory, but this `%closure` thing seems to be referencing other primitives? πŸ€”
<d_bot> <Lupus> *self-explanatory
rpcope has joined #ocaml
<d_bot> <Lupus> I wonder if there is any documentation on OCaml primitives that can appear in bytecode
Ekho has joined #ocaml
<d_bot> <ggole> There's a pdf floating around with documentation for each instruction, although I'm not sure how up-to-date it is. `closure` should be in there though.
<d_bot> <ggole> AFAICT it simply constructs a (nonrecursive) closure, the first argument being the code pointer and the second the number of fields to pull off the stack for the closed-over variables.
<d_bot> <ggole> That's based on squinting at some output of `-dinstr`.
azot has quit [Remote host closed the connection]
mxns has joined #ocaml
azot has joined #ocaml
samoht[m] has joined #ocaml
smondet[m] has joined #ocaml
flux has joined #ocaml
avsm[m] has joined #ocaml
<d_bot> <Lupus> Any chance to get a link to that pdf? πŸ™‚
lnxw37d4 has joined #ocaml
dash has joined #ocaml
aspiwack[m] has joined #ocaml
<d_bot> <Lupus> glancing at the code in generate.ml `%closure` is taking one string constant argument
<d_bot> <Lupus> and that Share thing is matching on this `%closure` here
<d_bot> <Lupus> and if argument to `%closure` was a primitive, it collects it in `Share` state
<d_bot> <Lupus> oh, looks like I found where it gets introduced!
aspiwack[m] has quit [Ping timeout: 268 seconds]
flux has quit [Ping timeout: 246 seconds]
lnxw37d4 has quit [Ping timeout: 244 seconds]
<d_bot> <Lupus> it's related to closure bytecode instructions as it seems
avsm[m] has quit [Ping timeout: 240 seconds]
smondet[m] has quit [Ping timeout: 240 seconds]
dash has quit [Ping timeout: 265 seconds]
samoht[m] has quit [Ping timeout: 258 seconds]
<d_bot> <Lupus> thanks @ggole !
Tuplanolla has joined #ocaml
labor[m] has joined #ocaml
peddie has joined #ocaml
mxns has quit [Ping timeout: 240 seconds]
aecepoglu[m] has joined #ocaml
jimt[m] has joined #ocaml
chimay[m] has joined #ocaml
BitPuffin has joined #ocaml
pqwy[m] has joined #ocaml
dhil has joined #ocaml
flux has joined #ocaml
aspiwack[m] has joined #ocaml
lnxw37d4 has joined #ocaml
avsm[m] has joined #ocaml
smondet[m] has joined #ocaml
samoht[m] has joined #ocaml
dash has joined #ocaml
tane has joined #ocaml
<d_bot> <gar> My understanding is that bytecode compilation is favored during development, for faster builds. Is that the way folks do things in practice? On the other hand, if you have a lot of PPXes, using them would be faster if they were native compiled. How much of a difference would this make in the real world? (I've got bazel code that supports such mixed-mode compilation, just wondering how useful it would be in practice.)
Haudegen has joined #ocaml
mxns has joined #ocaml
mxns has quit [Ping timeout: 272 seconds]
mfp_ has joined #ocaml
<d_bot> <mseri> I looked into that when I worked on xapi-project, with jbuilder and then dune it was so fast both in native and bytecode (and I talk about a couple of minutes for a fresh build) that we just went directly with the native
<d_bot> <mseri> I don’t know if this has changed recently but otherwise that was not a bottleneck for us
borne has joined #ocaml
olle_ has joined #ocaml
beajeanm has quit [Quit: The Lounge - https://thelounge.chat]
beajeanm has joined #ocaml
dhil has quit [Ping timeout: 240 seconds]
zebrag has joined #ocaml
<d_bot> <ggole> If you want to use the toplevel then bytecode compilation is pretty much necessary
borne has quit [Ping timeout: 272 seconds]
neiluj has joined #ocaml
neiluj has joined #ocaml
tjammer has joined #ocaml
olle_ has quit [Ping timeout: 240 seconds]
<d_bot> <hhugo> @Lupus %closure is a jsoo hack/optimization to optimize await functions that directly alias primitives / externals
azot has quit [Remote host closed the connection]
azot has joined #ocaml
arecaceae has quit [Remote host closed the connection]
arecaceae has joined #ocaml
tjammer[m] has joined #ocaml
tjammer has quit [Quit: terminated!]
mxns has joined #ocaml
<d_bot> <gar> @mseri That's sorta what I would expect with today's hardward. I guess it might make a difference to a fresh build of a huge project, but then with build caching for ongoing rebuilds it probably would not make a noticeable difference. Still it's kinda cool to have both compilation modes at once. πŸ˜‰
mbuf has joined #ocaml
neiluj has quit [Quit: leaving]
pkl has joined #ocaml
mxns has quit [Ping timeout: 264 seconds]
dhil has joined #ocaml
<d_bot> <undu> xen-api takes about a minute to build in CI, the whole of xapi-project takes around 14 minutes: https://github.com/xapi-project/xs-opam/runs/1892025356
arecaceae has quit [Remote host closed the connection]
arecaceae has joined #ocaml
sleepydog has joined #ocaml
mbuf has quit [Quit: Leaving]
<pkl> test
<pkl> In a project, I have a mix of multicore and standard OCaml code.
<pkl> Is it possible to configure dune so that it does not build the multicore parts unless I am using the multicore opam switch?
waleee-cl has joined #ocaml
gareppa has joined #ocaml
gareppa has quit [Remote host closed the connection]
mxns has joined #ocaml
mxns has quit [Ping timeout: 264 seconds]
olle_ has joined #ocaml
mxns has joined #ocaml
mxns has quit [Ping timeout: 256 seconds]
neiluj has joined #ocaml
neiluj has joined #ocaml
ewd has quit [Ping timeout: 240 seconds]
<sadiq> pkl, out of interest, which bits of multicore are you using that don't work on standard?
decentpe- has joined #ocaml
decentpenguin has quit [Ping timeout: 240 seconds]
decentpe- is now known as decentpenguin
<d_bot> <EduardoRFS> pkl, actually yes, you can get if it's multicore from the `ocaml --version` string, then build it conditionally in dune
olle_ has quit [Ping timeout: 264 seconds]
mxns has joined #ocaml
olle_ has joined #ocaml
indicator has joined #ocaml
<indicator> Very basic issue I thought I'd got over before: I've opam install'ed ptime, how do I load and use it in utop? I can do that via dune, but if I just run utop direct (because I have a compilation error, that's why I want to experiment in utop), I can't figure out how to do anything with ptime
<d_bot> <rgrinberg> `#require "ptime";;`
<indicator> ah that's it, thanks
borne has joined #ocaml
mxns has quit [Ping timeout: 246 seconds]
sm2n has quit [Quit: Leaving]
olle_ has quit [Ping timeout: 240 seconds]
mxns has joined #ocaml
indicator has left #ocaml ["ERC (IRC client for Emacs 27.1)"]
Jesin has quit [Quit: Leaving]
Jesin has joined #ocaml
Yagotzirck has joined #ocaml
Yagotzirck has quit [Quit: Leaving]
neiluj has quit [Quit: leaving]
borne has quit [Ping timeout: 264 seconds]
borne has joined #ocaml
sagax has quit [Quit: Konversation terminated!]
neiluj has joined #ocaml
neiluj has joined #ocaml
<d_bot> <mseri> Nice! Before we ported it to jbuilder (and then dune), it took over 10 minutes to build xen-api 😁 it was life changing
mxns has quit [Quit: ZNC 1.8.2 - https://znc.in]
vicfred has quit [Quit: Leaving]
vicfred has joined #ocaml
tane has quit [Quit: Leaving]
mxns has joined #ocaml