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/
troydm has joined #ocaml
reynir has quit [Ping timeout: 245 seconds]
reynir has joined #ocaml
John_Ivan_ has quit [Ping timeout: 260 seconds]
sim642 has joined #ocaml
waleee has quit [Ping timeout: 245 seconds]
chrisz has quit [Ping timeout: 244 seconds]
chrisz has joined #ocaml
tizoc has quit [Quit: Coyote finally caught me]
tizoc has joined #ocaml
<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
<discocaml> <drupyog> tracy ?
<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?
<discocaml> <_terence_> Coq without tactics ?
Tuplanolla has joined #ocaml
noonien has quit [Ping timeout: 246 seconds]
noonien has joined #ocaml
tom1212 has quit [Remote host closed the connection]
Serpent7776 has quit [Ping timeout: 248 seconds]
bartholin has quit [Quit: Leaving]
mima has quit [Ping timeout: 245 seconds]
bgs has quit [Remote host closed the connection]
daftaupe has quit [Ping timeout: 246 seconds]
tjammer_ has joined #ocaml
tjammer has quit [Ping timeout: 258 seconds]
Tuplanolla has quit [Quit: Leaving.]