companion_cube changed the topic of #ocaml to: Discussion about the OCaml programming language | http://www.ocaml.org | OCaml 5.0 released(!!1!): https://ocaml.org/releases/5.0.0.html | Try OCaml in your browser: https://try.ocamlpro.com | Public channel logs at https://libera.irclog.whitequark.org/ocaml/
Haudegen has quit [Ping timeout: 248 seconds]
Tuplanolla has quit [Quit: Leaving.]
gwizon has joined #ocaml
pieguy128_ has quit [Quit: ZNC 1.8.2 - https://znc.in]
pieguy128 has joined #ocaml
spip has quit [Quit: Konversation terminated!]
wingsorc has quit [Remote host closed the connection]
rf has quit [Quit: Leaving]
chrisz has quit [Ping timeout: 255 seconds]
chrisz has joined #ocaml
waleee has quit [Ping timeout: 246 seconds]
trev has joined #ocaml
wilfred has joined #ocaml
bgs has joined #ocaml
Haudegen has joined #ocaml
bgs has quit [Remote host closed the connection]
Everything has joined #ocaml
<reynir> @Swerve when you edit a message on discord it re-sends the whole thing on IRC (this channel is bridge with IRC and discord)
quernd has quit [Quit: Ping timeout (120 seconds)]
quernd has joined #ocaml
azimut_ has quit [Ping timeout: 255 seconds]
bartholin has joined #ocaml
<discocaml> <NULL> Oh cool ! Less so if the message is huge, but at least changes aren't lost
<discocaml> <KW78> Interesting question. Is immutability enough to enable the zero cost aspect of it (which was the question initially)? Persistency is about sharing (transforming and potentially keeping previous version - of the tree here) so I though it was better to put it that way. If you google it you get nice images with "persistent data structure".
szkl has joined #ocaml
mro has joined #ocaml
bartholin has quit [Quit: Leaving]
wilfred has quit [Quit: Connection closed for inactivity]
<discocaml> <octachron> Immutable data structures are tautologically persistent: persistent data structure are observably immutable data structures that may use inner mutability for efficiency reason.
wagle has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
wagle has joined #ocaml
mbuf has joined #ocaml
<discocaml> <KW78> tks
spip has joined #ocaml
Serpent7776 has joined #ocaml
Serpent7776 has quit [Ping timeout: 255 seconds]
olle has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
Serpent7776 has joined #ocaml
szkl has quit [Quit: Connection closed for inactivity]
azimut has joined #ocaml
Serpent7776 has quit [Ping timeout: 260 seconds]
Haudegen has quit [Quit: Bin weg.]
mro has quit [Remote host closed the connection]
Everything has quit [Ping timeout: 260 seconds]
Everything has joined #ocaml
mro has joined #ocaml
mro has quit [Remote host closed the connection]
rf has joined #ocaml
neiluj has joined #ocaml
Serpent7776 has joined #ocaml
<discocaml> <masterbuilder> I'm curious, is `ocamlgraph` generally considered to be a well-architected/idiomatic library? I just tried it out for the first time and while the library is very impressive and relatively easy to use, there's something about it that feels somewhat awkward. It seems excessively functor-heavy, requiring you to make new modules to be able to perform operations on your graph, which looks to me like it would tend to make the code very nounif
Haudegen has joined #ocaml
<discocaml> <bnguyenv> I think the interface is pretty dated, and I'm not aware of other libraries that are similarly functor-heavy. But it's a solid library.
<discocaml> <octachron> Mirage is even more functor-heavy.
<discocaml> <Bluddy> My biggest issue is locating the functions you want. The modules are a mess.
<discocaml> <Bluddy> The functors are there to allow supporting different variations of graphs.
<neiluj> hey! How do you force the evaluation in the Lwt monad? to get a value of state Return 'a
<Fardale> With Lwt.bind?
<neiluj> ah right! forgot to say that once the promise is resolved, I'd like to retrieve the returned value out of the monad
<neiluj> it is for a PBT test which expects the test code to be of the form unit -> bool
<neiluj> so maybe match Lwt.bind (f args) (fun res -> res) with Result r -> ... | _ -> assert false?
<octachron> You should rather put your tests in the monad. Then you can run the Lwt scheduler to run your test.
<octachron> (aka only the full program should bridge the monad with the external world)
<discocaml> <bnguyenv> Haven't used Mirage, but for `ocamlgraph`, I kind of feel like the functors could be avoided. Maybe with witness types like for `base`'s sets and maps ?
<neiluj> thanks octachron! the tests are of the form : make : name:string -> f:(t -> bool) and f uses something that returns in Lwt's monad
<neiluj> so build f prior to make in Lwt's monad would work?
Serpent7776 has quit [Ping timeout: 252 seconds]
<neiluj> hmm f is a combinator..
<octachron> I am not sure what you mean, but if `make` is scheduling tests by itsef, you need to write a version that is compatible with a `bool Lwt.t` return.
<octachron> and returns a test result int the `Lwt` monad.
mro has joined #ocaml
<neiluj> oh ok this makes sense, thanks!
mro has quit [Remote host closed the connection]
mro has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
John_Ivan__ has quit [Read error: Connection reset by peer]
mro has quit [Remote host closed the connection]
mbuf has quit [Quit: Leaving]
John_Ivan has joined #ocaml
mro has joined #ocaml
azimut has quit [Ping timeout: 255 seconds]
azimut has joined #ocaml
waleee has joined #ocaml
mro has quit [Remote host closed the connection]
pieguy128 has quit [Ping timeout: 268 seconds]
pieguy128 has joined #ocaml
mro has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
mro has quit [Quit: Leaving...]
olle has quit [Remote host closed the connection]
neiluj has quit [Ping timeout: 256 seconds]
waleee has quit [Ping timeout: 248 seconds]
waleee has joined #ocaml
Haudegen has joined #ocaml
Everything has quit [Quit: leaving]
bartholin has joined #ocaml
olle has joined #ocaml
Tuplanolla has joined #ocaml
neiluj has joined #ocaml
Stumpfenstiel has joined #ocaml
neiluj has quit [Quit: WeeChat 3.6]
oriba has joined #ocaml
azimut_ has joined #ocaml
azimut has quit [Ping timeout: 255 seconds]
spip has quit [Quit: Konversation terminated!]
spip has joined #ocaml
spip has quit [Quit: Konversation terminated!]
spip has joined #ocaml
trev has quit [Remote host closed the connection]
olle has quit [Ping timeout: 248 seconds]
olle has joined #ocaml
gwizon has quit [Quit: leaving]
bartholin has quit [Quit: Leaving]
olle has quit [Ping timeout: 268 seconds]
Tuplanolla has quit [Quit: Leaving.]
Stumpfenstiel has quit [Ping timeout: 276 seconds]
waleee[m] has joined #ocaml