2026/02/25

2026-02-25 00:00:02 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 00:04:20 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-25 00:07:49 +0100 <lantti> mine was https://privatebin.net/?97447d6805a0ea49#CfnZntNYLfYtSvpCod6DSKRYS8xDhzqycvhjmKNhppjv
2026-02-25 00:07:59 +0100 <haskellbridge> <ijouw> My solution fails locally at readLn? I am confused.
2026-02-25 00:10:11 +0100emmanuelux(~em@user/emmanuelux) emmanuelux
2026-02-25 00:10:36 +0100 <haskellbridge> <ijouw> I was using a library which wraps reads with Maybe and forgot to adjust the type...
2026-02-25 00:10:50 +0100 <haskellbridge> <ijouw> When removing it so i can submit with fewer deps
2026-02-25 00:15:24 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 00:19:15 +0100 <mauke> lantti: I suggest changing "otherwise" to "print" for even more confusion
2026-02-25 00:19:45 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-02-25 00:20:59 +0100snek(sid280155@id-280155.lymington.irccloud.com) (Server closed connection)
2026-02-25 00:21:11 +0100snek(sid280155@id-280155.lymington.irccloud.com) snek
2026-02-25 00:21:44 +0100 <lantti> mauke: is it not meant to be used like that? is it only for gurads then?
2026-02-25 00:22:21 +0100 <lantti> guards, even
2026-02-25 00:23:39 +0100saolsen(sid26430@id-26430.lymington.irccloud.com) (Server closed connection)
2026-02-25 00:23:50 +0100saolsen(sid26430@id-26430.lymington.irccloud.com) saolsen
2026-02-25 00:25:00 +0100 <lantti> but looking at my code now I do admit that there are some decisions that only make sense if you consider that they were the smallest change to the previous version, like the decision to include the lengths of the sets in the same list as the sets themselves
2026-02-25 00:25:38 +0100 <lantti> (the previous version used length on the generated lists)
2026-02-25 00:26:53 +0100 <lantti> (and the term "step squad" comes from the BBC childrens series called Numberblocks)
2026-02-25 00:29:25 +0100 <lantti> (which I can recommend to anyone with children in the 1-3 primary school or earlier)
2026-02-25 00:30:47 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 00:32:16 +0100 <lantti> should I use _ -> as the catch all case then? I'm not working with haskell all that much as one may notice
2026-02-25 00:33:05 +0100Comstar(~Comstar@user/Comstar) Comstar
2026-02-25 00:33:39 +0100acidsys(~crameleon@openSUSE/member/crameleon) (Server closed connection)
2026-02-25 00:33:54 +0100acidsys(~crameleon@openSUSE/member/crameleon) crameleon
2026-02-25 00:34:09 +0100emmanuelux(~em@user/emmanuelux) (Quit: bye)
2026-02-25 00:35:05 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-02-25 00:36:05 +0100 <int-e> mauke: Yeah that looks like the best solution. Kind of sad; the simple greedy algorithm for the knapsack problem would work here.
2026-02-25 00:36:15 +0100emmanuelux(~em@user/emmanuelux) emmanuelux
2026-02-25 00:37:02 +0100 <int-e> (but then you'd have to accumulate a full result before printing anything)
2026-02-25 00:38:57 +0100chenjf(~chenjf@68.64.178.54)
2026-02-25 00:39:39 +0100tamer(~tamer@user/tamer) (Server closed connection)
2026-02-25 00:40:00 +0100tamer(~tamer@5.2.74.82)
2026-02-25 00:40:59 +0100bjs(sid190364@user/bjs) (Server closed connection)
2026-02-25 00:41:15 +0100bjs(sid190364@user/bjs) bjs
2026-02-25 00:44:58 +0100 <Comstar> I can't think of a way to implement breadth-first searches (for the sake of discussion assume for a binary tree) that doesn't use a `Control.Monad.State` implementation
2026-02-25 00:45:29 +0100 <Comstar> do y'all know of a more pure approach? I guess I could do like, some folding magic
2026-02-25 00:45:49 +0100 <Comstar> I feel like I could probably find some neat code examples searching around github &al
2026-02-25 00:46:11 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 00:46:25 +0100chenjf(~chenjf@68.64.178.54) (Quit: WeeChat 4.8.1)
2026-02-25 00:47:13 +0100 <int-e> Comstar: If you have a state S and function branch :: S -> [S] then the list monad's bind (aka concatMap) can produce the next level of a tree from the previous one. (This gets a bit awkward if you also want to record history, but you can make that part of S)
2026-02-25 00:47:36 +0100 <Comstar> yeah that makes sense
2026-02-25 00:47:54 +0100 <int-e> "history" being the path through the underlying tree
2026-02-25 00:48:15 +0100 <Leary> Comstar: There was a haskell challenge for this a while back. This was my solution: https://gist.github.com/LSLeary/5083d1dfe403d1562e7778713d97b22a
2026-02-25 00:49:31 +0100 <int-e> Leary: that task is related but abuses Foldable on an infinite tree that you already have as a value.
2026-02-25 00:50:18 +0100 <int-e> (and it's an abuse because that Semigroup instance isn't lawful)
2026-02-25 00:50:40 +0100 <Comstar> Leary, oh wow line 25 in `Search.hs` is really interesting, I didn't know you could do `\case` like that, does that trick have a name?
2026-02-25 00:50:51 +0100 <Comstar> oh it's prob the LambdaCase language extension
2026-02-25 00:50:56 +0100 <int-e> it is
2026-02-25 00:50:56 +0100 <Leary> int-e: Do we not have a (foldable) binary tree to search? And yes, I agree, but specialising the code to a binary tree means we can kill the evil.
2026-02-25 00:50:57 +0100 <Comstar> that'll be fun to explore
2026-02-25 00:51:32 +0100 <int-e> Leary: I don't know whether we have one. My main point was that it's abuse.
2026-02-25 00:51:56 +0100earthy(~arthurvl@2a02-a469-f5e2-1-83d2-ca43-57a2-dc81.fixed6.kpn.net) (Ping timeout: 268 seconds)
2026-02-25 00:53:06 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-02-25 00:53:16 +0100peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-02-25 00:53:22 +0100 <lantti> mauke: oh, now i see. so the "otherwise" only worked because any identifier would have worked there
2026-02-25 00:53:41 +0100 <int-e> I've implemented quite a few breadth first searches in Haskell and I've never materialized the tree; only levels (usually as lists because it's convenient, or as sets because I expected a significant number of transpositions.)
2026-02-25 01:04:13 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 01:04:16 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) (Ping timeout: 268 seconds)
2026-02-25 01:05:12 +0100Tuplanolla(~Tuplanoll@88-114-89-88.elisa-laajakaista.fi) Tuplanolla
2026-02-25 01:05:55 +0100 <Comstar> what's materializing the tree mean?
2026-02-25 01:07:54 +0100 <int-e> I mean constructing a (potentially infinite) value of type `Tree S` where `data Tree s = Node s [Tree s]` from a root :: S and a branching function as above.
2026-02-25 01:08:45 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-02-25 01:11:08 +0100 <EvanR> lantti, going through String is probably not great, and then i/o on the Char is doing unicode stuff, and ...
2026-02-25 01:11:43 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) GdeVolpiano
2026-02-25 01:16:27 +0100peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 246 seconds)
2026-02-25 01:19:04 +0100 <Comstar> int-e, heard, thanks!
2026-02-25 01:19:36 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 01:20:33 +0100 <EvanR> materialize = have the normal form all in memory ?
2026-02-25 01:20:57 +0100 <int-e> EvanR: well, no; laziness will still be a factor.
2026-02-25 01:22:11 +0100 <int-e> EvanR: But yes, I may be abusing terminology a bit here.
2026-02-25 01:23:55 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-25 01:26:39 +0100 <int-e> EvanR: The main reason I think of it that way is that it becomes harder to ensure that you expand exactly the parts of the tree that you need and you also release them to the garbage collector once you're done with them.
2026-02-25 01:29:43 +0100robobub(uid248673@id-248673.uxbridge.irccloud.com) robobub
2026-02-25 01:34:42 +0100 <EvanR> yes constructing an infinite value seems kind of vague operationally, so agree that makes it hard to predict the memory usage pattern
2026-02-25 01:34:58 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 01:39:20 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-25 01:39:39 +0100tritlo(sid58727@id-58727.hampstead.irccloud.com) (Server closed connection)
2026-02-25 01:39:50 +0100tritlo(sid58727@id-58727.hampstead.irccloud.com)
2026-02-25 01:40:59 +0100lally(sid388228@id-388228.uxbridge.irccloud.com) (Server closed connection)
2026-02-25 01:41:14 +0100lally(sid388228@id-388228.uxbridge.irccloud.com) lally
2026-02-25 01:46:17 +0100xff0x(~xff0x@ai083101.d.east.v6connect.net) (Ping timeout: 265 seconds)
2026-02-25 01:50:21 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 01:55:03 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2026-02-25 02:05:43 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 02:10:10 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-25 02:21:05 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 02:24:27 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2026-02-25 02:27:49 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-25 02:39:06 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 02:40:15 +0100Sgeo(~Sgeo@user/sgeo) Sgeo
2026-02-25 02:43:30 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-25 02:43:57 +0100Tuplanolla(~Tuplanoll@88-114-89-88.elisa-laajakaista.fi) (Ping timeout: 246 seconds)
2026-02-25 02:52:44 +0100wickedjargon(~user@2605:8d80:5430:8458:d04:837d:bf6b:e6b3) wickedjargon
2026-02-25 02:54:28 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 02:56:23 +0100Vizious(~bes@user/Vizious) (Quit: WeeChat 4.8.1)
2026-02-25 02:58:55 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-25 02:59:57 +0100uli-fem(~uli-fem@118.210.1.123)
2026-02-25 03:01:23 +0100uli-fem(~uli-fem@118.210.1.123) (Changing host)
2026-02-25 03:01:23 +0100uli-fem(~uli-fem@user/uli-fem) uli-fem
2026-02-25 03:01:31 +0100uli-femulipink
2026-02-25 03:01:32 +0100rainbyte_(~rainbyte@186.22.19.214) (Quit: rainbyte_)
2026-02-25 03:08:08 +0100Googulator(~Googulato@2a01-036d-0106-499d-1c5a-0e4b-5795-d7e3.pool6.digikabel.hu) (Quit: Client closed)
2026-02-25 03:08:24 +0100Googulator(~Googulato@2a01-036d-0106-499d-1c5a-0e4b-5795-d7e3.pool6.digikabel.hu)
2026-02-25 03:09:50 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 03:14:03 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-02-25 03:25:12 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 03:29:45 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-25 03:33:39 +0100mstruebing(~mstruebin@ns343649.ip-188-165-193.eu) (Server closed connection)
2026-02-25 03:33:47 +0100mstruebing(~mstruebin@ns343649.ip-188-165-193.eu)
2026-02-25 03:40:33 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 03:42:59 +0100chiselfuse(~chiselfus@user/chiselfuse) (Server closed connection)
2026-02-25 03:43:13 +0100abiss27(~abiss27@user/abiss) ()
2026-02-25 03:43:33 +0100chiselfuse(~chiselfus@user/chiselfuse) chiselfuse
2026-02-25 03:44:45 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-25 03:45:34 +0100philopsos1(~caecilius@user/philopsos) philopsos
2026-02-25 03:48:03 +0100robobub(uid248673@id-248673.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2026-02-25 03:51:11 +0100prdak(~Thunderbi@user/prdak) prdak
2026-02-25 03:55:56 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 03:56:07 +0100prdak(~Thunderbi@user/prdak) (Ping timeout: 264 seconds)
2026-02-25 03:57:49 +0100xff0x(~xff0x@2405:6580:b080:900:a3f9:c0ee:35e6:d3d1)
2026-02-25 04:02:33 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-02-25 04:02:36 +0100zfnmxt(~m-gkkevi@209.209.10.107)
2026-02-25 04:04:59 +0100jakzale(6291399afa@user/jakzale) (Server closed connection)
2026-02-25 04:05:06 +0100jakzale(6291399afa@user/jakzale) jakzale
2026-02-25 04:13:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 04:14:24 +0100Fischmiep(~Fischmiep@user/Fischmiep) (Ping timeout: 255 seconds)
2026-02-25 04:18:03 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-02-25 04:25:56 +0100housemate(~housemate@202.7.248.67) housemate
2026-02-25 04:28:40 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 04:33:32 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-02-25 04:35:41 +0100rekahsoft(~rekahsoft@bras-base-orllon1103w-grc-20-76-67-111-168.dsl.bell.ca) (Remote host closed the connection)
2026-02-25 04:39:39 +0100pmk(6afe4476a1@2a03:6000:1812:100::26d) (Server closed connection)
2026-02-25 04:39:47 +0100pmk(6afe4476a1@2a03:6000:1812:100::26d) pmk
2026-02-25 04:41:50 +0100machinedgod(~machinedg@d172-219-48-230.abhsia.telus.net) (Ping timeout: 245 seconds)
2026-02-25 04:44:00 +0100Square2(~Square4@user/square) Square
2026-02-25 04:44:04 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 04:47:08 +0100philopsos1(~caecilius@user/philopsos) (Ping timeout: 256 seconds)
2026-02-25 04:49:07 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2026-02-25 04:51:50 +0100arandombit(~arandombi@2a02:2455:8656:7100:d189:bf2e:3659:938e)
2026-02-25 04:51:50 +0100arandombit(~arandombi@2a02:2455:8656:7100:d189:bf2e:3659:938e) (Changing host)
2026-02-25 04:51:50 +0100arandombit(~arandombi@user/arandombit) arandombit
2026-02-25 04:58:00 +0100wickedjargon(~user@2605:8d80:5430:8458:d04:837d:bf6b:e6b3) (Ping timeout: 246 seconds)
2026-02-25 04:59:27 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 05:03:57 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-02-25 05:10:10 +0100arandombit(~arandombi@user/arandombit) (Ping timeout: 245 seconds)
2026-02-25 05:10:18 +0100weary-traveler(~user@user/user363627) user363627
2026-02-25 05:12:59 +0100ymherklotz(cb2c9cfbdd@2a03:6000:1812:100::29a) (Server closed connection)
2026-02-25 05:13:06 +0100ymherklotz(cb2c9cfbdd@2a03:6000:1812:100::29a) ymherklotz
2026-02-25 05:14:47 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 05:15:39 +0100akspecs(00cc8321af@sourcehut/user/akspecs) (Server closed connection)
2026-02-25 05:15:49 +0100akspecs(00cc8321af@sourcehut/user/akspecs) akspecs
2026-02-25 05:19:26 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-02-25 05:22:15 +0100ulipink(~uli-fem@user/uli-fem) (Ping timeout: 245 seconds)
2026-02-25 05:30:10 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 05:34:59 +0100rprospero(eadde01e73@user/rprospero) (Server closed connection)
2026-02-25 05:35:07 +0100rprospero(eadde01e73@user/rprospero) rprospero
2026-02-25 05:35:10 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-25 05:36:59 +0100chaitlatte0(ea29c0bb16@user/chaitlatte0) (Server closed connection)
2026-02-25 05:37:08 +0100chaitlatte0(ea29c0bb16@user/chaitlatte0) chaitlatte0
2026-02-25 05:38:07 +0100emaczen(~user@user/emaczen) (Ping timeout: 264 seconds)
2026-02-25 05:43:30 +0100uli-fem(~uli-fem@118.210.1.123)
2026-02-25 05:46:13 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 05:49:30 +0100earthy(~arthurvl@2a02-a469-f5e2-1-83d2-ca43-57a2-dc81.fixed6.kpn.net) earthy
2026-02-25 05:50:23 +0100wickedjargon(~user@2605:8d80:5431:2a54:ed64:7112:3bc:303c) wickedjargon
2026-02-25 05:50:35 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-25 06:01:35 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 06:05:06 +0100jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 255 seconds)
2026-02-25 06:05:54 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-02-25 06:07:39 +0100wickedjargon(~user@2605:8d80:5431:2a54:ed64:7112:3bc:303c) (Ping timeout: 246 seconds)
2026-02-25 06:14:20 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 06:17:40 +0100Square2(~Square4@user/square) (Ping timeout: 245 seconds)
2026-02-25 06:18:55 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-25 06:22:19 +0100RalphStalfos(~kvirc@164.sub-174-251-240.myvzw.com)
2026-02-25 06:28:19 +0100RalphStalfos(~kvirc@164.sub-174-251-240.myvzw.com) (Quit: Changing server...)
2026-02-25 06:29:42 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 06:30:59 +0100ajrdck(e0a4b72d53@user/ajrdck) (Server closed connection)
2026-02-25 06:31:08 +0100ajrdck(e0a4b72d53@user/ajrdck) ajrdck
2026-02-25 06:33:55 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-25 06:34:19 +0100slondr(cf9f9e8f44@2a03:6000:1812:100::10b6) (Server closed connection)
2026-02-25 06:34:27 +0100slondr(cf9f9e8f44@2a03:6000:1812:100::10b6) slondr
2026-02-25 06:36:26 +0100agspades(~agspades@2401:4900:cab9:e332:4c8e:11ae:4084:30ac)
2026-02-25 06:37:46 +0100sefidel(~sefidel@user/sefidel) (Remote host closed the connection)
2026-02-25 06:38:33 +0100sefidel(~sefidel@user/sefidel) sefidel
2026-02-25 06:38:54 +0100agspades(~agspades@2401:4900:cab9:e332:4c8e:11ae:4084:30ac) (Quit: Konversation terminated!)
2026-02-25 06:39:14 +0100agspades(~agspades@2401:4900:cab9:e332:4c8e:11ae:4084:30ac)
2026-02-25 06:40:17 +0100michalz(~michalz@185.246.207.218)
2026-02-25 06:40:25 +0100agspades(~agspades@2401:4900:cab9:e332:4c8e:11ae:4084:30ac) (Client Quit)
2026-02-25 06:43:54 +0100wickedjargon(~user@2605:8d80:5c40:245c:9d0a:1dbd:b59f:8c37) wickedjargon
2026-02-25 06:45:04 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 06:45:39 +0100rselim(ce261f06ff@user/milesrout) (Server closed connection)
2026-02-25 06:45:48 +0100rselim(ce261f06ff@user/milesrout) milesrout
2026-02-25 06:49:39 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-02-25 06:55:45 +0100filwisher(2e6936c793@2a03:6000:1812:100::170)
2026-02-25 07:00:36 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 07:05:10 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-25 07:05:54 +0100wickedjargon(~user@2605:8d80:5c40:245c:9d0a:1dbd:b59f:8c37) (Read error: Connection reset by peer)
2026-02-25 07:08:01 +0100wickedjargon(~user@2605:8d80:5c40:eae6:dd0f:ce4e:9d20:20f0) wickedjargon
2026-02-25 07:10:54 +0100takuan(~takuan@d8D86B9E9.access.telenet.be)
2026-02-25 07:11:11 +0100Googulator(~Googulato@2a01-036d-0106-499d-1c5a-0e4b-5795-d7e3.pool6.digikabel.hu) (Quit: Client closed)
2026-02-25 07:11:27 +0100Googulator(~Googulato@2a01-036d-0106-499d-1c5a-0e4b-5795-d7e3.pool6.digikabel.hu)
2026-02-25 07:15:20 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 07:18:19 +0100jkoshy(99b9359beb@user/jkoshy) (Server closed connection)
2026-02-25 07:18:20 +0100shr\ke(~shrike@user/shrke:31298) (Ping timeout: 265 seconds)
2026-02-25 07:18:28 +0100jkoshy(99b9359beb@user/jkoshy) jkoshy
2026-02-25 07:19:27 +0100shr\ke(~shrike@user/paxhumana) paxhumana
2026-02-25 07:19:27 +0100shr\ke(~shrike@user/paxhumana) (Changing host)
2026-02-25 07:19:27 +0100shr\ke(~shrike@user/shrke:31298) shr\ke
2026-02-25 07:19:45 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-02-25 07:23:10 +0100uli-fem(~uli-fem@118.210.1.123) (Ping timeout: 265 seconds)
2026-02-25 07:26:59 +0100bheesham(3aa22d8375@2a03:6000:1812:100::e40) (Server closed connection)
2026-02-25 07:27:08 +0100bheesham(3aa22d8375@2a03:6000:1812:100::e40) bheesham
2026-02-25 07:30:43 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 07:31:39 +0100whereiseveryone(206ba86c98@2a03:6000:1812:100::2e4) (Server closed connection)
2026-02-25 07:31:47 +0100whereiseveryone(206ba86c98@2a03:6000:1812:100::2e4) jgart
2026-02-25 07:34:19 +0100arcadewise(52968ed80d@2a03:6000:1812:100::3df) (Server closed connection)
2026-02-25 07:34:27 +0100arcadewise(52968ed80d@2a03:6000:1812:100::3df) l3gacyb3ta
2026-02-25 07:34:55 +0100uli-fem(~uli-fem@118.210.1.123)
2026-02-25 07:35:10 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-25 07:37:36 +0100wickedjargon(~user@2605:8d80:5c40:eae6:dd0f:ce4e:9d20:20f0) (Ping timeout: 246 seconds)
2026-02-25 07:37:39 +0100JoelMcCracken(5ea8252fbb@2a03:6000:1812:100::10e3) (Server closed connection)
2026-02-25 07:37:50 +0100JoelMcCracken(5ea8252fbb@2a03:6000:1812:100::10e3) JoelMcCracken
2026-02-25 07:38:26 +0100RussetParrotBear(45ce440a48@2a03:6000:1812:100::e2)
2026-02-25 07:39:39 +0100simendsjo(34b0550437@2a03:6000:1812:100::1441) (Server closed connection)
2026-02-25 07:39:47 +0100simendsjo(34b0550437@2a03:6000:1812:100::1441) simendsjo
2026-02-25 07:42:17 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 07:44:19 +0100stureplan(22e45d5caf@user/stureplan) (Server closed connection)
2026-02-25 07:44:28 +0100stureplan(22e45d5caf@user/stureplan) stureplan
2026-02-25 07:44:35 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Excess Flood)
2026-02-25 07:46:08 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2026-02-25 07:46:20 +0100myxokephale(~myxos@174-18-44-59.tcso.qwest.net) myxokephale
2026-02-25 07:46:51 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-02-25 07:47:43 +0100foul_owl(~kerry@94.156.149.97) (Ping timeout: 264 seconds)
2026-02-25 07:48:34 +0100myxos(~myxos@174-18-58-141.tcso.qwest.net) (Ping timeout: 268 seconds)
2026-02-25 07:51:00 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-02-25 07:51:39 +0100probie(cc0b34050a@user/probie) (Server closed connection)
2026-02-25 07:51:47 +0100probie(cc0b34050a@user/probie) probie
2026-02-25 07:52:40 +0100prdak(~Thunderbi@user/prdak) prdak
2026-02-25 07:53:39 +0100lane(809450f172@2a03:6000:1812:100::1300) (Server closed connection)
2026-02-25 07:53:46 +0100lane(809450f172@2a03:6000:1812:100::1300) lane
2026-02-25 07:56:58 +0100prdak(~Thunderbi@user/prdak) (Ping timeout: 256 seconds)
2026-02-25 07:57:41 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 08:01:57 +0100foul_owl(~kerry@94.156.149.91) foul_owl
2026-02-25 08:04:37 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2026-02-25 08:11:51 +0100agspades(~agspades@2401:4900:cab9:e332:4c8e:11ae:4084:30ac)
2026-02-25 08:12:06 +0100agspades(~agspades@2401:4900:cab9:e332:4c8e:11ae:4084:30ac) (Client Quit)
2026-02-25 08:15:33 +0100tromp(~textual@2001:1c00:3487:1b00:7955:9591:6018:7ef9)
2026-02-25 08:15:43 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 08:20:10 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-25 08:26:19 +0100mauke(~mauke@user/mauke) (Server closed connection)
2026-02-25 08:26:29 +0100mauke(~mauke@user/mauke) mauke
2026-02-25 08:31:04 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 08:35:35 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-25 08:36:19 +0100preflex(~preflex@user/mauke/bot/preflex) (Server closed connection)
2026-02-25 08:36:31 +0100preflex(~preflex@user/mauke/bot/preflex) preflex
2026-02-25 08:46:27 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 08:50:45 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-02-25 08:53:00 +0100misterfish(~misterfis@84.53.85.146) misterfish
2026-02-25 08:54:08 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2026-02-25 08:58:45 +0100misterfish(~misterfis@84.53.85.146) (Ping timeout: 272 seconds)
2026-02-25 09:00:26 +0100misterfish(~misterfis@84.53.85.146) misterfish
2026-02-25 09:01:03 +0100Fischmiep(~Fischmiep@user/Fischmiep) Fischmiep
2026-02-25 09:01:10 +0100__monty__(~toonn@user/toonn) toonn
2026-02-25 09:01:49 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-25 09:06:09 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-02-25 09:06:57 +0100peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-02-25 09:09:13 +0100uli-fem(~uli-fem@118.210.1.123) (Ping timeout: 248 seconds)
2026-02-25 09:24:09 +0100Pozyomka(~pyon@user/pyon) (Ping timeout: 268 seconds)
2026-02-25 09:25:59 +0100uli-fem(~uli-fem@118.210.1.123)
2026-02-25 09:27:02 +0100philopsos1(~caecilius@user/philopsos) philopsos
2026-02-25 09:29:43 +0100chele(~chele@user/chele) chele
2026-02-25 09:33:06 +0100uli-fem(~uli-fem@118.210.1.123) (Ping timeout: 246 seconds)
2026-02-25 09:35:16 +0100uli-fem(~uli-fem@118.210.1.123)
2026-02-25 09:39:37 +0100uli-fem(~uli-fem@118.210.1.123) (Ping timeout: 248 seconds)
2026-02-25 09:43:28 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2026-02-25 09:45:29 +0100emmanuelux(~em@user/emmanuelux) (Quit: bye)
2026-02-25 09:46:25 +0100peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 245 seconds)
2026-02-25 09:47:08 +0100merijn(~merijn@77.242.116.146) merijn
2026-02-25 09:50:20 +0100oskarw(~user@user/oskarw) oskarw
2026-02-25 10:09:39 +0100gabiruh(~gabiruh@vps19177.publiccloud.com.br) (Server closed connection)
2026-02-25 10:09:55 +0100lbseale(~quassel@user/ep1ctetus) (Ping timeout: 265 seconds)
2026-02-25 10:09:56 +0100gabiruh(~gabiruh@vps19177.publiccloud.com.br) gabiruh
2026-02-25 10:10:06 +0100tromp(~textual@2001:1c00:3487:1b00:7955:9591:6018:7ef9) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-02-25 10:11:37 +0100uli-fem(~uli-fem@118.210.1.123)
2026-02-25 10:11:58 +0100slomp_(~slomp@47-158-212-88.lsan.ca.frontiernet.net)
2026-02-25 10:12:14 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2026-02-25 10:14:45 +0100slomp(~slomp@47-158-212-88.lsan.ca.frontiernet.net) (Ping timeout: 272 seconds)
2026-02-25 10:15:10 +0100philopsos1(~caecilius@user/philopsos) (Ping timeout: 245 seconds)
2026-02-25 10:16:31 +0100uli-fem(~uli-fem@118.210.1.123) (Ping timeout: 264 seconds)
2026-02-25 10:18:08 +0100fp(~Thunderbi@130.233.70.214) fp
2026-02-25 10:20:24 +0100mange(~mange@user/mange) mange
2026-02-25 10:24:09 +0100housemate(~housemate@202.7.248.67) (Quit: https://ineedsomeacidtocalmmedown.space/)
2026-02-25 10:29:39 +0100j0lol(~j0lol@132.145.17.236) (Server closed connection)
2026-02-25 10:29:53 +0100j0lol(~j0lol@132.145.17.236) j0lol
2026-02-25 10:37:09 +0100shr\ke(~shrike@user/shrke:31298) (Ping timeout: 246 seconds)
2026-02-25 10:39:40 +0100housemate(~housemate@202.7.248.67) housemate
2026-02-25 10:43:36 +0100shr\ke(~shrike@user/paxhumana) paxhumana
2026-02-25 10:43:36 +0100shr\ke(~shrike@user/paxhumana) (Changing host)
2026-02-25 10:43:36 +0100shr\ke(~shrike@user/shrke:31298) shr\ke
2026-02-25 10:47:01 +0100Digit(~user@user/digit) (Ping timeout: 264 seconds)
2026-02-25 10:47:15 +0100fp(~Thunderbi@130.233.70.214) (Ping timeout: 245 seconds)
2026-02-25 10:49:37 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-02-25 10:50:34 +0100prdak(~Thunderbi@user/prdak) prdak
2026-02-25 10:52:19 +0100vulpine(xfnw@user/meow/xfnw) (Server closed connection)
2026-02-25 10:52:39 +0100vulpine(xfnw@user/meow/xfnw) xfnw
2026-02-25 11:05:47 +0100Digit(~user@user/digit) Digit
2026-02-25 11:06:05 +0100prdak(~Thunderbi@user/prdak) (Remote host closed the connection)
2026-02-25 11:06:24 +0100prdak(~Thunderbi@user/prdak) prdak
2026-02-25 11:10:39 +0100prdak1(~Thunderbi@user/prdak) prdak
2026-02-25 11:10:51 +0100prdak(~Thunderbi@user/prdak) (Read error: Connection reset by peer)
2026-02-25 11:10:51 +0100prdak1prdak
2026-02-25 11:14:23 +0100prdak1(~Thunderbi@user/prdak) prdak
2026-02-25 11:14:34 +0100prdak(~Thunderbi@user/prdak) (Read error: Connection reset by peer)
2026-02-25 11:14:34 +0100prdak1prdak
2026-02-25 11:16:29 +0100prdak1(~Thunderbi@user/prdak) prdak
2026-02-25 11:19:31 +0100prdak(~Thunderbi@user/prdak) (Ping timeout: 264 seconds)
2026-02-25 11:19:31 +0100prdak1prdak
2026-02-25 11:23:42 +0100prdak(~Thunderbi@user/prdak) (Ping timeout: 246 seconds)
2026-02-25 11:26:42 +0100divlamir(~divlamir@user/divlamir) (Read error: Connection reset by peer)
2026-02-25 11:27:02 +0100natto17(~natto@129.154.243.159) (Read error: Connection reset by peer)
2026-02-25 11:27:03 +0100divlamir(~divlamir@user/divlamir) divlamir
2026-02-25 11:28:18 +0100carbolymer(~carbolyme@delirium.systems) (Read error: Connection reset by peer)
2026-02-25 11:28:24 +0100natto17(~natto@129.154.243.159) natto
2026-02-25 11:28:27 +0100prdak(~Thunderbi@user/prdak) prdak
2026-02-25 11:28:48 +0100carbolymer(~carbolyme@delirium.systems) carbolymer
2026-02-25 11:35:37 +0100mangoiv(~mangoiv@2a01:4f9:c012:6c0e::) (Changing host)
2026-02-25 11:35:37 +0100mangoiv(~mangoiv@user/mangoiv) mangoiv
2026-02-25 11:38:21 +0100uli-fem(~uli-fem@118.210.1.123)
2026-02-25 11:42:28 +0100ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 252 seconds)
2026-02-25 11:42:59 +0100systemfault(sid267009@about/typescript/member/systemfault) (Server closed connection)
2026-02-25 11:43:14 +0100systemfault(sid267009@about/typescript/member/systemfault) systemfault
2026-02-25 11:50:16 +0100Arsen(16abab341f@gentoo/developer/managarm.dev.Arsen) (Remote host closed the connection)
2026-02-25 11:50:24 +0100Arsen(16abab341f@gentoo/developer/managarm.dev.Arsen) Arsen
2026-02-25 11:51:38 +0100uli-fem(~uli-fem@118.210.1.123) (Ping timeout: 252 seconds)
2026-02-25 11:53:36 +0100fp(~Thunderbi@2001:708:20:1406::10c5) fp
2026-02-25 11:56:57 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2026-02-25 11:57:39 +0100PotatoGim(sid99505@id-99505.lymington.irccloud.com) (Server closed connection)
2026-02-25 11:58:05 +0100PotatoGim(sid99505@id-99505.lymington.irccloud.com) PotatoGim
2026-02-25 12:00:16 +0100uli-fem(~uli-fem@118.210.1.123)
2026-02-25 12:08:25 +0100uli-fem(~uli-fem@118.210.1.123) (Ping timeout: 248 seconds)
2026-02-25 12:12:19 +0100Kamuela(sid111576@id-111576.tinside.irccloud.com) (Server closed connection)
2026-02-25 12:12:34 +0100Kamuela(sid111576@id-111576.tinside.irccloud.com) Kamuela
2026-02-25 12:14:29 +0100prdak(~Thunderbi@user/prdak) (Ping timeout: 245 seconds)
2026-02-25 12:31:17 +0100housemate(~housemate@202.7.248.67) (Quit: https://ineedsomeacidtocalmmedown.space/)
2026-02-25 12:36:02 +0100Pozyomka(~pyon@user/pyon) pyon
2026-02-25 12:40:02 +0100uli-fem(~uli-fem@118.210.1.123)
2026-02-25 12:43:55 +0100 <chromoblob> why can't the compiler itself choose the optimal representation for strings even when code uses String?
2026-02-25 12:48:04 +0100 <probie> Without forcing "whole program compilation" that's pretty much impossible
2026-02-25 13:01:08 +0100philopsos1(~caecilius@user/philopsos) philopsos
2026-02-25 13:02:15 +0100spew(~spew@user/spew) spew
2026-02-25 13:02:15 +0100uli-fem(~uli-fem@118.210.1.123) (Ping timeout: 255 seconds)
2026-02-25 13:04:05 +0100prdak(~Thunderbi@user/prdak) prdak
2026-02-25 13:08:21 +0100prdak(~Thunderbi@user/prdak) (Ping timeout: 246 seconds)
2026-02-25 13:12:01 +0100p3n(~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) (Quit: ZNC 1.10.1 - https://znc.in)
2026-02-25 13:14:49 +0100p3n(~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) p3n
2026-02-25 13:15:00 +0100spew(~spew@user/spew) (Quit: nyaa~)
2026-02-25 13:17:16 +0100mange(~mange@user/mange) (Quit: Zzz...)
2026-02-25 13:18:19 +0100berberman(~berberman@user/berberman) (Server closed connection)
2026-02-25 13:18:29 +0100berberman(~berberman@user/berberman) berberman
2026-02-25 13:20:40 +0100prdak(~Thunderbi@user/prdak) prdak
2026-02-25 13:24:05 +0100housemate(~housemate@202.7.248.67) housemate
2026-02-25 13:32:53 +0100uli-fem(~uli-fem@118.210.1.123)
2026-02-25 13:34:31 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
2026-02-25 13:35:54 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2026-02-25 13:36:26 +0100 <merijn> chromoblob: Because "optimal" is a hard thing to define :p
2026-02-25 13:36:38 +0100 <merijn> chromoblob: That said, string literals aren't actually even [Char] in compiled code
2026-02-25 13:36:52 +0100 <merijn> String literals are compiled to dense byte blobs that get lazily converted into [Char]
2026-02-25 13:37:32 +0100uli-fem(~uli-fem@118.210.1.123) (Ping timeout: 256 seconds)
2026-02-25 13:38:59 +0100Moyst(~moyst@user/moyst) (Server closed connection)
2026-02-25 13:39:48 +0100 <chromoblob> well, no need to perfect things, but it'd be cool if Strings were stored as a UTF-8 buffer + a thunk for the rest of string
2026-02-25 13:40:11 +0100 <chromoblob> yeah, Unicode complicated
2026-02-25 13:40:14 +0100Moyst(~moyst@user/moyst) Moyst
2026-02-25 13:40:17 +0100 <chromoblob> complicates *
2026-02-25 13:40:23 +0100poscat(~poscat@user/poscat) (Remote host closed the connection)
2026-02-25 13:40:48 +0100 <chromoblob> could use UTF-32 or "UTF-24"
2026-02-25 13:41:41 +0100 <merijn> chromoblob: That's just Text?
2026-02-25 13:41:45 +0100 <merijn> Rather
2026-02-25 13:41:47 +0100 <merijn> Lazy Text
2026-02-25 13:42:02 +0100machinedgod(~machinedg@d172-219-48-230.abhsia.telus.net) machinedgod
2026-02-25 13:42:08 +0100 <chromoblob> well, the source code would be portable...
2026-02-25 13:42:11 +0100 <merijn> chromoblob: Basically automatically deciding optimal layout is hard, if not impossible
2026-02-25 13:42:42 +0100 <merijn> That's the reason why Haskell has like 5-8 string types (depending how you count :p)
2026-02-25 13:42:55 +0100tremon(~tremon@83.80.159.219) tremon
2026-02-25 13:43:03 +0100 <chromoblob> i mean, there are almost always very easy to decide optimizations
2026-02-25 13:44:00 +0100poscat(~poscat@user/poscat) poscat
2026-02-25 13:44:19 +0100 <merijn> chromoblob: I mean, feel free to try it :>
2026-02-25 13:44:57 +0100 <chromoblob> ;)
2026-02-25 13:44:59 +0100comonad(~comonad@p200300d02722ae00dce4ce9451b59974.dip0.t-ipconnect.de) (Server closed connection)
2026-02-25 13:45:16 +0100comonad(~comonad@p200300d02722ae00dce4ce9451b59974.dip0.t-ipconnect.de)
2026-02-25 13:50:04 +0100Athas(athas@2a01:7c8:aaac:1cf:10a0:cce8:21cf:53aa) (Quit: ZNC 1.9.1 - https://znc.in)
2026-02-25 13:50:17 +0100Athas(athas@2a01:7c8:aaac:1cf:5b23:7d4e:8d70:47e1)
2026-02-25 13:52:05 +0100uli-fem(~uli-fem@118.210.1.123)
2026-02-25 13:52:37 +0100 <__monty__> chromoblob: Char is analogous to UTF-32 already, no?
2026-02-25 13:53:27 +0100 <__monty__> So that leaves having a "buffer" instead of a list. And that just doesn't play as nice with functional idioms.
2026-02-25 13:54:15 +0100 <chromoblob> speed and memory is "nicer" to me than "niceness"
2026-02-25 13:55:05 +0100 <__monty__> That's the thing, it'd be slower for most of the code written to use String.
2026-02-25 13:56:18 +0100uli-fem(~uli-fem@118.210.1.123) (Ping timeout: 246 seconds)
2026-02-25 13:58:34 +0100chenjf(~chenjf@68.64.178.54)
2026-02-25 14:02:57 +0100chenjf(~chenjf@68.64.178.54) (Client Quit)
2026-02-25 14:08:09 +0100 <merijn> hiredman: Then just use Text everywhere :P
2026-02-25 14:08:20 +0100 <merijn> s/hiredman/chromoblob
2026-02-25 14:08:27 +0100 <haskellbridge> <magic_rb> yeah Text ftw
2026-02-25 14:08:48 +0100 <merijn> converting Text to String is pretty efficient anyway
2026-02-25 14:11:52 +0100oskarw(~user@user/oskarw) (ERC 5.6.1 (IRC client for GNU Emacs 30.2))
2026-02-25 14:14:46 +0100 <dminuoso> chromoblob: Also, regarding your initial question: GHC compiles to native machine code ultimately, and we compile into object files that get turned into separate object files that are later together, but you dont even know the access pattern ahead of time.
2026-02-25 14:15:25 +0100 <chromoblob> yes, i got it
2026-02-25 14:17:14 +0100 <dminuoso> Im not entirely sure all excuses are good at the end.
2026-02-25 14:17:18 +0100housemate(~housemate@202.7.248.67) (Quit: https://ineedsomeacidtocalmmedown.space/)
2026-02-25 14:17:24 +0100 <dminuoso> I feel like String was a bad idea to begin with.
2026-02-25 14:18:43 +0100uli-fem(~uli-fem@118.210.1.123)
2026-02-25 14:23:14 +0100qqq(~qqq@185.54.22.240) (Ping timeout: 268 seconds)
2026-02-25 14:23:40 +0100uli-fem(~uli-fem@118.210.1.123) (Ping timeout: 265 seconds)
2026-02-25 14:23:46 +0100bggd_(~bgg@2a01:e0a:fd5:f510:37b0:d42d:8afb:890)
2026-02-25 14:27:13 +0100housemate(~housemate@202.7.248.67) housemate
2026-02-25 14:36:20 +0100 <probie> I think other representations make it a headache if you're not willing to specify what a `Char` actually is
2026-02-25 14:38:55 +0100uli-fem(~uli-fem@118.210.1.123)
2026-02-25 14:43:31 +0100uli-fem(~uli-fem@118.210.1.123) (Ping timeout: 264 seconds)
2026-02-25 14:59:12 +0100uli-fem(~uli-fem@118.210.1.123)
2026-02-25 15:01:41 +0100Pozyomka(~pyon@user/pyon) (Quit: brb)
2026-02-25 15:06:03 +0100Pozyomka(~pyon@user/pyon) pyon
2026-02-25 15:09:43 +0100uli-fem(~uli-fem@118.210.1.123) (Ping timeout: 268 seconds)
2026-02-25 15:11:39 +0100Wanderer(~wanderer@user/wanderer) (Server closed connection)
2026-02-25 15:14:35 +0100Wanderer(~wanderer@user/wanderer) Wanderer
2026-02-25 15:16:45 +0100 <dutchie> is there a good way to write `lesserPresent :: Ord a => Maybe a -> Maybe a -> Maybe a` that returns the minimum? currently doing silly things with maybeToList and minimum
2026-02-25 15:17:22 +0100 <dutchie> `liftA2 min` is almost exactly the wrong thing
2026-02-25 15:18:13 +0100 <dutchie> `asum [liftA2 min mx my, mx, my]`?
2026-02-25 15:18:14 +0100 <aka_dude> Hey. I want to talk to mentor of https://summer.haskell.org/ideas.html#ui-layout-library-for-haskell proposal, Adrian Sieber (ad-si). Do you know where can I reach him?
2026-02-25 15:20:53 +0100lbseale(~quassel@user/ep1ctetus) ep1ctetus
2026-02-25 15:23:35 +0100lbseale(~quassel@user/ep1ctetus) (Client Quit)
2026-02-25 15:24:19 +0100lbseale(~quassel@user/ep1ctetus) ep1ctetus
2026-02-25 15:24:30 +0100 <dminuoso> https://hackage.haskell.org/package/base64-bytestring-1.2.1.0/docs/src/Data.ByteString.Base64.html - at the bottom there is a definition for decodePF
2026-02-25 15:24:34 +0100 <dminuoso> BS decodeFP _ =
2026-02-25 15:24:37 +0100 <dminuoso> What kind of syntax is that?
2026-02-25 15:26:12 +0100rainbyte(~rainbyte@186.22.19.214) rainbyte
2026-02-25 15:27:54 +0100 <__monty__> dminuoso: CPP-aided crimes?
2026-02-25 15:28:15 +0100 <dminuoso> I mean PS/BS are pattern synonyms..
2026-02-25 15:28:32 +0100 <dminuoso> But neither is PatternSynonyms enabled, nor are there any macros introduced in that file
2026-02-25 15:29:08 +0100 <dminuoso> Or rather, PS is a pattern and BS is a constructor..
2026-02-25 15:30:49 +0100 <mauke> pattern matching/binding
2026-02-25 15:31:11 +0100 <mauke> (:) x _ = [1,2,3]
2026-02-25 15:31:20 +0100 <__monty__> > let [x] = ["hello"] in x
2026-02-25 15:31:21 +0100 <lambdabot> "hello"
2026-02-25 15:31:22 +0100 <dminuoso> mauke: Yeah but..
2026-02-25 15:31:33 +0100 <dminuoso> % x :: Int; [x] = 1
2026-02-25 15:31:33 +0100 <yahb2> <interactive>:7:17: error: [GHC-39999] ; • No instance for ‘Num [Int]’ arising from the literal ‘1’ ; • In the expression: 1 ; In a pattern binding: [x] = 1
2026-02-25 15:31:38 +0100 <dminuoso> I cant do that.
2026-02-25 15:31:45 +0100 <dminuoso> Oh
2026-02-25 15:31:47 +0100 <mauke> well, that's a type error
2026-02-25 15:31:48 +0100 <dminuoso> % x :: Int; [x] = [1]
2026-02-25 15:31:48 +0100 <yahb2> <no output>
2026-02-25 15:31:50 +0100 <dminuoso> o.o
2026-02-25 15:31:53 +0100dminuosois baffled
2026-02-25 15:32:07 +0100 <dminuoso> I mean it feels obvious and nice, it just never occured to me...
2026-02-25 15:32:53 +0100 <mauke> (f, g) = fix (... some nonsense ...)
2026-02-25 15:33:00 +0100 <mauke> I'm pretty sure I've done something like this before
2026-02-25 15:33:16 +0100 <dminuoso> mauke: Now that you mention it, I actually recall some obscure haskell report facts about this.
2026-02-25 15:33:25 +0100 <dminuoso> I think they are called non-trivial pattern bindings or some such
2026-02-25 15:33:31 +0100 <dutchie> I've used it when writing Servant stuff
2026-02-25 15:33:43 +0100 <__monty__> dminuoso: As for PS, "enabled by the language extension PatternSynonyms, which is required for defining them, but not for using them."
2026-02-25 15:34:06 +0100 <dminuoso> __monty__: Ugh.
2026-02-25 15:34:13 +0100 <dminuoso> Okay, that explains that part too, then.
2026-02-25 15:35:05 +0100 <dminuoso> mauke: MMR does not kick in for these non-trivial bindings, and I think (f, g) was even mentioned as an example in the report.
2026-02-25 15:36:24 +0100 <mauke> % [foo] = [42]
2026-02-25 15:36:25 +0100 <yahb2> <no output>
2026-02-25 15:36:29 +0100 <mauke> % :t foo
2026-02-25 15:36:29 +0100 <yahb2> foo :: Num a => a
2026-02-25 15:38:19 +0100sttau(~sttau@199.180.255.81) (Server closed connection)
2026-02-25 15:38:27 +0100sttau(~sttau@199.180.255.81)
2026-02-25 15:40:09 +0100philopsos1(~caecilius@user/philopsos) (Ping timeout: 248 seconds)
2026-02-25 15:46:03 +0100 <dminuoso> By the way, its striking how often the impossible happens to me.
2026-02-25 15:46:05 +0100 <dminuoso> ghc: panic! (the 'impossible' happened) (GHC version 9.2.8: primRepToFFIType
2026-02-25 15:49:31 +0100prdak(~Thunderbi@user/prdak) (Ping timeout: 264 seconds)
2026-02-25 15:51:00 +0100fp(~Thunderbi@2001:708:20:1406::10c5) (Ping timeout: 245 seconds)
2026-02-25 15:52:34 +0100fp(~Thunderbi@wireless-86-50-141-0.open.aalto.fi) fp
2026-02-25 15:56:07 +0100uli-fem(~uli-fem@118.210.1.123)
2026-02-25 16:00:35 +0100uli-fem(~uli-fem@118.210.1.123) (Ping timeout: 245 seconds)
2026-02-25 16:08:35 +0100troydm(~troydm@user/troydm) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset)
2026-02-25 16:12:23 +0100Psychotic1(~Psychotic@2600:1007:b0aa:7216:54da:2a86:8a54:a2c4)
2026-02-25 16:12:32 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2026-02-25 16:14:56 +0100uli-fem(~uli-fem@118.210.1.123)
2026-02-25 16:16:59 +0100Hafydd(~Hafydd@user/hafydd) (Server closed connection)
2026-02-25 16:17:17 +0100Hafydd(~Hafydd@user/hafydd) Hafydd
2026-02-25 16:19:21 +0100uli-fem(~uli-fem@118.210.1.123) (Ping timeout: 255 seconds)
2026-02-25 16:20:43 +0100fp(~Thunderbi@wireless-86-50-141-0.open.aalto.fi) (Ping timeout: 264 seconds)
2026-02-25 16:22:21 +0100fp(~Thunderbi@2001:708:150:10::9d7e) fp
2026-02-25 16:23:39 +0100Adeon(sid418992@id-418992.lymington.irccloud.com) (Server closed connection)
2026-02-25 16:23:50 +0100Adeon(sid418992@id-418992.lymington.irccloud.com) Adeon
2026-02-25 16:25:39 +0100ProofTechnique_(sid79547@id-79547.ilkley.irccloud.com) (Server closed connection)
2026-02-25 16:25:48 +0100ProofTechnique_(sid79547@id-79547.ilkley.irccloud.com)
2026-02-25 16:29:00 +0100rekahsoft(~rekahsoft@76.67.111.168) rekahsoft
2026-02-25 16:32:59 +0100dunj3(~dunj3@2a01:239:328:1600::1) (Server closed connection)
2026-02-25 16:33:12 +0100dunj3(~dunj3@2a01:239:328:1600::1)
2026-02-25 16:34:57 +0100Psychotic1(~Psychotic@2600:1007:b0aa:7216:54da:2a86:8a54:a2c4) (Quit: Leaving)
2026-02-25 16:35:31 +0100emaczen(~user@user/emaczen) emaczen
2026-02-25 16:36:09 +0100Katarushisu6(~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) (Ping timeout: 245 seconds)
2026-02-25 16:43:32 +0100fp(~Thunderbi@2001:708:150:10::9d7e) (Quit: fp)
2026-02-25 16:48:09 +0100prdak(~Thunderbi@user/prdak) prdak
2026-02-25 16:48:30 +0100Psychotic1(~Psychotic@65.sub-174-245-22.myvzw.com)
2026-02-25 16:49:05 +0100uli-fem(~uli-fem@118.210.1.123)
2026-02-25 16:52:39 +0100prdak(~Thunderbi@user/prdak) (Ping timeout: 255 seconds)
2026-02-25 16:52:54 +0100housemate(~housemate@202.7.248.67) (Quit: https://ineedsomeacidtocalmmedown.space/)
2026-02-25 16:56:43 +0100uli-fem(~uli-fem@118.210.1.123) (Ping timeout: 264 seconds)
2026-02-25 16:57:49 +0100housemate(~housemate@202.7.248.67) housemate
2026-02-25 16:59:20 +0100Psychotic1(~Psychotic@65.sub-174-245-22.myvzw.com) (Ping timeout: 245 seconds)
2026-02-25 16:59:46 +0100Psychotic1(~Psychotic@2600:1007:b0aa:7216:54da:2a86:8a54:a2c4)
2026-02-25 17:01:08 +0100Psychotic1_(~Psychotic@2600:1007:b0aa:7216:54da:2a86:8a54:a2c4)
2026-02-25 17:01:37 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2026-02-25 17:01:49 +0100Psychotic1__(~Psychotic@2600:1007:b0aa:7216:54da:2a86:8a54:a2c4)
2026-02-25 17:04:15 +0100Psychotic1(~Psychotic@2600:1007:b0aa:7216:54da:2a86:8a54:a2c4) (Ping timeout: 246 seconds)
2026-02-25 17:05:39 +0100Psychotic1_(~Psychotic@2600:1007:b0aa:7216:54da:2a86:8a54:a2c4) (Ping timeout: 246 seconds)
2026-02-25 17:07:28 +0100Psychotic1__(~Psychotic@2600:1007:b0aa:7216:54da:2a86:8a54:a2c4) (Remote host closed the connection)
2026-02-25 17:11:57 +0100prdak(~Thunderbi@user/prdak) prdak
2026-02-25 17:12:58 +0100prdak(~Thunderbi@user/prdak) (Read error: Connection reset by peer)
2026-02-25 17:13:16 +0100prdak(~Thunderbi@user/prdak) prdak
2026-02-25 17:13:24 +0100chele(~chele@user/chele) (Remote host closed the connection)
2026-02-25 17:16:17 +0100prdak(~Thunderbi@user/prdak) (Remote host closed the connection)
2026-02-25 17:16:37 +0100prdak(~Thunderbi@user/prdak) prdak
2026-02-25 17:24:59 +0100Maxdamantus(~Maxdamant@user/maxdamantus) (Server closed connection)
2026-02-25 17:25:15 +0100Maxdamantus(~Maxdamant@user/maxdamantus) Maxdamantus
2026-02-25 17:26:19 +0100uli-fem(~uli-fem@118.210.1.123)
2026-02-25 17:29:44 +0100 <EvanR> if chromoblob goes to the oracle and comes back with a ghc which chooses the optimal implementation for String at each point in the program, and optimal conversion points. Then I want it to also work on cartesian vs polar complex numbers please
2026-02-25 17:30:11 +0100 <EvanR> feel free to pile on other examples
2026-02-25 17:31:28 +0100housemate(~housemate@202.7.248.67) (Quit: https://ineedsomeacidtocalmmedown.space/)
2026-02-25 17:33:36 +0100uli-fem(~uli-fem@118.210.1.123) (Ping timeout: 255 seconds)
2026-02-25 17:43:02 +0100housemate(~housemate@202.7.248.67) housemate
2026-02-25 17:48:54 +0100 <ski> @ghc
2026-02-25 17:48:54 +0100 <lambdabot> Can't happen
2026-02-25 17:49:10 +0100messewix(~jmc@user/messewix) messewix
2026-02-25 17:49:22 +0100uli-fem(~uli-fem@118.210.1.123)
2026-02-25 17:49:55 +0100 <ski> loop@(map f) (x:xs) = f x : loop xs -- would be nice to be able to do this kind of thing
2026-02-25 17:51:16 +0100 <ski> (fooWith cfg)@(let cfg = defaultCfg in foo) ... = ... -- or this
2026-02-25 17:52:43 +0100st_aldini(~Thunderbi@136.48.46.187) (Quit: st_aldini)
2026-02-25 17:53:27 +0100 <EvanR> what's this @ sign
2026-02-25 17:53:36 +0100uli-fem(~uli-fem@118.210.1.123) (Ping timeout: 246 seconds)