<companion_cube>
except we'd also need a standard ppx :/
<discocaml_>
<yawaramin> you mean, we'd also need a standard ppx 🙂
<companion_cube>
yes, never going to happen :/
<companion_cube>
I'm writing some Rust rn and it's painful to think how annoying the OCaml equivalent would be
<companion_cube>
(or how much setup would be needed to get to a roughly similar level)
accordvenom has quit [Read error: Connection reset by peer]
<discocaml_>
<yawaramin> ppx deriving show?
accordvenom has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
<companion_cube>
and something like serde
<companion_cube>
and ppx_subliner
<companion_cube>
and ofc, something like tokio, but it'll never happen
accordvenom has joined #ocaml
<discocaml_>
<yawaramin> well, one thing at a time
accordvenom has quit [Read error: Connection reset by peer]
<companion_cube>
don't think anyone is even looking into that one
accordvenom has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
pi3ce has joined #ocaml
<dh`>
does rust do more than haskell? default Show instances in haskell aren't super useful
<companion_cube>
rust has Debug which is really nice
<discocaml_>
<yawaramin> yeah that's what i mean, the equivalent of Debug could be Fmt.Dump and it would be immediately useful
<discocaml_>
<yawaramin> i mean if it was built in
<companion_cube>
that's a lot of if but yes
<companion_cube>
I mean I get by with ppx_deriving.std
<companion_cube>
I just wish it was standard instead of having to write it by hand in dune-project and each dune file
accordve1om has joined #ocaml
accordve1om has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
Serpent7776 has joined #ocaml
accordvenom has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
accordve1om has joined #ocaml
accordve1om has quit [Read error: Connection reset by peer]
accordve1om has joined #ocaml
accordve1om has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
accordve1om has joined #ocaml
Serpent7776 has quit [Ping timeout: 248 seconds]
accordve1om has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
accordve1om has joined #ocaml
accordve1om has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
accordve1om has joined #ocaml
accordve1om has quit [Read error: Connection reset by peer]
accordve1om has joined #ocaml
accordve1om has quit [Read error: Connection reset by peer]
bartholin has joined #ocaml
accordve1om has joined #ocaml
accordve1om has quit [Read error: Connection reset by peer]
accordve1om has joined #ocaml
accordve1om has quit [Read error: Connection reset by peer]
accordve1om has joined #ocaml
<discocaml_>
<marisakirisame> hey ppl, i am generating ocaml code and i want to run them. what is the best way to managed the generated code? (e.g. can i still use dune or something, instead of writing script that call the ocaml command with the right -I, etc
accordve1om has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
accordve1om has joined #ocaml
accordve1om has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
Tuplanolla has joined #ocaml
accordve1om has joined #ocaml
patrick_ is now known as patrick
patrick has quit [Changing host]
patrick_ has joined #ocaml
accordve1om has quit [Read error: Connection reset by peer]
<discocaml_>
<contificate> You can use `dune` with `rule`s and if your modules are dynamically determined, can also use `dynamic_include`
agentcasey has quit [Ping timeout: 244 seconds]
accordve1om has joined #ocaml
accordve1om has quit [Read error: Connection reset by peer]
myrkraverk_ has joined #ocaml
myrkraverk has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
accordve1om has joined #ocaml
accordve1om has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
rgrinberg has joined #ocaml
patrick_ is now known as patrick
Serpent7776 has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
accordve1om has joined #ocaml
rgrinberg has quit [Quit: My Unrecognized Mac has gone to sleep. ZZZzzz…]
rgrinberg has joined #ocaml
accordve1om has quit [Read error: Connection reset by peer]
rgrinberg has quit [Quit: My Unrecognized Mac has gone to sleep. ZZZzzz…]
accordve1om has joined #ocaml
accordve1om has quit [Read error: Connection reset by peer]
<discocaml_>
<bluddy5> companion_cube: I agree that ppx_deriving should be built in. It's been tested long enough, and it's pretty much essential from my point of view to get us anywhere near the experience of other languages.
accordvenom has joined #ocaml
rgrinberg has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
rgrinberg has quit [Quit: My Unrecognized Mac has gone to sleep. ZZZzzz…]
accordvenom has quit [Read error: Connection reset by peer]
kurfen has quit [Ping timeout: 265 seconds]
accordve1om has joined #ocaml
accordve1om has quit [Read error: Connection reset by peer]
accordve1om has joined #ocaml
accordve1om has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
kurfen has joined #ocaml
accordve1om has joined #ocaml
accordve1om has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
accordvenom has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
<discocaml_>
<smondet> companion_cube: do you know how does Debug in Rust work for things where the equivalent ppx_deriving does not work? like GADTs
<companion_cube>
Rust doesn't have GADTs
<companion_cube>
There's some things in ppx_deriving that would indeed need fixing first, though, like handling nonrec
<discocaml_>
<bluddy5> This would be an advantage of it being adopted as first class - edge cases would have to be dealt with. As a library, users are just expected to deal with the limitations.
accordvenom has quit [Read error: Connection reset by peer]
<companion_cube>
Mark my words, it'll never happen
<companion_cube>
_maybe_ we might have a sort of extended stdlib by way of dune, maybe
gentauro_ has joined #ocaml
gentauro has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
<discocaml_>
<smondet> in the case of GADTs it can not work, fundamentally right?
euphores has quit [Quit: Leaving.]
euphores has joined #ocaml
euphores has quit [Client Quit]
<companion_cube>
I think it could work with the syntax, but if you have existential variables it cannot handle them indeed
<companion_cube>
Some GADTs are simple enough that they could be compatible I think
euphores has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
accordve1om has joined #ocaml
accordve1om has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
accordve1om has joined #ocaml
accordve1om has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
<discocaml_>
<yawaramin> another approach would be editor support like hints. Rust users rave about hints in their tooling. we could have the LSP server (or something) that detects when the user does `[@@deriving show]` on some type and automatically add the `(preprocess (pps ...))` to the `dune` file
accordvenom has joined #ocaml
<companion_cube>
or replace wiht `[@@deriving show {with_path=false}]` 😂
yakubin has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
<discocaml_>
<JM> yes, please, why isn't that the default 🙄
accordvenom has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
<discocaml_>
<contificate> Does anyone know of an artificial way to slowdown `ocamlopt`? e.g. some kind of exponential blowup within the compiler
ygrek has joined #ocaml
rgrinberg has joined #ocaml
accordvenom has quit [Read error: Connection reset by peer]
accordvenom has joined #ocaml
rgrinberg has quit [Quit: My Unrecognized Mac has gone to sleep. ZZZzzz…]
<discocaml_>
<contificate> Nevermind, ccube came in clutch with a standard generalisation example.
rgrinberg has joined #ocaml
<companion_cube>
yeah it's a fun one
<discocaml_>
<contificate> surprised that the Zhong Shao example doesn't seem to effect the same