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/
<discocaml_> <MasterBuilder> does not seem to work for me
<discocaml_> <MasterBuilder> it will still try to acquire the lock
<discocaml_> <psychokitty> I use yui-compressor
spip has quit [Quit: Konversation terminated!]
azimut has quit [Ping timeout: 255 seconds]
alexherbo2 has quit [Remote host closed the connection]
zbroyar has quit []
chrisz has quit [Ping timeout: 252 seconds]
chrisz has joined #ocaml
waleee has quit [Ping timeout: 248 seconds]
perrierjouet has quit [Quit: WeeChat 3.8]
chrisz has quit [Ping timeout: 246 seconds]
chrisz has joined #ocaml
perrierjouet has joined #ocaml
bgs has joined #ocaml
mbuf has joined #ocaml
motherfsck has quit [Ping timeout: 255 seconds]
trev has joined #ocaml
Serpent7776 has joined #ocaml
bartholin has joined #ocaml
mro has joined #ocaml
azimut has joined #ocaml
mro has quit [Remote host closed the connection]
wingsorc has quit [Quit: Leaving]
wingsorc has joined #ocaml
John_Ivan has quit [Ping timeout: 252 seconds]
olle has joined #ocaml
<discocaml_> <hhugo> @TheBloodlessMan it is minified by default. If you use dune, use --profile release
<discocaml_> <hhugo> The default dune profile (dev) doesn't minify the output and currently behave as if you passed -linkall to the ocaml compiler
<discocaml_> <hhugo> The second point will be fixed with the next release of dune (3.7) and jsoo(5.1)
azimut has quit [Remote host closed the connection]
azimut has joined #ocaml
mro has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
bartholin has quit [Quit: Leaving]
chrisz has quit [Ping timeout: 246 seconds]
chrisz has joined #ocaml
mbuf has quit [Ping timeout: 255 seconds]
mbuf has joined #ocaml
<discocaml_> <Aram> I am seeking suggestions for a parser combinator library to use in OCaml. There are so many to choose from, but I don't know why I'd choose one over another. Angstrom seems to be recommended a lot.
<discocaml_> <Aram> My main criteria is ease of use. I don't care about producing good error messages or other secondary concerns like that. I need this to analyze already existing, correct code.
<discocaml_> <emillon> Angstrom is good
chrisz has quit [Ping timeout: 246 seconds]
chrisz has joined #ocaml
daimrod has quit [Ping timeout: 268 seconds]
<discocaml_> <darrenldl> angstrom is good, but you need to use its fix operatir for parsing language most likely, so you may need to structure things slightly differently
<discocaml_> <darrenldl> angstrom is good, but you need to use its fixed-point combinator for parsing language most likely, so you may need to structure things slightly differently
John_Ivan has joined #ocaml
<discocaml_> <Aram> I am parsing something that is a superset of JSON.
<discocaml_> <darrenldl> then definitely need fixed-point
<discocaml_> <Aram> (CUE, in case anyone is curious).
<discocaml_> <Aram> I see.
Haudegen has quit [Quit: Bin weg.]
<discocaml_> <hhugo> You can take inspiration from this Json parser written using angstrom https://github.com/janestreet/jsonaf/blob/master/kernel/src/expert.ml
<discocaml_> <Aram> thanks!
chrisz has quit [Ping timeout: 268 seconds]
chrisz has joined #ocaml
chrisz has quit [Ping timeout: 252 seconds]
chrisz has joined #ocaml
waleee has joined #ocaml
waleee has quit [Ping timeout: 248 seconds]
waleee has joined #ocaml
pippijn has quit [Ping timeout: 248 seconds]
mro has quit [Remote host closed the connection]
pippijn has joined #ocaml
mro has joined #ocaml
chrisz has quit [Ping timeout: 255 seconds]
Haudegen has joined #ocaml
chrisz has joined #ocaml
chrisz has quit [Ping timeout: 255 seconds]
chrisz has joined #ocaml
waleee has quit [Ping timeout: 252 seconds]
mro has quit [Quit: Leaving...]
olle has quit [Ping timeout: 246 seconds]
mbuf has quit [Quit: Leaving]
spip has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
<discocaml_> <mbacarella> `opam list --depexts`, your devops engineer will thank you
Serpent7776 has quit [Quit: WeeChat 1.9.1]
bartholin has joined #ocaml
motherfsck has joined #ocaml
olle has joined #ocaml
<discocaml_> <Max Korp (Frisk)> https://www.tweag.io/blog/2023-02-16-opam-nix/ opam-nix has been around for a while, but tweag is now promoting it (and calling it new) so perhaps it's in a state they consider more ready for general consumption.
<discocaml_> <anmonteiro> @rizo is also working on something similar https://github.com/odis-labs/onix
Haudegen has joined #ocaml
trev has quit [Remote host closed the connection]
chrisz has quit [Ping timeout: 252 seconds]
waleee has joined #ocaml
Anarchos has joined #ocaml
neiluj has joined #ocaml
<neiluj> hi!
<neiluj> got a question with PBT: suppose you want to test how your program deals with invalid inputs, so you write a PBT generator that generates invalid values
<neiluj> then if you test a property you have a branch that returns true when the property holds and a branch that returns true for the errors that are 'normal' due to the invalid inputs
<neiluj> how can you tell that you test is testing the property? you need to at least know that the branch testing the property was visited
<neiluj> and not the branch returning true because the inputs were not valid
<neiluj> so the question is, how can you ensure in your test that the property was at least verified true once?
<neiluj> maybe this is not the right approach and there should be two generators: one for valid and invalid inputs
<companion_cube> if you use qcheck, there's some optional arguments to produce statistics about the distribution
<companion_cube> https://c-cube.github.io/qcheck/0.20/qcheck-core/QCheck/index.html#type-stat and the `?stats` argument to `QCheck.make`
<companion_cube> (you can also take an existing arbitrary, like `list int` , and use `set_stats` on it to get a new, instrumented one)
<neiluj> oh thanks I was looking at your doc :)
<neiluj> maybe a notion of "pass" besides true or false could help achieve what I need: pass doesn't fail but the absence of true fails
<companion_cube> it's a notion of skipped, iirc
<neiluj> yes!
<companion_cube> look at ?if_assumptions_fail
<companion_cube> use the property as an assumption (it skips the test if assumption is violated)
<companion_cube> like `fun t -> rbt_is_balanced t ==> <your test here>`
<companion_cube> you'll get a warning or error if too many tests are assumptions
<companion_cube> do not pass assumptions*
<neiluj> my saviour! this is it. many thanks!
<companion_cube> 👍
Stumpfenstiel has joined #ocaml
bgs has quit [Remote host closed the connection]
Anarchos has quit [Quit: Vision[]: i've been blurred!]
Tuplanolla has quit [Quit: Leaving.]
Everything has joined #ocaml
bartholin has quit [Quit: Leaving]
olle has quit [Ping timeout: 255 seconds]
Stumpfenstiel has quit [Ping timeout: 255 seconds]
Haudegen has quit [Ping timeout: 246 seconds]