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]