companion_cube changed the topic of #ocaml to: Discussion about the OCaml programming language | http://www.ocaml.org | OCaml 4.14.0 released: https://ocaml.org/releases/4.14.0.html | Try OCaml in your browser: https://try.ocamlpro.com | Public channel logs at https://libera.irclog.whitequark.org/ocaml/
azimut has quit [Ping timeout: 258 seconds]
azimut has joined #ocaml
motherfsck has joined #ocaml
genpaku has quit [Remote host closed the connection]
genpaku has joined #ocaml
zebrag has quit [Quit: Konversation terminated!]
waleee has quit [Ping timeout: 246 seconds]
waleee has joined #ocaml
zebrag has joined #ocaml
random34 has joined #ocaml
<random34> Hello! I wonder why the simple code "(); ()" is OK but this one is /Syntax error/: if true then (); () else ();;
motherfsck has quit [Quit: quit]
motherfsck has joined #ocaml
<jedb> random34: it's likely parsing things as "if true then ();" followed by "() else ();;"
<jedb> consider that "if true then ((); ()) else ();;" works fine
chrisz has quit [Ping timeout: 268 seconds]
chrisz has joined #ocaml
motherfsck has quit [Ping timeout: 265 seconds]
bobo_ has quit [Ping timeout: 265 seconds]
motherfsck has joined #ocaml
azimut has quit [Ping timeout: 258 seconds]
azimut has joined #ocaml
bobo_ has joined #ocaml
azimut has quit [Remote host closed the connection]
azimut has joined #ocaml
waleee has quit [Ping timeout: 265 seconds]
azimut has quit [Remote host closed the connection]
azimut has joined #ocaml
mbuf has joined #ocaml
zebrag has quit [Quit: Konversation terminated!]
jao has quit [Ping timeout: 268 seconds]
azimut has quit [Remote host closed the connection]
azimut has joined #ocaml
azimut has quit [Remote host closed the connection]
azimut has joined #ocaml
bartholin has joined #ocaml
mro has joined #ocaml
Serpent7776 has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
tizoc has quit [Quit: Coyote finally caught me]
tizoc has joined #ocaml
olle has joined #ocaml
Anarchos has joined #ocaml
azimut has quit [Ping timeout: 258 seconds]
Haudegen has joined #ocaml
random34 has quit [Ping timeout: 265 seconds]
random34 has joined #ocaml
olle has quit [Ping timeout: 268 seconds]
spip has joined #ocaml
bobo_ has quit [Ping timeout: 265 seconds]
Everything has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
<qwr> ; is not statement terminator, but sequencing operator
<qwr> and '() else ()' is not a valid expression
infinity0 has quit [Ping timeout: 268 seconds]
dnh has joined #ocaml
wingsorc has quit [Ping timeout: 260 seconds]
<Anarchos> Is the order of libraries mandatory in the (libraries) stanza of dune ? I had (cmdliner fmt fmt.cli) and it complained on fmt.cli ; later i discovered it was due to cmdliner absent on my installation so i guessed dune tries them in reverse order. Is this guess correct ?
chrisz has quit [Ping timeout: 268 seconds]
chrisz has joined #ocaml
mro has quit [Read error: Connection reset by peer]
mro has joined #ocaml
mro has quit [Remote host closed the connection]
Anarchos has quit [Quit: Vision[]: i've been blurred!]
mro has joined #ocaml
<octachron> No, the order of library does not matter except in presence of errors.
mro has quit [Ping timeout: 250 seconds]
azimut has joined #ocaml
Anarchos has joined #ocaml
mro has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
jao has joined #ocaml
zebrag has joined #ocaml
mro has quit [Remote host closed the connection]
mbuf has quit [Quit: Leaving]
David[m]123 has left #ocaml [#ocaml]
waleee has joined #ocaml
mro has joined #ocaml
olle has joined #ocaml
Haudegen has quit [Read error: Connection reset by peer]
mro has quit [Remote host closed the connection]
Haudegen has joined #ocaml
Anarchos has quit [Quit: Vision[]: i've been blurred!]
Serpent7776 has quit [Quit: WeeChat 1.9.1]
waleee has quit [Ping timeout: 248 seconds]
Serpent7776 has joined #ocaml
dnh has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<neiluj> hmm get some error: Type A.B.t is not compatible with type A__B.Internal.y while module B defines t like so: t = Internal.y
<companion_cube> is there a .mli where you hide this equality?
<neiluj> no mli
<neiluj> (it's bad, i know, going to fix that)
<neiluj> thanks companion_cube, by hiding equality do you mean making t abstract?
<companion_cube> yeah, or just mentionning `type t` without `= Internal.y`
<companion_cube> also applies if you don't have a .mli but have a module coercion
<neiluj> hm, thought it would help to make t concrete so that the typechecker can verify the equality
<neiluj> why does that not work this way?
bgs has quit [Remote host closed the connection]
<companion_cube> I'm not sure of why exactly
<companion_cube> I guess the module system knows how to reveal equalities, but it has no notion of "hiding" (besides just not revealing)
<olle> mli is for the weak
<octachron> note that variants and records are nominal, without an explicit equality, two nominal type declarations declare different and incompatible types.
<neiluj> thanks, going to investigate this
<neiluj> olle: why mli's are for the weak? :)
<olle> jk
<neiluj> kk
<neiluj> omw just changed the type t to abstract and then an other similar error occurs elsewhere: error: The type B.Internal.y -> B.Internal.y is not compatible with the type B.t -> B.t
<neiluj> that's the same error, right?
<companion_cube> seems so
spip has quit [Ping timeout: 250 seconds]
<neiluj> damned.
dnh has joined #ocaml
Everything has quit [Quit: leaving]
spip has joined #ocaml
olle has quit [Remote host closed the connection]
jao has quit [Ping timeout: 246 seconds]
infinity0 has joined #ocaml
Serpent7776 has quit [Ping timeout: 260 seconds]
mro has joined #ocaml
mro has quit [Ping timeout: 264 seconds]
xgqt has quit [Ping timeout: 260 seconds]
xgqt has joined #ocaml
olle has joined #ocaml
waleee has joined #ocaml
mro has joined #ocaml
mro has quit [Read error: Connection reset by peer]
mro has joined #ocaml
dnh has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Haudegen has quit [Quit: No Ping reply in 180 seconds.]
Haudegen has joined #ocaml
dnh has joined #ocaml
bobo_ has joined #ocaml
jao has joined #ocaml
spip has quit [Ping timeout: 268 seconds]
spip has joined #ocaml
bobo_ has quit [Ping timeout: 252 seconds]
azimut has quit [Ping timeout: 258 seconds]
mro has quit [Ping timeout: 268 seconds]
<neiluj> oh no thought I solved the issue but I was instead just fixing some changes added in hope of fixing the problem in the first place
<neiluj> rip
<neiluj> Type A.B.t is not compatible with type A__B.Internal.y... why does the error mentions an internal module instead of B.Internal.y?
<neiluj> ah because it's coming from another lib (test subdirectory)
spip has quit [Ping timeout: 246 seconds]
spip has joined #ocaml
<neiluj> slightly converging with something nice.. Type A.B.t is not compatible with type A__B.t
<neiluj> ah I thing I found the issue: lib A is exposing module B and its (abstract) type t in an A.ml file within the lib, a module C within lib A uses the *internal* module B and so when you use C outside of the lib A then ocaml typechecker can't assert the equality between the internal definition B.t and the exposed module B.t
<neiluj> hope that's clear
<neiluj> what would you advise dear experienced ocaml programmers please?
Haudegen has quit [Quit: No Ping reply in 180 seconds.]
Haudegen has joined #ocaml
<olle> neiluj: Also try the forum
<neiluj> yeah, that might help others
<neiluj> thx
bartholin has quit [Quit: Leaving]
zebrag has quit [Ping timeout: 268 seconds]
zebrag has joined #ocaml
bartholin has joined #ocaml
kurfen has quit [Remote host closed the connection]
kurfen has joined #ocaml
bartholin has quit [Quit: Leaving]
wingsorc__ has joined #ocaml
dnh has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
olle has quit [Ping timeout: 268 seconds]
gentauro has quit [Read error: Connection reset by peer]
gentauro has joined #ocaml