myrkraverk has quit [Remote host closed the connection]
myrkraverk has joined #ocaml
bartholin has joined #ocaml
bartholin has quit [Ping timeout: 268 seconds]
bartholin has joined #ocaml
motherfsck has joined #ocaml
Serpent7776 has joined #ocaml
mima has joined #ocaml
mro has joined #ocaml
gzar has joined #ocaml
pandeyan has joined #ocaml
anpad has quit [Ping timeout: 256 seconds]
mro has quit [Quit: Leaving]
gzar has quit [Quit: WeeChat 4.2.2]
olle has joined #ocaml
<discocaml>
<leostera> hi everyone 👋 the OCaml Build System team at Tarides is looking to get inputs from all of you to improve the Dune DX (developer experience), so we've opened a short, anonymous, unstructured feedback form (https://forms.gle/brutt9hD8SVbzP1T9) to hear your ideas on how Dune could be improved!🐫
<discocaml>
<leostera>
<discocaml>
<leostera> we're looking forward to your ideas! ✨
<olle>
How to run a single test with Dune, and not the entire test suite?
<olle>
One of those things that are trivial in other systems ;)
<discocaml>
<lroche> Tests in ocaml? But the code always works! 🙂
<olle>
Hehehe
<olle>
Not my code, it doesn't xD
ocra8 has quit [Quit: WeeChat 4.2.2]
jabuxas has joined #ocaml
torretto has quit [Remote host closed the connection]
torretto has joined #ocaml
ocra8 has joined #ocaml
ocra8 has quit [Ping timeout: 246 seconds]
olle has quit [Ping timeout: 246 seconds]
ocra8 has joined #ocaml
ocra8 has quit [Client Quit]
ocra8 has joined #ocaml
gzar has joined #ocaml
bartholin has quit [Quit: Leaving]
pi3ce has quit [Quit: No Ping reply in 180 seconds.]
<discocaml>
<deepspacejohn> depending on how your tests are implemented, it can be simple. if they're just executables (e.g. with Alcotest) then just run that executable: `dune exec tests/my_test.exe`. If they're cram tests then Dune automatically adds aliases for them: `dune build @my-cram-test`. If they're something else then you may just have to add your own aliases.
<discocaml>
<lukstafi> On top of that, you can split tests into directories and run a specified directory tests only.
<discocaml>
<lukstafi> Inline tests are automatically added to the `runtest` alias, performed by `dune test`. To run just a directory `tests1`, `dune test tests1`
<discocaml>
<deepspacejohn> I do agree that the way Dune abstracts the concept of tests feels inconsistent and could definitely be improved. The fact that a "test" could be so many different things gets confusing.
<discocaml>
<lukstafi> It's impossible to have inline tests that don't get run by `dune test` or `dune build @runtest`, but it's also impossible to not pass `dune build ... @runtest {with-test}` to the opam file...
Anarchos has joined #ocaml
jabuxas has quit [Ping timeout: 268 seconds]
mbuf has joined #ocaml
<anadon>
leostera: I got you :)
steenuil has quit [Remote host closed the connection]
steenuil has joined #ocaml
steenuil has quit [Remote host closed the connection]
steenuil has joined #ocaml
waleee has joined #ocaml
<discocaml>
<lukstafi> It's impossible to have inline tests that don't get run by `dune test` or `dune build @runtest`, but it's also impossible to not pass `dune build ... @runtest {with-test}` to the opam file... Edit: but I learned I can just rewrite the opam file that's sent to opam-repository.
<discocaml>
<Alistair> Dream uses httpaf, if they want minimal then they should likely use cohttp or httpaf
<discocaml>
<Alistair> I personally use cohttp for most of my stuff
bartholin has quit [Ping timeout: 268 seconds]
bartholin has joined #ocaml
ocra8 has joined #ocaml
bartholin has quit [Ping timeout: 256 seconds]
bartholin has joined #ocaml
<discocaml>
<leostera> +1 to recommend high level libraries for minimal stuff
<discocaml>
<leostera> low-level libs should remain hidden
<discocaml>
<leostera> +1 to recommending high level libraries for minimal stuff
<discocaml>
<yawaramin> also, 'minimal' is subjective, people would define it differently, eg many would say Dream is minimal because it doesn't come with an ORM or a job queueing system
<discocaml>
<leostera> right! minimal is not always "low-level"
<discocaml>
<leostera> to me minimal in this case is more about a small lib that lets me do what i want with the least amount of noise/boilerplate
<discocaml>
<leostera> and yes dream has a bunch of stuff that goes beyond the router+controller combo, but you don't have to use it all
<discocaml>
<leostera> (also i know you know yawar :P, so i'm mostly writing for other folks here in chat that maybe see dream as this big rails like monolithic framework)
<anadon>
I'm unpacking a vertex as a part of walking a tree. I'm doing so using functions like "let program' cst = match cst with | program_ located -> [ program program_ ] ". No idea if the syntax is right yet. Is this how I should be walking the tree?
ocra8 has quit [Quit: WeeChat 4.2.2]
bartholin has quit [Quit: Leaving]
Tuplanolla has quit [Quit: Leaving.]
<discocaml>
<Kali> "*" is the tuple type constructor, "," is the tuple value constructor