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/
tremon has quit [Quit: getting boxed in]
dnh has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
edr has quit [Quit: Leaving]
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
terrorjack has joined #ocaml
waleee has quit [Ping timeout: 276 seconds]
szkl has quit [Quit: Connection closed for inactivity]
azimut has quit [Remote host closed the connection]
azimut has joined #ocaml
tomku has quit [Ping timeout: 256 seconds]
bartholin has joined #ocaml
trev has joined #ocaml
azimut has quit [Ping timeout: 240 seconds]
Serpent7776 has joined #ocaml
<discocaml> <functionalprogramming> does the code i have here (moving signature from mli+ml to a separate sig file) properly allow for separate/incremental compilation? https://github.com/mizlan/indexedmap/tree/main/lib
bartholin has quit [Quit: Leaving]
dhil has joined #ocaml
dnh has joined #ocaml
xd1le has joined #ocaml
dhil has quit [Ping timeout: 268 seconds]
tremon has joined #ocaml
TrillionEuroNote has quit [Ping timeout: 246 seconds]
yziquel has joined #ocaml
TrillionEuroNote has joined #ocaml
waleee has joined #ocaml
tomku has joined #ocaml
Anarchos has joined #ocaml
<discocaml> <octachron> Your `sig` module doesn't change much in term of incremental compilation: any changes to the signature will now happen in your `sig` module, which will trigger a recompilation of both the interface and the implementation of `indexedmap`.
azimut has joined #ocaml
<discocaml> <akashi_the_mechanic> I feel dump here. Which module should I use given I have worked with regex of Java/JS standard library?
<discocaml> <octachron> Probably the Perl one?
szkl has joined #ocaml
dhil has joined #ocaml
_whitelogger has joined #ocaml
<discocaml> <akashi_the_mechanic> Probably the perl one, sadly, this library doesn't support look-ahead
<companion_cube> you could use pcre2 I think, it's bindings to the perl library
<discocaml> <akashi_the_mechanic> The opam page point me to this repo: https://github.com/camlp5/pcre2-ocaml
<discocaml> <akashi_the_mechanic>
<discocaml> <akashi_the_mechanic> > I do not plan on maintaining this repository.
<discocaml> <akashi_the_mechanic>
<discocaml> <akashi_the_mechanic> The read me is concerning tho 🤔
<discocaml> <octachron> On the other hand, you have Haxe in the dependency chain.
<companion_cube> oh this is pcre2, ok, right
<companion_cube> there's also pcre
<companion_cube> I have no idea if pcre2 is better, but the pcre bindings are by mmottl so they must be really good quality :)
Techcable has joined #ocaml
edr has joined #ocaml
dnaq has quit [Remote host closed the connection]
dnaq has joined #ocaml
_whitelogger has joined #ocaml
waleee has quit [Ping timeout: 264 seconds]
kurfen has quit [Ping timeout: 256 seconds]
kurfen has joined #ocaml
azimut has quit [Ping timeout: 240 seconds]
yziquel has quit [Quit: Client closed]
azimut has joined #ocaml
<trev> is it ok to ask AoC questions here?
<octachron> Certainly
<trev> is there a way to simplify the map function here? namely removing `fun s -> s` : https://github.com/trevarj/advent-of-code/blob/159f42bd1e2dce1a0be3a8cc7a99eb3edcf11697/2023/aoc_ocaml/lib/Day1.ml#L38-L39
<octachron> You could keep the sequence and pipe `Seq.map`s. Otherwise, you can define the left-to-right composition operator `let (%>) f g x = g (f x)`
<trev> yesss the composition is what i was looking for. couldn't find it like in haskell
<trev> not sure about the Seq.map though
<octachron> also you can replace the patter `'X' :: rest` -> ... ('X' :: rest)` by `('X' :: _ as rest) -> ... rest`
<octachron> Indeed, `Seq` doesn't work in this case
<trev> the composition worked great, thanks octachron
dhil has quit [Ping timeout: 246 seconds]
dnh has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
dnh has joined #ocaml
m5zs7k has quit [Ping timeout: 255 seconds]
m5zs7k has joined #ocaml
bartholin has joined #ocaml
flo has joined #ocaml
trev has quit [Quit: trev]
<companion_cube> TRMC is going to be so nice, damn
<companion_cube> speeding up some parts of CCList right now
dnh has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
dnh has joined #ocaml
<Armael> CCList goes vroom?
Anarchos has quit [Quit: Vision[]: i've been blurred!]
<companion_cube> goes BRRRRRR
<companion_cube> a bit at least
<companion_cube> should be faster on smaller lists, ±same on longer lists, and less memory pressure
<greenbagels> companion_cube: you need to make a module named ccache to annoy the c/c++ programmers
<companion_cube> :p
Anarchos has joined #ocaml
<Anarchos> dune (trunk version) is missing vendor/csexp ?
flo has quit [Ping timeout: 256 seconds]
Serpent7776 has quit [Ping timeout: 246 seconds]
flo has joined #ocaml
bartholin has quit [Quit: Leaving]
szkl has quit [Quit: Connection closed for inactivity]
flo has quit [Read error: Connection reset by peer]
<discocaml> <contextfreebeer> what's the best way to determine which function a nested function belongs to from its "mangled" name? I'm trying to determine which of the "go" functions in a library I'm using is so hot but the only thing that shows up in the profiler is go_860 which isn't helpful. there are two functions it could be, I have a hunch which one but I want to make sure
<discocaml> <contextfreebeer> I had the idea to run it in gdb with a breakpoint on that function and get a backtrace, so now I know, but still curious if there is a better way in general