adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.09 release notes: https://caml.inria.fr/pub/distrib/ocaml-4.09/notes/Changes | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
Haudegen has quit [Quit: Bin weg.]
rwmjones has quit [Ping timeout: 265 seconds]
ollehar has quit [Ping timeout: 240 seconds]
ollehar has joined #ocaml
rwmjones has joined #ocaml
_whitelogger has joined #ocaml
inkbottle has joined #ocaml
zebrag has quit [Ping timeout: 265 seconds]
_whitelogger has joined #ocaml
nullcone has quit [Quit: Connection closed for inactivity]
c4264035 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Haudegen has joined #ocaml
Haudegen has quit [Ping timeout: 256 seconds]
waleee-cl has quit [Quit: Connection closed for inactivity]
c4264035 has joined #ocaml
g0d_shatter has quit [Quit: Leaving]
t-j-r has joined #ocaml
t-j-r has quit [Changing host]
troydm has quit [Ping timeout: 258 seconds]
g0d_shatter has joined #ocaml
mfp has quit [Ping timeout: 256 seconds]
rig0rmor_ has joined #ocaml
nullcone has joined #ocaml
<d_bot> <dj charlie> @Bluddy the problem is that i'd like to refer to it in the code generation
<d_bot> <dj charlie> instead of using it as a runtime thing
troydm has joined #ocaml
troydm has quit [Client Quit]
troydm has joined #ocaml
reynir has quit [Ping timeout: 260 seconds]
reynir has joined #ocaml
troydm has quit [Ping timeout: 246 seconds]
g0d_shatter has quit [Read error: Connection reset by peer]
rig0rmor_ has quit [Quit: Textual IRC Client: www.textualapp.com]
_whitelogger has joined #ocaml
<d_bot> <Bluddy> well if the code generation runs on the same platform as the runtime, you'll have access to the correct value, right?
c4264035 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
c4264035 has joined #ocaml
c4264035 has quit [Client Quit]
narimiran has joined #ocaml
vicfred has quit [Quit: Leaving]
Serpent7776 has joined #ocaml
malc_ has joined #ocaml
Haudegen has joined #ocaml
vicfred has joined #ocaml
borne_ has joined #ocaml
vicfred has quit [Max SendQ exceeded]
vicfred has joined #ocaml
vicfred has quit [Max SendQ exceeded]
vicfred has joined #ocaml
vicfred has quit [Client Quit]
bartholin has quit [Quit: Leaving]
bartholin has joined #ocaml
g0d_shatter has joined #ocaml
ggole has joined #ocaml
osa1 has joined #ocaml
pippijn has quit [Ping timeout: 240 seconds]
srax has quit [Ping timeout: 240 seconds]
g0d_shatter has quit [Quit: Leaving]
pippijn has joined #ocaml
olle has joined #ocaml
srax has joined #ocaml
bartholin has quit [Quit: Leaving]
<Putonlalla> I have a project that features a rather unorthodox mixture of languages and the only build system they have in common is Make. Can you recommend some resources on the proper use of Make (not just GNU Make) in an OCaml project?
reynir has quit [Ping timeout: 246 seconds]
reynir has joined #ocaml
<def> Putonlalla: in my experience, http://mmottl.github.io/ocaml-makefile/ is very good but GNU Make specific
jnavila has joined #ocaml
<malc_> Putonlalla: in my experience no only Shake is powerful enough to handle idiosyncrasies of OCaml, all the rest can handle the language only with ad-hoc hacks
<malc_> -no
<Putonlalla> I'm fine with hacks until Dune catches up.
<malc_> Putonlalla: given your requirement of not being GNU, you are out of luck
<def> yop, you have to resort to hacks in makefiles but (1) in practice they cause more rebuild than necessary, (2) it is possible to get the build to work well in the sequential case (make -j1), (3) I never got an incorrect build, at worst I had to clean and rebuild (rarely though)
<malc_> unexcuzable and inaceptabel
<Putonlalla> The project is built like this: http://users.jyu.fi/~sapekiis/tmp/habitat.svg
<def> :|
<malc_> even my 4k monitor is not enough to handle that beauty
<malc_> Paskaa in other words if you will excuse my french
<Putonlalla> I blame GraphViz for that.
<Putonlalla> (It does fit if you stretch it across dual monitors.)
<malc_> i have but one
<flux> get one of those 32:9 ultrawide ones :)
<adrien> you should try to look at gstreamer pipelines
jbrown has joined #ocaml
<gahr> anybody noticed dune not printing a final \n before terminating?
<rgrinberg> We're aware. I'll have a look at this bug for the 2.9 cycle (unless someone beats me to it)
<gahr> thanks
<gahr> do you have an issue for that?
<gahr> ah, found it
inkbottle has quit [Remote host closed the connection]
inkbottle has joined #ocaml
nullcone has quit [Quit: Connection closed for inactivity]
<malc_> flux: i have diplopia, even one is one too wide for me
tizoc has quit [Quit: Coyote finally caught me]
tizoc has joined #ocaml
osa1 has quit [Ping timeout: 240 seconds]
dhil has joined #ocaml
_whitelogger has joined #ocaml
mfp has joined #ocaml
osa1 has joined #ocaml
dhil has quit [Ping timeout: 265 seconds]
malc_ has quit [Remote host closed the connection]
malc_ has joined #ocaml
malc_ has quit [Ping timeout: 272 seconds]
<Putonlalla> This OCamlMakefile seems to be more of a package deal than something I could adapt.
pgiarrusso has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
dhil has joined #ocaml
rowbee has quit [Ping timeout: 256 seconds]
<Putonlalla> At least the diagram should now fit onto your monitors.
worc3131 has quit [Ping timeout: 240 seconds]
<Drup> the ocamlmakefile is indeed rather unflexible, and complicated, and a bit deprecated, really
dhil has quit [Ping timeout: 240 seconds]
dhil has joined #ocaml
<d_bot> <Christophe> "paskaa" ? Finn in hiding ?
labor[m] has quit [Quit: killed]
defolos has quit [Quit: killed]
BitPuffin has quit [Quit: killed]
peddie has quit [Quit: killed]
swapnilraj[m] has quit [Quit: killed]
Manis[m] has quit [Quit: killed]
jimt[m] has quit [Quit: killed]
dash has quit [Quit: killed]
lnxw37d4 has quit [Quit: killed]
aspiwack[m] has quit [Quit: killed]
aecepoglu[m] has quit [Quit: killed]
swapnilrajOld[m] has quit [Quit: killed]
flux has quit [Quit: killed]
ansiwen[m] has quit [Quit: killed]
camlriot42 has quit [Quit: killed]
<d_bot> <Christophe> Oh I remember now why at some point I had IRC on at the same time, no way to know who's connected from Discord
swapnilraj[m] has joined #ocaml
Haudegen has joined #ocaml
flux has joined #ocaml
jimt[m] has joined #ocaml
BitPuffin has joined #ocaml
aspiwack[m] has joined #ocaml
defolos has joined #ocaml
peddie has joined #ocaml
ansiwen[m] has joined #ocaml
camlriot42 has joined #ocaml
labor[m] has joined #ocaml
dash has joined #ocaml
aecepoglu[m] has joined #ocaml
lnxw37d4 has joined #ocaml
Manis[m] has joined #ocaml
swapnilrajOld[m] has joined #ocaml
ldbeth has joined #ocaml
waleee-cl has joined #ocaml
malc_ has joined #ocaml
rowbee has joined #ocaml
spew has joined #ocaml
ldbeth` has joined #ocaml
ldbeth has quit [Ping timeout: 260 seconds]
dckc has quit [Ping timeout: 240 seconds]
osa1 has quit [Ping timeout: 240 seconds]
dckc has joined #ocaml
osa1 has joined #ocaml
<flux> finns just have the best swear words, possibly next the (rest of the) eastern block
troydm has joined #ocaml
nullcone has joined #ocaml
kanishka has joined #ocaml
kanishka has quit [Client Quit]
ldbeth` has quit [Ping timeout: 240 seconds]
<Putonlalla> I'm drawn towards writing a dumb Make file that always compiles everything and then writing a more sensible build system for each component with Dune.
<Putonlalla> Slow is better than wrong.
<malc_> Putonlalla: why doing it in Make then? shell script ought to be better
<Putonlalla> Because I already use one generated by Coq.
<malc_> what was the question again?
<Putonlalla> "Can you recommend some resources on the proper use of Make (not just GNU Make) in an OCaml project?"
<malc_> Putonlalla: oh no idea then, mainly because "proper use" too vague
<Putonlalla> If the answer is "don't even try", that's fine too.
<malc_> Putonlalla: i would never use Make myself
<malc_> and i don't
osa1_ has joined #ocaml
osa1_ has quit [Client Quit]
narimiran has quit [Ping timeout: 260 seconds]
<d_bot> <Et7f3> I haven't tested if it build to much but it seem like https://github.com/rescript-lang/syntax/blob/d1534474564eaa2af07c546e41eb8e60a85e3a44/Makefile#L10 does definitely the trick
<d_bot> <Et7f3> ocamldepend is runned even if no file are changed but it should be fast enough to consider as no-op
borne_ has quit [Ping timeout: 240 seconds]
malc_ has quit [Ping timeout: 246 seconds]
rig0rmortis has joined #ocaml
osa1 has quit [Ping timeout: 258 seconds]
osa1 has joined #ocaml
osa1 has quit [Ping timeout: 264 seconds]
osa1 has joined #ocaml
osa1 has quit [Ping timeout: 260 seconds]
osa1 has joined #ocaml
reynir has quit [Ping timeout: 265 seconds]
c4264035 has joined #ocaml
reynir has joined #ocaml
osa1_ has joined #ocaml
osa1 has quit [Ping timeout: 246 seconds]
c4264035 has quit [Ping timeout: 260 seconds]
rig0rmortis has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
gareppa has joined #ocaml
gareppa has quit [Remote host closed the connection]
olle has quit [Ping timeout: 256 seconds]
vicfred has joined #ocaml
borne_ has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
webshinra has joined #ocaml
rig0rmortis has joined #ocaml
Haudegen has joined #ocaml
dhil has quit [Ping timeout: 256 seconds]
kleisli has joined #ocaml
Tuplanolla has joined #ocaml
Hrundi_V_Bakshi has joined #ocaml
Hrundi_V_Bakshi has quit [Quit: No Ping reply in 180 seconds.]
Hrundi_V_Bakshi has joined #ocaml
wagle has quit [Remote host closed the connection]
wagle has joined #ocaml
narimiran has joined #ocaml
<d_bot> <Lupus> if I say that OCaml deduces record types solely by picking last record defined with matching field names, will that be correct?
<d_bot> <Lupus> this sketch shows that this is likely true? https://sketch.sh/s/QUbSeBTsKBnVypUIvoVJws/
<d_bot> <Lupus> `let { name } = person`
<d_bot> <Lupus> type for record on the left seems to be deduced first, producing HM constraint that run into a conflict with inferred type for person (which is explicitly annotated with type above, so it's not really inferred)
inkbottle has quit [Ping timeout: 240 seconds]
inkbottle has joined #ocaml
<Tuplanolla> That Make file is a good find.
malc_ has joined #ocaml
c4264035 has joined #ocaml
c4264035 has quit [Client Quit]
c4264035 has joined #ocaml
malc_ has left #ocaml ["ERC (IRC client for Emacs 28.0.50)"]
<rgrinberg> Putonlalla if at all possible, what would work best is to build the OCaml targets with dune and then just wrap `dune build` commands in the makefile to build the targets the rest of the project needs.
osa1_ has quit [Ping timeout: 260 seconds]
<rgrinberg> If you value correctness and your project isn't trivial, ocamlmakefile isn't a real option
c4264035 is now known as ransom
<Tuplanolla> That's a sensible idea, rgrinberg, although at that point I could even wrap shell commands in the Dune build.
ransom has quit [Quit: Textual IRC Client: www.textualapp.com]
ransom has joined #ocaml
<rgrinberg> You could. But I'm assuming the rest of your team is already using make for this large project, so it seems like going the other way will have less of an impact on workflows.
ransom has quit [Ping timeout: 240 seconds]
narimiran has quit [Ping timeout: 264 seconds]
bartholin has joined #ocaml
ransom has joined #ocaml
ransom has quit [Ping timeout: 260 seconds]
rig0rmortis has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rig0rmortis has joined #ocaml
ggole has quit [Quit: Leaving]
jnavila has quit [Quit: Konversation terminated!]
borne_ has quit [Ping timeout: 260 seconds]
borne_ has joined #ocaml
rig0rmortis has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rig0rmortis has joined #ocaml
rig0rmortis has quit [Client Quit]
Tuplanolla has quit [Ping timeout: 246 seconds]
spew has quit [Quit: Connection closed for inactivity]
mipri has joined #ocaml
Hrundi_V_Bakshi has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
vicfred has quit [Quit: Leaving]
leah2 has quit [Ping timeout: 256 seconds]
Haudegen has quit [Quit: Bin weg.]