<discocaml>
<dinosaure> `Cstruct.t` is a private type, you can destruct it via: `let { Cstruct.buffer; _ } = my_cstruct`
<discocaml>
<parataxis> Cstruct.buffer is an alias for char bigarray
spip has quit [Quit: Konversation terminated!]
<discocaml>
<regular_trashman> Is there a way to get my lsp to chill when it comes to dream templates? I added a rule for the template preprocessor in the dune file, but I'm getting all sorts of errors from ocamllsp
bgs has joined #ocaml
tjammer_ has quit [Quit: ZNC 1.7.2+deb3 - https://znc.in]
Serpent7776 has joined #ocaml
tjammer has joined #ocaml
Serpent7776 has quit [Ping timeout: 246 seconds]
ced1 is now known as cedb
xgqt has quit [Quit: WeeChat 3.7.1]
xgqt has joined #ocaml
mima has joined #ocaml
bartholin has joined #ocaml
Serpent7776 has joined #ocaml
MarvelousWololo has quit [Read error: Connection reset by peer]
tom1212 has joined #ocaml
azimut has quit [Ping timeout: 246 seconds]
mima has quit [Ping timeout: 250 seconds]
bartholin has quit [Quit: Leaving]
spip has joined #ocaml
domq has joined #ocaml
dnh has joined #ocaml
xd1le has joined #ocaml
sim642 has quit [*.net *.split]
infinity0 has quit [*.net *.split]
quernd80 has quit [*.net *.split]
lobo has quit [*.net *.split]
infinity0 has joined #ocaml
lobo has joined #ocaml
sim642 has joined #ocaml
quernd80 has joined #ocaml
bartholin has joined #ocaml
infinity0 has quit [Ping timeout: 245 seconds]
infinity0 has joined #ocaml
infinity0 has quit [Ping timeout: 246 seconds]
infinity0 has joined #ocaml
<discocaml>
<JM> You can at best disable lsp entirely. The template is not valid ocaml, so unless someone build specific support for it in ocamllsp, you won't get a good experience with it.
tom1212 has quit [Remote host closed the connection]
<discocaml>
<JM> When I was playing with it, my approach was for my template to be as close as possible to html, with almost no ocaml logic and use an html lsp instead. (so I called my files `xyz.eml.html` instead of `xyz.eml.ml`)
tom1212 has joined #ocaml
dnh has quit [Ping timeout: 246 seconds]
kakadu has joined #ocaml
kakadu has quit [Remote host closed the connection]
gareppa has joined #ocaml
waleee has joined #ocaml
reynir has quit [Ping timeout: 260 seconds]
reynir has joined #ocaml
azimut has joined #ocaml
John_Ivan_ has joined #ocaml
domq has quit [Ping timeout: 246 seconds]
domq has joined #ocaml
mima has joined #ocaml
waleee has quit [Ping timeout: 245 seconds]
domq has quit [Ping timeout: 246 seconds]
tom1212 has quit [Ping timeout: 246 seconds]
mima has quit [Ping timeout: 245 seconds]
<discocaml>
<drupyog> @companion_cube did you ended up making a lib for logging of nested thingies ?
<discocaml>
<drupyog> @companion_cube did you ended up making a lib for logging of complex nested thingies ?
<companion_cube>
ah, not particularly, no… the missing piece was always a viewer :(
<discocaml>
<drupyog> what was missing from a json-like viewer ?
<companion_cube>
hum, you mean the kind you get in firefox when opening a json file?
<discocaml>
<drupyog> yeah
<companion_cube>
ah, nothing I guess
<companion_cube>
anyway, I'm more into tracing these days
<companion_cube>
my hierarchical viewer is Tracy :p
<companion_cube>
alternatively, emit json and open chrome://tracing or ui.perfetto.dev with it
<discocaml>
<drupyog> right, this seems more perf oriented
<companion_cube>
yeah, but to see wtf happens in your program it's great
<companion_cube>
(you can also see log messages in it if you do it right)
<discocaml>
<drupyog> wait, you have `trace-tef`
<discocaml>
<drupyog> so you did make one 😄
<companion_cube>
well it's designed for perfetto/chrome://tracing, yeah
<companion_cube>
I guess it does fit, though, you're right. Spans are nestable, you can add metadata (json-shaped ish)
<companion_cube>
you can have messages and basic metrics (which are super useful btw)
<discocaml>
<drupyog> yeah, it's basically a nested log, which is more or less what I want
<companion_cube>
alright then
<companion_cube>
there's a test with a json file btw :p
<companion_cube>
trace-tef isn't bad as a starting point, anyway.
<discocaml>
<drupyog> I don't need high-precision/performance for this particular thing
<companion_cube>
no no but it's pretty nice I mean
<companion_cube>
the viewers are cool
<discocaml>
<drupyog> what's the difference between tracy and tef+perfetto ?
<companion_cube>
tef+perfetto is after the fact but it's fairly simple technology
<companion_cube>
I mean, you produce a json, there's a bunch of viewers, it's straightforward
<companion_cube>
tracy is a custom thing, high perf, and you can see the trace in real time as it happens.
<discocaml>
<drupyog> I see, I guess there is no reason not to use the `trace` API all the time, with some backend or the other
<discocaml>
<companion_cube> 😍
<discocaml>
<companion_cube> That's the idea!!
<discocaml>
<drupyog> I wonder if I could do something with Logs too ....
<discocaml>
<companion_cube> I have, in a larger program, a logs reporter that forwards to trace
<discocaml>
<drupyog> ah, that is nice
<discocaml>
<companion_cube> You can also do structured stuff with logs tags, I think, but it always felt a bit cumbersome
<discocaml>
<companion_cube> Yeah it's nice because you can just keep using logs (and libraries that use logs) and still see all of it in trace
<discocaml>
<drupyog> sort of an advanced debugging mode :d
<discocaml>
<companion_cube> Yeah
<discocaml>
<companion_cube> Also if you have threads it's incredibly useful to see what each thread does. A linear view like what logs provides is really not on par.
<discocaml>
<companion_cube> (both trace-tef and tracy will do that for you)
<discocaml>
<companion_cube> (in theory tef viewers can also display data from multiple processes)
<discocaml>
<drupyog> that's not a problem I'm going to have :d
<discocaml>
<drupyog> that's not a problem I'm going to have for the projects in question :d
<discocaml>
<drupyog> (the day we parallelize state of the art compilers is not quite there yet)
domq has joined #ocaml
<discocaml>
<drupyog> well, I'm going to try all that tomorrow
<discocaml>
<companion_cube> You writing a compiler? :)
<discocaml>
<companion_cube> It's been a while, I haven't followed what you're up to these days
domq has quit [Quit: domq]
waleee has joined #ocaml
mima has joined #ocaml
gareppa has quit [Quit: WeeChat 3.8]
MarvelousWololo has joined #ocaml
tom1212 has joined #ocaml
<tom1212>
yo
<tom1212>
what is the wildest bit of ocaml you've seen?