2025-04-06 00:00:04 +0200 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
2025-04-06 00:00:34 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2025-04-06 00:00:45 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) chexum |
2025-04-06 00:00:47 +0200 | gmg | (~user@user/gehmehgeh) gehmehgeh |
2025-04-06 00:02:56 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-06 00:04:04 +0200 | hattckory | (~hattckory@70.27.118.207) (Ping timeout: 260 seconds) |
2025-04-06 00:07:41 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-06 00:09:25 +0200 | dhil | (~dhil@2a0c:b381:52e:3600:696a:652d:93f2:5c60) (Ping timeout: 248 seconds) |
2025-04-06 00:11:43 +0200 | tromp | (~textual@2001:1c00:3487:1b00:44a6:f61b:e8c3:9514) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2025-04-06 00:13:20 +0200 | rini | (~rini@user/rini) (Remote host closed the connection) |
2025-04-06 00:13:33 +0200 | connrs | (~connrs@user/connrs) (Remote host closed the connection) |
2025-04-06 00:13:41 +0200 | connrs | (~connrs@user/connrs) connrs |
2025-04-06 00:19:09 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-06 00:25:23 +0200 | takuan_dozo | (~takuan@d8D86B601.access.telenet.be) (Remote host closed the connection) |
2025-04-06 00:30:58 +0200 | hgolden_ | (~hgolden@2603:8000:9d00:3ed1:fa19:a3fb:34bb:67a4) hgolden |
2025-04-06 00:31:09 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2025-04-06 00:33:59 +0200 | hgolden | (~hgolden@2603:8000:9d00:3ed1:1b03:b08c:d961:6530) (Ping timeout: 260 seconds) |
2025-04-06 00:41:34 +0200 | toby-bro | (~toby-bro@user/toby-bro) (Ping timeout: 260 seconds) |
2025-04-06 00:46:02 +0200 | jmcantrell | Guest4344 |
2025-04-06 00:46:02 +0200 | Guest4344 | (644f1bed9a@user/jmcantrell) (Killed (molybdenum.libera.chat (Nickname regained by services))) |
2025-04-06 00:46:02 +0200 | __jmcantrell__ | jmcantrell |
2025-04-06 00:46:10 +0200 | jmcantrell_ | (644f1bed9a@user/jmcantrell) jmcantrell |
2025-04-06 00:49:59 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
2025-04-06 00:52:58 +0200 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
2025-04-06 00:55:18 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 276 seconds) |
2025-04-06 01:06:42 +0200 | hgolden_ | (~hgolden@2603:8000:9d00:3ed1:fa19:a3fb:34bb:67a4) (Remote host closed the connection) |
2025-04-06 01:08:55 +0200 | hgolden | (~hgolden@2603:8000:9d00:3ed1:fa19:a3fb:34bb:67a4) hgolden |
2025-04-06 01:09:00 +0200 | anpad | (~pandeyan@user/anpad) (Quit: ZNC 1.8.2 - https://znc.in) |
2025-04-06 01:11:05 +0200 | anpad | (~pandeyan@user/anpad) anpad |
2025-04-06 01:13:30 +0200 | robobub | (uid248673@id-248673.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2025-04-06 01:16:46 +0200 | target_i | (~target_i@user/target-i/x-6023099) (Quit: leaving) |
2025-04-06 01:24:21 +0200 | hgolden_ | (~hgolden@2603:8000:9d00:3ed1:6ff3:8389:b901:6363) hgolden |
2025-04-06 01:24:47 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-04-06 01:26:10 +0200 | hgolden | (~hgolden@2603:8000:9d00:3ed1:fa19:a3fb:34bb:67a4) (Ping timeout: 272 seconds) |
2025-04-06 01:26:26 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) JuanDaugherty |
2025-04-06 01:32:12 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-06 01:34:10 +0200 | hiredman | (~hiredman@frontier1.downey.family) (Quit: Lost terminal) |
2025-04-06 01:34:34 +0200 | rawles | (~rawles@user/rawles) rawles |
2025-04-06 01:36:09 +0200 | m5zs7k | (aquares@web10.mydevil.net) (Ping timeout: 244 seconds) |
2025-04-06 01:36:53 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-04-06 01:40:18 +0200 | m5zs7k | (aquares@web10.mydevil.net) m5zs7k |
2025-04-06 01:44:59 +0200 | <haskellbridge> | <sm> ! we'll pretend we didn't hear that |
2025-04-06 01:45:18 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
2025-04-06 01:47:10 +0200 | <EvanR> | ikr |
2025-04-06 01:47:59 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-06 01:49:37 +0200 | hgolden__ | (~hgolden@2603:8000:9d00:3ed1:2fa6:8257:2d41:b9b0) hgolden |
2025-04-06 01:50:33 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 276 seconds) |
2025-04-06 01:51:30 +0200 | sprotte24_ | (~sprotte24@p200300d16f1fcd00fde87e4fa26f8820.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
2025-04-06 01:52:15 +0200 | hgolden | (~hgolden@2603:8000:9d00:3ed1:d319:57ed:d2cb:68a5) hgolden |
2025-04-06 01:52:44 +0200 | hgolden_ | (~hgolden@2603:8000:9d00:3ed1:6ff3:8389:b901:6363) (Ping timeout: 260 seconds) |
2025-04-06 01:53:57 +0200 | hgolden__ | (~hgolden@2603:8000:9d00:3ed1:2fa6:8257:2d41:b9b0) (Ping timeout: 252 seconds) |
2025-04-06 01:56:20 +0200 | <monochrom> | The cause of concern is that you will not run your web app on your PC, you will run it on virtual hosting where your budget allows only 0.5GB RAM for example. |
2025-04-06 01:57:19 +0200 | todi | (~todi@p57803331.dip0.t-ipconnect.de) todi |
2025-04-06 01:57:42 +0200 | todi1 | (~todi@p57803331.dip0.t-ipconnect.de) (Ping timeout: 276 seconds) |
2025-04-06 01:58:34 +0200 | hgolden | (~hgolden@2603:8000:9d00:3ed1:d319:57ed:d2cb:68a5) (Ping timeout: 260 seconds) |
2025-04-06 02:03:54 +0200 | <EvanR> | on web you have a cosmic struggle between needing to use less resources and just use more resources |
2025-04-06 02:04:21 +0200 | hgolden | (~hgolden@2603:8000:9d00:3ed1:2fa6:8257:2d41:b9b0) hgolden |
2025-04-06 02:04:40 +0200 | <EvanR> | web apps used to be written in C! |
2025-04-06 02:05:26 +0200 | <monochrom> | It's not a struggle, it's a synergy! Use less resource on your server, offload it to using more resource on the customer web browser! |
2025-04-06 02:05:34 +0200 | otto_s | (~user@p5de2f9f0.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2025-04-06 02:05:57 +0200 | <EvanR> | just send them the whole database and have them filter it |
2025-04-06 02:06:00 +0200 | <monochrom> | "less is more" = less burden on me is more burden on you! |
2025-04-06 02:07:14 +0200 | otto_s | (~user@p5de2fd95.dip0.t-ipconnect.de) |
2025-04-06 02:09:33 +0200 | hattckory | (~hattckory@70.27.118.207) |
2025-04-06 02:10:53 +0200 | jacopovalanzano | (~jacopoval@cpc151911-cove17-2-0-cust105.3-1.cable.virginm.net) (Quit: Client closed) |
2025-04-06 02:19:29 +0200 | hattckory | (~hattckory@70.27.118.207) (Ping timeout: 248 seconds) |
2025-04-06 02:30:13 +0200 | acidjnk_new3 | (~acidjnk@p200300d6e71c4f099ca861e17b9ec3ec.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2025-04-06 02:31:01 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
2025-04-06 02:41:34 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 260 seconds) |
2025-04-06 02:53:39 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-04-06 02:53:42 +0200 | amadaluzia | (~amadaluzi@2a00:23c7:ed8b:6701:f802:c6e0:6002:2ef9) |
2025-04-06 02:55:59 +0200 | amadaluzia | (~amadaluzi@2a00:23c7:ed8b:6701:f802:c6e0:6002:2ef9) (Client Quit) |
2025-04-06 02:56:40 +0200 | amadaluzia | (~amadaluzi@host81-159-254-182.range81-159.btcentralplus.com) |
2025-04-06 03:01:52 +0200 | JuanDaugherty | ColinRobinson |
2025-04-06 03:01:58 +0200 | arahael | (~arahael@user/arahael) arahael |
2025-04-06 03:02:21 +0200 | otto_s | (~user@p5de2fd95.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2025-04-06 03:04:11 +0200 | otto_s | (~user@p5de2fb60.dip0.t-ipconnect.de) |
2025-04-06 03:05:12 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-06 03:05:18 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
2025-04-06 03:07:16 +0200 | amadaluzia | (~amadaluzi@host81-159-254-182.range81-159.btcentralplus.com) (Quit: Hi, this is Paul Allen. I'm being called away to London for a few days. Meredith, I'll call you when I get back. Hasta la vista, baby.) |
2025-04-06 03:07:38 +0200 | amadaluzia | (~amadaluzi@2a00:23c7:ed8b:6701:f802:c6e0:6002:2ef9) |
2025-04-06 03:09:32 +0200 | hattckory | (~hattckory@70.27.118.207) |
2025-04-06 03:09:58 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-04-06 03:13:55 +0200 | amadaluzia | (~amadaluzi@2a00:23c7:ed8b:6701:f802:c6e0:6002:2ef9) (Quit: Hi, this is Paul Allen. I'm being called away to London for a few days. Meredith, I'll call you when I get back. Hasta la vista, baby.) |
2025-04-06 03:15:21 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-04-06 03:19:40 +0200 | amadaluzia_ | (~amadaluzi@2a00:23c7:ed8b:6701:f802:c6e0:6002:2ef9) |
2025-04-06 03:20:58 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-06 03:21:38 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Quit: peterbecich) |
2025-04-06 03:21:59 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-04-06 03:22:18 +0200 | amadaluzia | (~amadaluzi@host81-159-254-182.range81-159.btcentralplus.com) |
2025-04-06 03:23:51 +0200 | amadaluzia_ | (~amadaluzi@2a00:23c7:ed8b:6701:f802:c6e0:6002:2ef9) (Client Quit) |
2025-04-06 03:23:51 +0200 | amadaluzia | (~amadaluzi@host81-159-254-182.range81-159.btcentralplus.com) (Client Quit) |
2025-04-06 03:24:10 +0200 | amadaluzia | (~amadaluzi@host81-159-254-182.range81-159.btcentralplus.com) |
2025-04-06 03:24:41 +0200 | amadaluzia_ | (~amadaluzi@host81-159-254-182.range81-159.btcentralplus.com) |
2025-04-06 03:25:37 +0200 | hattckory | (~hattckory@70.27.118.207) (Ping timeout: 248 seconds) |
2025-04-06 03:26:55 +0200 | amadaluzia_ | (~amadaluzi@host81-159-254-182.range81-159.btcentralplus.com) (Client Quit) |
2025-04-06 03:26:55 +0200 | amadaluzia | (~amadaluzi@host81-159-254-182.range81-159.btcentralplus.com) (Client Quit) |
2025-04-06 03:27:54 +0200 | amadaluzia | (~amadaluzi@2a00:23c7:ed8b:6701:f802:c6e0:6002:2ef9) |
2025-04-06 03:29:00 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-06 03:29:42 +0200 | amadaluzia | (~amadaluzi@2a00:23c7:ed8b:6701:f802:c6e0:6002:2ef9) (Client Quit) |
2025-04-06 03:29:53 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) wootehfoot |
2025-04-06 03:30:13 +0200 | amadaluzia | (~amadaluzi@2a00:23c7:ed8b:6701:f802:c6e0:6002:2ef9) |
2025-04-06 03:34:14 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Ping timeout: 260 seconds) |
2025-04-06 03:37:51 +0200 | amadaluzia | (~amadaluzi@2a00:23c7:ed8b:6701:f802:c6e0:6002:2ef9) (Quit: Hi, this is Paul Allen. I'm being called away to London for a few days. Meredith, I'll call you when I get back. Hasta la vista, baby.) |
2025-04-06 03:37:59 +0200 | xff0x | (~xff0x@2405:6580:b080:900:5d6b:27d2:3f72:9d18) |
2025-04-06 03:38:26 +0200 | amadaluzia | (~amadaluzi@2a00:23c7:ed8b:6701:f802:c6e0:6002:2ef9) |
2025-04-06 03:40:27 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-06 03:44:48 +0200 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 244 seconds) |
2025-04-06 03:45:19 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-04-06 03:53:11 +0200 | xff0x | (~xff0x@2405:6580:b080:900:5d6b:27d2:3f72:9d18) (Ping timeout: 252 seconds) |
2025-04-06 03:54:12 +0200 | xff0x | (~xff0x@2405:6580:b080:900:3e40:a734:5781:f378) |
2025-04-06 03:55:35 +0200 | <tabaqui> | While learning Elixir, I found that they have so called "pins" in pattern matching. Like, you can associate a variable with a value and then match to this variable. In Haskell, afaik, it is impossible. Is it some hard compiler restriction, or something? |
2025-04-06 03:56:22 +0200 | <tabaqui> | Like, in Elixir you can "x = 5; case y of ^x -> <something>". |
2025-04-06 03:56:30 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-06 03:56:40 +0200 | <tabaqui> | And it will match y to 5 without new bindings |
2025-04-06 03:56:46 +0200 | <geekosaur> | you use guards in Haskell |
2025-04-06 03:56:56 +0200 | <geekosaur> | just a quirk of the language |
2025-04-06 03:57:29 +0200 | <tabaqui> | Guards aren't quite the same, boolean blindness f.e. |
2025-04-06 03:57:54 +0200 | <geekosaur> | hypotheticslly thy could add that ability, although I suppose it would require some new pattern matching machinery; Haskell patters match structure, not values |
2025-04-06 03:58:06 +0200 | hiecaq | (~hiecaq@user/hiecaq) (Quit: ERC 5.6.0.30.1 (IRC client for GNU Emacs 30.0.92)) |
2025-04-06 03:59:16 +0200 | hiecaq | (~hiecaq@user/hiecaq) hiecaq |
2025-04-06 04:00:23 +0200 | xff0x | (~xff0x@2405:6580:b080:900:3e40:a734:5781:f378) (Quit: xff0x) |
2025-04-06 04:01:40 +0200 | <monochrom> | I don't know Elixir so there is no use telling me "it's called pin in Elixir". |
2025-04-06 04:01:57 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
2025-04-06 04:02:16 +0200 | <monochrom> | But it sounds like for example "f xs@(x : xt) = (x, xs, xt)" |
2025-04-06 04:02:35 +0200 | <monochrom> | > case [0,1,2] of xs@(x : xt) -> (x, xs, xt) |
2025-04-06 04:02:37 +0200 | <lambdabot> | (0,[0,1,2],[1,2]) |
2025-04-06 04:04:55 +0200 | <tabaqui> | monochrom: here you bind variables xs, x and t with some new values. With "pins" you can declare some variables before and then match without bindings |
2025-04-06 04:05:04 +0200 | op_4 | (~tslil@user/op-4/x-9116473) (Remote host closed the connection) |
2025-04-06 04:05:35 +0200 | op_4 | (~tslil@user/op-4/x-9116473) op_4 |
2025-04-06 04:06:52 +0200 | <tabaqui> | geekosaur: Yeah, I suspect it has to do with structural matchmaking. Just wanted to make sure it's not something that could be easily added with new sugar. |
2025-04-06 04:07:23 +0200 | <geekosaur> | sugar wouldn't do it, no |
2025-04-06 04:08:02 +0200 | cheater | (~Username@user/cheater) (Quit: Going offline, see ya! (www.adiirc.com)) |
2025-04-06 04:08:50 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
2025-04-06 04:09:52 +0200 | cheater | (~Username@user/cheater) cheater |
2025-04-06 04:10:23 +0200 | <monochrom> | If it is just a cute way to say "x == y", then Haskell already has ==. If it is actually as profound as full-blown Prolog unification, then consider the Curry language. |
2025-04-06 04:10:25 +0200 | cheater | (~Username@user/cheater) (Client Quit) |
2025-04-06 04:12:15 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-06 04:13:01 +0200 | xff0x | (~xff0x@2405:6580:b080:900:2d8c:c4f2:3458:8ce1) |
2025-04-06 04:13:54 +0200 | <geekosaur> | there's also an additional complication: if you match against a literal number, it desugars to a guard, so you lose anyway |
2025-04-06 04:16:02 +0200 | cheater | (~Username@user/cheater) cheater |
2025-04-06 04:17:24 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-04-06 04:17:53 +0200 | <monochrom> | Yeah matching against 5, whether that 5 was hardcoded or obtained during run time, is a very point-defeating example of speaking against boolean blindness. |
2025-04-06 04:19:13 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds) |
2025-04-06 04:20:11 +0200 | cheater | (~Username@user/cheater) (Client Quit) |
2025-04-06 04:20:22 +0200 | <EvanR> | the pin is like taking the value of the variable and using it as a pattern |
2025-04-06 04:20:32 +0200 | <EvanR> | which requires == |
2025-04-06 04:20:44 +0200 | <EvanR> | it's done for you in the case of a constant pattern |
2025-04-06 04:20:50 +0200 | <EvanR> | laskdjfasdkfj |
2025-04-06 04:20:59 +0200 | cheater | (~Username@user/cheater) cheater |
2025-04-06 04:21:24 +0200 | <EvanR> | in the case of numeric, char, string constants (anything else?) |
2025-04-06 04:22:10 +0200 | <EvanR> | not all data types in haskell have an == and so this wouldn't universally work like in elixir |
2025-04-06 04:22:21 +0200 | <monochrom> | I guess I gave Elixir way too much credit for entertaining the remote possibility that it may do something half as interesting as logic programming. |
2025-04-06 04:22:42 +0200 | <monochrom> | One more data point for being more cynical. |
2025-04-06 04:22:54 +0200 | <EvanR> | I found an interesting thing about elixir |
2025-04-06 04:22:57 +0200 | <geekosaur> | Char acts like an actual constructor, and String like a list of them. this guard business is specific to Num, and is why Num used to have Eq as a "superclass" |
2025-04-06 04:23:09 +0200 | <EvanR> | alright numeric constants |
2025-04-06 04:24:00 +0200 | <EvanR> | the interest thing about elixir is the === operator, which differs from == in that it doesn't convert numerics between int and float, and distinguishes -0.0 from 0.0 |
2025-04-06 04:24:05 +0200 | <EvanR> | it follows this law |
2025-04-06 04:24:21 +0200 | <EvanR> | if x === y then f(x) === f(y) (assuming f is a pure function) |
2025-04-06 04:25:15 +0200 | <EvanR> | elixir carefully prints out its values in such a way you can't violate that law |
2025-04-06 04:25:24 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 260 seconds) |
2025-04-06 04:25:26 +0200 | <monochrom> | That's actually nice. |
2025-04-06 04:25:42 +0200 | <Leary> | tabaqui: There's no issue of "boolean blindness" in equality testing. Both `((== x) -> True) -> ...` and `y | x == y -> ...` are perfectly good Haskell equivalents. |
2025-04-06 04:25:48 +0200 | <EvanR> | as far as I could tell after an afternoon of trying |
2025-04-06 04:26:16 +0200 | <Leary> | Though it would be nice if we could write `pattern Is x = (== x) -> True`. |
2025-04-06 04:28:03 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-06 04:29:39 +0200 | <geekosaur> | oh, and the special handling of numeric literals is because they're functions in Haskell (wrapped in fromInteger or fromRational as appropriate) |
2025-04-06 04:32:48 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-06 04:38:48 +0200 | <geekosaur> | (I don't know if this is extended to IsString) |
2025-04-06 04:40:37 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
2025-04-06 04:43:51 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-06 04:46:13 +0200 | Square2 | (~Square@user/square) (Ping timeout: 245 seconds) |
2025-04-06 04:51:15 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 276 seconds) |
2025-04-06 04:57:54 +0200 | nitrix | (~nitrix@user/meow/nitrix) (Quit: ZNC 1.9.1 - https://znc.in) |
2025-04-06 05:11:33 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
2025-04-06 05:14:46 +0200 | smalltalkman | (uid545680@id-545680.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2025-04-06 05:16:09 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 260 seconds) |
2025-04-06 05:19:52 +0200 | tomku | (~tomku@user/tomku) (Ping timeout: 272 seconds) |
2025-04-06 05:24:02 +0200 | nitrix | (~nitrix@user/meow/nitrix) nitrix |
2025-04-06 05:26:38 +0200 | tomku | (~tomku@user/tomku) tomku |
2025-04-06 05:36:36 +0200 | harveypwca | (~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c) (Quit: Leaving) |
2025-04-06 05:39:59 +0200 | amadaluzia | (~amadaluzi@2a00:23c7:ed8b:6701:f802:c6e0:6002:2ef9) (ERC 5.6.0.30.1 (IRC client for GNU Emacs 30.1)) |
2025-04-06 05:48:01 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
2025-04-06 05:48:48 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-04-06 05:48:54 +0200 | notdabs | (~Owner@2600:1700:69cf:9000:58e6:6428:d346:1de6) |
2025-04-06 05:53:00 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 276 seconds) |
2025-04-06 05:59:33 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-06 06:04:44 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-04-06 06:15:20 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-06 06:18:38 +0200 | notdabs | (~Owner@2600:1700:69cf:9000:58e6:6428:d346:1de6) (Read error: Connection reset by peer) |
2025-04-06 06:20:05 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-04-06 06:25:33 +0200 | tromp | (~textual@2001:1c00:3487:1b00:8156:72e2:e83d:bafd) |
2025-04-06 06:27:49 +0200 | tromp | (~textual@2001:1c00:3487:1b00:8156:72e2:e83d:bafd) (Client Quit) |
2025-04-06 06:28:06 +0200 | forell | (~forell@user/forell) (Ping timeout: 268 seconds) |
2025-04-06 06:29:06 +0200 | ColinRobinson | (~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org)) |
2025-04-06 06:31:06 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-06 06:33:25 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
2025-04-06 06:38:10 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 248 seconds) |
2025-04-06 06:56:43 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
2025-04-06 07:08:18 +0200 | statusbot | (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) statusbot |
2025-04-06 07:08:39 +0200 | statusbot10 | (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (Read error: Connection reset by peer) |
2025-04-06 07:09:54 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 260 seconds) |
2025-04-06 07:26:42 +0200 | takuan | (~takuan@d8D86B601.access.telenet.be) |
2025-04-06 07:40:24 +0200 | thuna` | (~thuna`@user/thuna/x-1480069) (Ping timeout: 244 seconds) |
2025-04-06 07:41:25 +0200 | jmcantrell | (~weechat@user/jmcantrell) (Quit: WeeChat 4.6.0) |
2025-04-06 07:41:25 +0200 | jmcantrell_ | jmcantrell |
2025-04-06 07:56:59 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
2025-04-06 08:01:04 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) wootehfoot |
2025-04-06 08:17:08 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-04-06 08:30:12 +0200 | tabaqui | (~tabaqui@167.71.80.236) (Quit: WeeChat 4.5.2) |
2025-04-06 08:38:13 +0200 | Fangs | (sid141280@id-141280.hampstead.irccloud.com) (Ping timeout: 248 seconds) |
2025-04-06 08:39:00 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-04-06 08:39:27 +0200 | Fangs | (sid141280@id-141280.hampstead.irccloud.com) Fangs |
2025-04-06 08:45:37 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds) |
2025-04-06 08:50:19 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-06 08:54:31 +0200 | rit | (~rit@2409:40e0:1c:121c:589e:a7ae:8d66:baae) |
2025-04-06 08:59:32 +0200 | j1n37 | (~j1n37@user/j1n37) j1n37 |
2025-04-06 09:00:00 +0200 | caconym | (~caconym@user/caconym) (Quit: bye) |
2025-04-06 09:00:02 +0200 | tt12310978324354 | (~tt1231@2603:6010:8700:4a81:219f:50d3:618a:a6ee) (Quit: The Lounge - https://thelounge.chat) |
2025-04-06 09:00:28 +0200 | j1n37- | (~j1n37@user/j1n37) (Ping timeout: 252 seconds) |
2025-04-06 09:00:53 +0200 | caconym | (~caconym@user/caconym) caconym |
2025-04-06 09:04:35 +0200 | tt12310978324354 | (~tt1231@2603:6010:8700:4a81:219f:50d3:618a:a6ee) tt1231 |
2025-04-06 09:14:50 +0200 | tromp | (~textual@2001:1c00:3487:1b00:210a:3dd2:fb83:a589) |
2025-04-06 09:15:30 +0200 | tromp | (~textual@2001:1c00:3487:1b00:210a:3dd2:fb83:a589) (Client Quit) |
2025-04-06 09:17:48 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds) |
2025-04-06 09:18:18 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
2025-04-06 09:18:20 +0200 | tromp | (~textual@2001:1c00:3487:1b00:210a:3dd2:fb83:a589) |
2025-04-06 09:19:37 +0200 | gadot | Gadot |
2025-04-06 09:19:47 +0200 | rit | (~rit@2409:40e0:1c:121c:589e:a7ae:8d66:baae) (Remote host closed the connection) |
2025-04-06 09:21:37 +0200 | rit | (~rit@152.58.177.31) |
2025-04-06 09:22:02 +0200 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
2025-04-06 09:46:07 +0200 | acidjnk_new3 | (~acidjnk@p200300d6e71c4f1475e75972aae4f669.dip0.t-ipconnect.de) acidjnk |
2025-04-06 09:48:21 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) Unicorn_Princess |
2025-04-06 09:57:09 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-04-06 10:00:55 +0200 | tromp | (~textual@2001:1c00:3487:1b00:210a:3dd2:fb83:a589) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2025-04-06 10:01:34 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-06 10:03:24 +0200 | tromp | (~textual@2001:1c00:3487:1b00:210a:3dd2:fb83:a589) |
2025-04-06 10:04:17 +0200 | sprotte24 | (~sprotte24@p200300d16f28a1000c1aac2cfe7f30d8.dip0.t-ipconnect.de) |
2025-04-06 10:06:12 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-06 10:15:13 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 248 seconds) |
2025-04-06 10:18:05 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-06 10:20:16 +0200 | krei-se | (~krei-se@p200300f1cfff387fda9ef3fffe7fdac8.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
2025-04-06 10:23:12 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-04-06 10:23:36 +0200 | krei-se | (~krei-se@p5dea1c1d.dip0.t-ipconnect.de) krei-se |
2025-04-06 10:30:40 +0200 | <haskellbridge> | <Liamzee> wait, this code depends on undefined behavior, right? |
2025-04-06 10:30:43 +0200 | <haskellbridge> | <Liamzee> https://web.archive.org/web/20200809232447/https://benchmarksgame-team.pages.debian.net/benchmarks… |
2025-04-06 10:31:06 +0200 | <haskellbridge> | <Liamzee> actually, you know what, i'll switch ghc versions and see if it works with 8.10 |
2025-04-06 10:35:03 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-06 10:39:17 +0200 | XZDX | (~xzdx@user/XZDX) (Remote host closed the connection) |
2025-04-06 10:39:44 +0200 | XZDX | (~xzdx@2601:404:ce00:4e51:214:51ff:fe2b:e82e) |
2025-04-06 10:39:49 +0200 | krei-se | (~krei-se@p5dea1c1d.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2025-04-06 10:40:44 +0200 | krei-se | (~krei-se@p200300f1cfff4b46da9ef3fffe7fdac8.dip0.t-ipconnect.de) krei-se |
2025-04-06 10:41:44 +0200 | XZDX | (~xzdx@2601:404:ce00:4e51:214:51ff:fe2b:e82e) (Changing host) |
2025-04-06 10:41:44 +0200 | XZDX | (~xzdx@user/XZDX) XZDX |
2025-04-06 10:42:35 +0200 | <haskellbridge> | <Liamzee> it sort of works, i don't have the optimization pass level right, and i can't figure out how ot set O2, not least because I lost access to llvm 10. Then it segfaults on the 110th digit. So, almost definitely undefined behavior |
2025-04-06 10:44:06 +0200 | hattckory | (~hattckory@70.27.118.207) |
2025-04-06 10:46:06 +0200 | rit | (~rit@152.58.177.31) (Ping timeout: 240 seconds) |
2025-04-06 10:46:44 +0200 | krei-se- | (~krei-se@p3ee0f5ab.dip0.t-ipconnect.de) krei-se |
2025-04-06 10:47:08 +0200 | krei-se | (~krei-se@p200300f1cfff4b46da9ef3fffe7fdac8.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
2025-04-06 10:49:14 +0200 | hattckory | (~hattckory@70.27.118.207) (Ping timeout: 260 seconds) |
2025-04-06 10:53:16 +0200 | acidjnk_new3 | (~acidjnk@p200300d6e71c4f1475e75972aae4f669.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2025-04-06 10:53:38 +0200 | takuan | (~takuan@d8D86B601.access.telenet.be) (Remote host closed the connection) |
2025-04-06 10:56:39 +0200 | AlexZenon | (~alzenon@178.34.162.245) (Quit: ;-) |
2025-04-06 10:59:18 +0200 | AlexNoo | (~AlexNoo@178.34.162.245) (Quit: Leaving) |
2025-04-06 11:04:34 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) lxsameer |
2025-04-06 11:11:29 +0200 | todi | (~todi@p57803331.dip0.t-ipconnect.de) (Quit: ZNC - https://znc.in) |
2025-04-06 11:11:40 +0200 | krei-se | (~krei-se@p5dea1cf8.dip0.t-ipconnect.de) krei-se |
2025-04-06 11:12:00 +0200 | krei-se- | (~krei-se@p3ee0f5ab.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2025-04-06 11:12:33 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) Tuplanolla |
2025-04-06 11:16:19 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
2025-04-06 11:17:11 +0200 | krei-se- | (~krei-se@p200300f1cfff4b89da9ef3fffe7fdac8.dip0.t-ipconnect.de) krei-se |
2025-04-06 11:17:24 +0200 | krei-se | (~krei-se@p5dea1cf8.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
2025-04-06 11:28:41 +0200 | AlexNoo | (~AlexNoo@178.34.162.245) |
2025-04-06 11:33:55 +0200 | todi | (~todi@p57803331.dip0.t-ipconnect.de) todi |
2025-04-06 11:35:04 +0200 | AlexZenon | (~alzenon@178.34.162.245) |
2025-04-06 11:41:22 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
2025-04-06 11:48:47 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
2025-04-06 11:52:23 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-06 11:53:36 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2025-04-06 11:53:45 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 276 seconds) |
2025-04-06 11:55:22 +0200 | TMA | (tma@twin.jikos.cz) (Ping timeout: 252 seconds) |
2025-04-06 11:57:03 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-04-06 12:02:15 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-06 12:12:03 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
2025-04-06 12:15:49 +0200 | dhil | (~dhil@2a0c:b381:52e:3600:4c26:24b1:e3bc:1cdd) dhil |
2025-04-06 12:16:49 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 248 seconds) |
2025-04-06 12:24:48 +0200 | acidjnk_new3 | (~acidjnk@p200300d6e71c4f1484dd604455bfc05c.dip0.t-ipconnect.de) acidjnk |
2025-04-06 12:25:48 +0200 | tromp | (~textual@2001:1c00:3487:1b00:210a:3dd2:fb83:a589) (Ping timeout: 245 seconds) |
2025-04-06 12:35:21 +0200 | m257 | (msa@msa.planetofnix.com) (Quit: Still trying to figure out how bouncers work.) |
2025-04-06 12:41:47 +0200 | sprotte24 | (~sprotte24@p200300d16f28a1000c1aac2cfe7f30d8.dip0.t-ipconnect.de) (Quit: Leaving) |
2025-04-06 12:48:11 +0200 | hattckory | (~hattckory@70.27.118.207) |
2025-04-06 12:51:33 +0200 | msa | (msa@msa.planetofnix.com) |
2025-04-06 12:53:59 +0200 | __monty__ | (~toonn@user/toonn) toonn |
2025-04-06 12:55:06 +0200 | <ski> | Elixir borrowed this from Erlang, which got it from Prolog. in the two latter, there is no explicit annotation for "don't shadow, match on value of variable", rather this always happens, if the variable is already in scope. iirc Oz does have a specific notation for getting a "read-only" view of a logic variable, which you can't instantiate, though |
2025-04-06 12:56:12 +0200 | <ski> | (useful when you want to hand of the not-yet-instantiated result of a computation, e.g. to another thread (or just callback, say), not allowing it to instantiating it, only inspecting its value) |
2025-04-06 13:02:02 +0200 | jespada | (~jespada@r179-25-205-222.dialup.adsl.anteldata.net.uy) jespada |
2025-04-06 13:04:34 +0200 | hattckory | (~hattckory@70.27.118.207) (Ping timeout: 260 seconds) |
2025-04-06 13:09:33 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
2025-04-06 13:14:12 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
2025-04-06 13:20:43 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-06 13:26:03 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) (Ping timeout: 244 seconds) |
2025-04-06 13:34:30 +0200 | acidjnk_new3 | (~acidjnk@p200300d6e71c4f1484dd604455bfc05c.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2025-04-06 13:35:48 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 276 seconds) |
2025-04-06 13:44:26 +0200 | tremon | (~tremon@83.80.159.219) tremon |
2025-04-06 14:15:11 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
2025-04-06 14:19:50 +0200 | <haskellbridge> | <thirdofmay18081814goya> hm. is there any construct, or monad, that allows you to extract information about where "let ... = ..." statements are within the value? |
2025-04-06 14:20:01 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 248 seconds) |
2025-04-06 14:20:29 +0200 | <haskellbridge> | <thirdofmay18081814goya> the value being a value of type "m ()" with "Monad m" (or something like it) |
2025-04-06 14:20:33 +0200 | <merijn> | I don't understand what that even means? |
2025-04-06 14:21:08 +0200 | <merijn> | How would you even query that? |
2025-04-06 14:22:18 +0200 | <int-e> | there's TemplateHaskell |
2025-04-06 14:22:28 +0200 | <merijn> | int-e: That leaves my 2nd question :p |
2025-04-06 14:22:38 +0200 | <merijn> | So I guess the real issue here is: What is your actual problem? |
2025-04-06 14:22:50 +0200 | <merijn> | Because this sounds like an X-Y problem :) |
2025-04-06 14:28:05 +0200 | sprotte24 | (~sprotte24@p200300d16f28a1000c1aac2cfe7f30d8.dip0.t-ipconnect.de) |
2025-04-06 14:31:01 +0200 | Square2 | (~Square@user/square) Square |
2025-04-06 14:31:16 +0200 | <haskellbridge> | <thirdofmay18081814goya> merijn: well that's my own question and the problem of interest, but spitballing a bit, some variation of an "Accum [(Int, ?)] m" monad where the bind "m a -> (a -> m b) -> m b" adds a value "(Int, b)" to the accumulated stack, where the "Int" value tracks how many binds there have been so far, and disallowing (somehow?) "let _ = _" without "in". |
2025-04-06 14:31:48 +0200 | <haskellbridge> | <thirdofmay18081814goya> "[(Int, ?)]" being a type of list of pairs heterogeneous on the right side |
2025-04-06 14:32:14 +0200 | <haskellbridge> | <thirdofmay18081814goya> int-e: I've been thinking about digging into it for this sort of thing yeah |
2025-04-06 14:32:16 +0200 | <merijn> | Does that even obey the Monad laws? |
2025-04-06 14:33:54 +0200 | <haskellbridge> | <thirdofmay18081814goya> i would believe so, seems to me that this is a slight variation on a state monad |
2025-04-06 14:34:21 +0200 | <merijn> | I mean, simple counter example |
2025-04-06 14:34:28 +0200 | hattckory | (~hattckory@70.27.118.207) |
2025-04-06 14:34:43 +0200 | <merijn> | Your description seems to violate "x >>= pure" being the same as "x" |
2025-04-06 14:36:40 +0200 | <haskellbridge> | <thirdofmay18081814goya> hm |
2025-04-06 14:41:59 +0200 | hattckory | (~hattckory@70.27.118.207) (Ping timeout: 260 seconds) |
2025-04-06 14:49:30 +0200 | <Leary> | A let statement is just the first half of a let-in expression obscured by sugar. |
2025-04-06 14:50:24 +0200 | <Leary> | As for counting binds, iirc you can do it lawfully if `pure` has -1. |
2025-04-06 14:50:51 +0200 | <merijn> | Leary: no |
2025-04-06 14:51:08 +0200 | <merijn> | hmm, actually, maybe that no longer violates my example |
2025-04-06 14:51:15 +0200 | <merijn> | But I'm not convinced that's lawful |
2025-04-06 14:53:32 +0200 | TMA | (tma@twin.jikos.cz) TMA |
2025-04-06 14:56:31 +0200 | hiecaq | (~hiecaq@user/hiecaq) (Quit: ERC 5.6.0.30.1 (IRC client for GNU Emacs 30.0.92)) |
2025-04-06 15:01:07 +0200 | <haskellbridge> | <thirdofmay18081814goya> merijn: a first and probably wrong attempt: "doval :: MyAccumMonad [(Int, Int + a)] ()", "doval = do x <- double 7; y <- x + 1; pure ()" s.t. it produces a value "((), [(0, Fst 14), (1, Fst 15)])", where "data a + b = Fst a | Snd b". could we do some version of "pure x = (x, [])"? |
2025-04-06 15:01:35 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Quit: leaving) |
2025-04-06 15:02:02 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
2025-04-06 15:02:37 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-06 15:04:10 +0200 | <ski> | is `x' there an `Int', or ? |
2025-04-06 15:04:25 +0200 | jacopovalanzano | (~jacopoval@cpc151911-cove17-2-0-cust105.3-1.cable.virginm.net) |
2025-04-06 15:04:37 +0200 | <haskellbridge> | <thirdofmay18081814goya> you're right that "x + 1" doesn't typecheck |
2025-04-06 15:05:14 +0200 | <ski> | perhaps you means `y <- pure (x + 1)' in place of `y <- x + 1' |
2025-04-06 15:05:31 +0200 | <ski> | or perhaps some other function in place of `pure' |
2025-04-06 15:06:25 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 248 seconds) |
2025-04-06 15:07:12 +0200 | <haskellbridge> | <thirdofmay18081814goya> right good observation, I'll think about whether this could be salvaged at all |
2025-04-06 15:08:25 +0200 | <merijn> | Maybe take a stepback and tell us what you're trying to accomplish :) |
2025-04-06 15:09:07 +0200 | <haskellbridge> | <thirdofmay18081814goya> ultimately, logging that's not syntax-intrusive |
2025-04-06 15:09:40 +0200 | <haskellbridge> | <thirdofmay18081814goya> or more specifically: whether this necessarily needs to be a metaprogram, or whether this can be done internally to the type system |
2025-04-06 15:29:38 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2025-04-06 15:30:02 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) ChaiTRex |
2025-04-06 15:45:54 +0200 | forell | (~forell@user/forell) forell |
2025-04-06 15:51:44 +0200 | <ski> | logging what ? |
2025-04-06 15:52:00 +0200 | <ski> | you could have an explicit logging-operation, you know ? |
2025-04-06 15:52:45 +0200 | rvalue | (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
2025-04-06 15:52:56 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
2025-04-06 15:53:18 +0200 | rvalue | (~rvalue@user/rvalue) rvalue |
2025-04-06 15:56:25 +0200 | amadaluzia | (~amadaluzi@user/amadaluzia) amadaluzia |
2025-04-06 15:58:09 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 276 seconds) |
2025-04-06 16:11:43 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
2025-04-06 16:17:59 +0200 | ljdarj1 | (~Thunderbi@user/ljdarj) ljdarj |
2025-04-06 16:18:57 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 248 seconds) |
2025-04-06 16:20:54 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds) |
2025-04-06 16:20:54 +0200 | ljdarj1 | ljdarj |
2025-04-06 16:27:19 +0200 | milan | (~milan@88.212.61.169) |
2025-04-06 16:35:09 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
2025-04-06 16:44:18 +0200 | smalltalkman | (uid545680@id-545680.hampstead.irccloud.com) smalltalkman |
2025-04-06 16:45:39 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 260 seconds) |
2025-04-06 16:53:22 +0200 | hacklschorsch | (~flo@2a01:4f9:3a:2296::2) (Ping timeout: 272 seconds) |
2025-04-06 16:58:00 +0200 | segfaultfizzbuzz | (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Quit: segfaultfizzbuzz) |
2025-04-06 17:00:51 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
2025-04-06 17:01:46 +0200 | Guest21 | (~Guest21@2600:6c4c:787f:a0a4:d65b:f01e:6eda:2fac) |
2025-04-06 17:05:45 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 276 seconds) |
2025-04-06 17:07:00 +0200 | Guest21 | (~Guest21@2600:6c4c:787f:a0a4:d65b:f01e:6eda:2fac) (Quit: Client closed) |
2025-04-06 17:07:22 +0200 | acidjnk_new3 | (~acidjnk@p200300d6e71c4f1484a8b96e5b185115.dip0.t-ipconnect.de) acidjnk |
2025-04-06 17:12:52 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
2025-04-06 17:15:52 +0200 | mauke | (~mauke@user/mauke) mauke |
2025-04-06 17:18:58 +0200 | __jmcantrell__ | (~weechat@user/jmcantrell) jmcantrell |
2025-04-06 17:25:11 +0200 | amadaluzia_ | (~amadaluzi@host81-159-254-182.range81-159.btcentralplus.com) |
2025-04-06 17:26:50 +0200 | amadaluzia_ | (~amadaluzi@host81-159-254-182.range81-159.btcentralplus.com) (Changing host) |
2025-04-06 17:26:50 +0200 | amadaluzia_ | (~amadaluzi@user/amadaluzia) amadaluzia |
2025-04-06 17:31:43 +0200 | tromp | (~textual@2001:1c00:3487:1b00:c873:d422:44c2:cc0c) |
2025-04-06 17:48:12 +0200 | picnoir | (~picnoir@about/aquilenet/vodoo/NinjaTrappeur) (Quit: WeeChat 4.5.1) |
2025-04-06 17:49:56 +0200 | picnoir | (~picnoir@about/aquilenet/vodoo/NinjaTrappeur) NinjaTrappeur |
2025-04-06 17:51:49 +0200 | dhil | (~dhil@2a0c:b381:52e:3600:4c26:24b1:e3bc:1cdd) (Ping timeout: 248 seconds) |
2025-04-06 18:01:38 +0200 | acidjnk_new3 | (~acidjnk@p200300d6e71c4f1484a8b96e5b185115.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
2025-04-06 18:02:26 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
2025-04-06 18:07:40 +0200 | target_i | (~target_i@user/target-i/x-6023099) target_i |
2025-04-06 18:08:59 +0200 | jmcantrell | Guest7797 |
2025-04-06 18:08:59 +0200 | Guest7797 | (644f1bed9a@user/jmcantrell) (Killed (copper.libera.chat (Nickname regained by services))) |
2025-04-06 18:08:59 +0200 | __jmcantrell__ | jmcantrell |
2025-04-06 18:09:08 +0200 | jmcantrell_ | (644f1bed9a@user/jmcantrell) jmcantrell |
2025-04-06 18:14:54 +0200 | <monochrom> | Counting binds does not break the associative law, it just can break the identity laws. But with pure contributing -1, (m >>= pure) has the same count as m because you have x+1-1. SImilarly for the other identity law. |
2025-04-06 18:15:22 +0200 | <monochrom> | But I don't like to tell people about this. Counting binds is every beginners favourite anti-monad anti-pattern. |
2025-04-06 18:15:45 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 248 seconds) |
2025-04-06 18:20:01 +0200 | <monochrom> | This is what the model "monad/>>= is programmable semicolon" gets right. In C programming, do people even imagine writing a program that counts its own lines of code? |
2025-04-06 18:22:52 +0200 | toby-bro | (~toby-bro@user/toby-bro) toby-bro |
2025-04-06 18:24:19 +0200 | <enikar> | why one would want to count bind? |
2025-04-06 18:24:34 +0200 | <ski> | dubious reasons |
2025-04-06 18:24:51 +0200 | <enikar> | I don't understand the use case. |
2025-04-06 18:24:52 +0200 | <monochrom> | :) |
2025-04-06 18:26:58 +0200 | amadaluzia | (~amadaluzi@user/amadaluzia) (Ping timeout: 244 seconds) |
2025-04-06 18:27:12 +0200 | <monochrom> | Not to endorse it, but presumably the monad also does something else, and the author hides a counter increment in bind as a proxy to count cost. |
2025-04-06 18:27:42 +0200 | <enikar> | let monads do their job :) |
2025-04-06 18:27:50 +0200 | <monochrom> | Of course we know the right way is to hide the counter increment is the something else. |
2025-04-06 18:28:06 +0200 | <monochrom> | s/is the/in the/ |
2025-04-06 18:28:32 +0200 | <ski> | i recall doing a CGI monad, which had an `io :: (Show a,Read a) => IO a -> CGI a' operation, caching the result of `IO' operations, serializing them into the generated page (when a query was generated), so that the program could then be resumed, fastforwarded to the point where it left off, to continue on |
2025-04-06 18:29:21 +0200 | <ski> | it sounded like thirdofmay18081814goya wanted something a bit reminiscent of the caching part, but for every bind automatically |
2025-04-06 18:33:46 +0200 | <monochrom> | Spin-off exercise: Suppose x +++ y = x + y + 1. Prove that +++ is a monoid operation with -1 as the identity. >:) |
2025-04-06 18:36:05 +0200 | hattckory | (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) |
2025-04-06 18:37:19 +0200 | ski | idly ponders making this into a word group |
2025-04-06 18:37:21 +0200 | <mauke> | and inverse x' = -x - 2? |
2025-04-06 18:37:40 +0200 | __monty__ | (~toonn@user/toonn) (Quit: Lost terminal) |
2025-04-06 18:39:11 +0200 | <ski> | i suppose you could take coproduct of the given group, and the group of integers |
2025-04-06 18:39:39 +0200 | <ski> | (note, arbitrary groups, not abelian ones) |
2025-04-06 18:42:06 +0200 | <ski> | hmm .. no, that doesn't quite work. coproduct would identify the neutral elements of the two groups |
2025-04-06 18:42:57 +0200 | <ski> | but we want the neutral element of the given group to be identified with `-1', not with `1', of the group of integers |
2025-04-06 18:43:49 +0200 | <ski> | er .. i suppose, not with `0'. same issue, though |
2025-04-06 18:53:22 +0200 | tromp | (~textual@2001:1c00:3487:1b00:c873:d422:44c2:cc0c) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2025-04-06 19:00:54 +0200 | ss4 | (~wootehfoo@user/wootehfoot) wootehfoot |
2025-04-06 19:01:13 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2025-04-06 19:01:31 +0200 | ss4 | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2025-04-06 19:03:32 +0200 | __monty__ | (~toonn@user/toonn) toonn |
2025-04-06 19:04:04 +0200 | emojelly | (~eselber_p@user/endojelly) endojelly |
2025-04-06 19:04:42 +0200 | <emojelly> | So I have the following function in my type class: |
2025-04-06 19:04:44 +0200 | <emojelly> | class MonadTransControl t => MonadTransCombine t where |
2025-04-06 19:04:46 +0200 | <emojelly> | ... |
2025-04-06 19:04:48 +0200 | <emojelly> | combineC :: forall m1 m2 a1 a2. (t m1 a1) -> (t m2 a2) -> Maybe (StT t a1) -> Maybe (StT t a2) -> StT t (Maybe a1, Maybe a2) |
2025-04-06 19:05:36 +0200 | <emojelly> | Those first two arguments, of type (t m1 a1) and (t m2 a2), are only there to disambiguate the type. Otherwise, ghc complains that all the "St t"s are ambiguous. |
2025-04-06 19:05:37 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
2025-04-06 19:05:55 +0200 | <emojelly> | Is there a more elegant way to do that, than passing arguments which are not actually used for anything? |
2025-04-06 19:06:42 +0200 | <emojelly> | All the information about the (t m1 a1) and (t m2 a2) are containing in (StT t a1) (StT t a2) respectively, that's pretty much their point. |
2025-04-06 19:07:30 +0200 | <c_wraith> | with that particular class definition, all that you normally should need to disambiguate is t |
2025-04-06 19:08:24 +0200 | <c_wraith> | unless StT is a type family? |
2025-04-06 19:09:06 +0200 | <emojelly> | it is, yeah! |
2025-04-06 19:09:16 +0200 | <c_wraith> | well that makes it a ton more complicated. |
2025-04-06 19:09:33 +0200 | <emojelly> | It's actually a type family from MonadTransControl (which is a relatively common class), but it's the same if I define it myself of course. |
2025-04-06 19:09:51 +0200 | <c_wraith> | But you still should only need to disambiguate t itself somehow, not m1 m2 a1 or a2 |
2025-04-06 19:10:03 +0200 | <emojelly> | Yeah. I've been wondering about using proxies... but then I think I have to pass a Proxy instead? |
2025-04-06 19:10:26 +0200 | <emojelly> | Yeah that's possible... I don't quite remember if I had to disambiguate both. |
2025-04-06 19:11:01 +0200 | <haskellbridge> | <hellwolf> options: |
2025-04-06 19:11:01 +0200 | <haskellbridge> | ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/JYSfMNZqjiXzhkfTeJfRrGsX/9kwQ5Tzz6so (4 lines) |
2025-04-06 19:14:41 +0200 | <emojelly> | Type applications seem at least a bit cleaner than "gratuitous" arguments... |
2025-04-06 19:14:45 +0200 | <emojelly> | How can I do 1.? |
2025-04-06 19:15:54 +0200 | <emojelly> | I know very little about the theory behind the system, I guess the class does not unify "t" across all its definitions somehow... |
2025-04-06 19:16:19 +0200 | <c_wraith> | the problem is that it never actually uses t in the definition of combineC |
2025-04-06 19:16:22 +0200 | <haskellbridge> | <hellwolf> class A a b | a -> b |
2025-04-06 19:16:22 +0200 | <haskellbridge> | This means that knowing "a" uniquely determins "b" |
2025-04-06 19:16:26 +0200 | <emojelly> | (have to run, will read later, thanks for the help so far!) |
2025-04-06 19:16:34 +0200 | <haskellbridge> | <hellwolf> GHC will check that |
2025-04-06 19:16:45 +0200 | <c_wraith> | err, in the type of |
2025-04-06 19:16:47 +0200 | <haskellbridge> | <hellwolf> type family has similar mechanism; which has its own limitation. |
2025-04-06 19:16:50 +0200 | <emojelly> | yeah but I'm not sure how to use a fundep here when there's only a single type? |
2025-04-06 19:17:00 +0200 | <c_wraith> | But it needs to know what t is to select an instance |
2025-04-06 19:17:22 +0200 | <haskellbridge> | <hellwolf> I don't know if it applies to your case. But I do see "StT t a1", I wonder what is StT. |
2025-04-06 19:17:35 +0200 | <emojelly> | It's a type family |
2025-04-06 19:17:46 +0200 | <haskellbridge> | <hellwolf> then you may use typefamilydependencies |
2025-04-06 19:17:58 +0200 | <haskellbridge> | <hellwolf> but there is a lot of limitations, usually it won't work for you |
2025-04-06 19:18:03 +0200 | <emojelly> | for illustration, pretend the same class would define: |
2025-04-06 19:18:05 +0200 | <emojelly> | type StT t a :: * |
2025-04-06 19:18:11 +0200 | <haskellbridge> | <hellwolf> check the doc, it has a list of rules when you can or cannot define dependencies |
2025-04-06 19:18:41 +0200 | <emojelly> | (StT is actually coming from MonadTransControl, but shouldn't matter) |
2025-04-06 19:18:57 +0200 | <emojelly> | ok, really gotta run now, but I'll read if there's anything more! Thanks again for the help so far! |
2025-04-06 19:21:14 +0200 | <haskellbridge> | <hellwolf> okay. https://hackage.haskell.org/package/monad-control-1.0.3.1/docs/src/Control.Monad.Trans.Control.htm… |
2025-04-06 19:21:15 +0200 | <haskellbridge> | ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/yxUTAVDLAhEYmWfAmyqvumAm/BKPqvW_Oq7A (4 lines) |
2025-04-06 19:21:43 +0200 | <haskellbridge> | <hellwolf> unless it's really polymorphic to any m1 m2, then for a good reason, you will need to use type applications |
2025-04-06 19:23:23 +0200 | <haskellbridge> | <hellwolf> with 9.10, you have an alternative syntax (which will be used for even more complicated use case) that is RequiredTypeArguments (or vdq, mouthfully, visible dependent quantification) |
2025-04-06 19:24:05 +0200 | <haskellbridge> | <hellwolf> with typeapplication, the annoying thing is that you need to know what's the order of the type variables, with type class's type variables come first. you can also use @_ to skip ones that you don't care |
2025-04-06 19:24:16 +0200 | <haskellbridge> | <hellwolf> with vdq, it's part of the regular currying order. |
2025-04-06 19:30:00 +0200 | weary-traveler | (~user@user/user363627) user363627 |
2025-04-06 19:32:58 +0200 | <milan> | Hello I just found I can pattern match on cons (:) and I can't on add (+). I managed to find that cons is constructor and add is just function. How can I in ghci find what functions are also constructors and thus can be used in pattern matching? |
2025-04-06 19:34:07 +0200 | <haskellbridge> | <hellwolf> > :! Maybe |
2025-04-06 19:34:18 +0200 | <haskellbridge> | <hellwolf> :i Maybe |
2025-04-06 19:34:32 +0200 | XZDX | XZDX_afk |
2025-04-06 19:34:40 +0200 | <geekosaur> | leave a blank line. but lambdabot doesn't understand :i anyway |
2025-04-06 19:35:08 +0200 | tromp | (~textual@2001:1c00:3487:1b00:c873:d422:44c2:cc0c) |
2025-04-06 19:35:09 +0200 | <haskellbridge> | <geekosaur> %% :i Maybe |
2025-04-06 19:35:21 +0200 | <haskellbridge> | <geekosaur> oh, crap, they removed that again |
2025-04-06 19:35:58 +0200 | <hellwolf> | %% :i Maybe |
2025-04-06 19:35:59 +0200 | <yahb2> | https://paste.tomsmeding.com/AtPoarKA |
2025-04-06 19:36:12 +0200 | <geekosaur> | (whether the bridge lets that work or npot seems to depend on version, and they don't provide config for it) |
2025-04-06 19:36:58 +0200 | <hellwolf> | yahb2 is just one regex away from AGI |
2025-04-06 19:37:17 +0200 | <mauke> | milan: if it starts with : it's a constructor |
2025-04-06 19:37:23 +0200 | <mauke> | or an uppercase letter |
2025-04-06 19:38:39 +0200 | <hellwolf> | type name can also start with ":", right? |
2025-04-06 19:38:58 +0200 | <mauke> | > case sqrt (-2) of x :+ y -> show x <> " + " <> show y <> "i" |
2025-04-06 19:39:00 +0200 | <lambdabot> | "0.0 + 1.4142135623730951i" |
2025-04-06 19:39:31 +0200 | <mauke> | type names are weird now |
2025-04-06 19:40:36 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) |
2025-04-06 19:40:46 +0200 | <mauke> | I think all symbols can be used at the start of type names |
2025-04-06 19:46:42 +0200 | <hellwolf> | https://www.haskell.org/onlinereport/haskell2010/haskellch10.html#x17-17700010.2 <-- is that even part of haskell2012 |
2025-04-06 19:46:46 +0200 | <hellwolf> | *2010 |
2025-04-06 19:48:24 +0200 | <geekosaur> | TypeOperators is default these days, I think? (at least if you turn on NoStarIsType so they're available) |
2025-04-06 19:48:33 +0200 | <geekosaur> | …if that's the question |
2025-04-06 19:50:00 +0200 | tromp | (~textual@2001:1c00:3487:1b00:c873:d422:44c2:cc0c) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2025-04-06 19:51:29 +0200 | <milan> | mauke: Thanks |
2025-04-06 19:53:28 +0200 | <hellwolf> | I see. I didn't realize it was an language extension. |
2025-04-06 19:54:36 +0200 | <geekosaur> | pretty much anything related to type level stuff is an extension |
2025-04-06 19:54:46 +0200 | <kqr> | merijn, late response, sorry. how do I dump out a GC report? is that -s? I mean yes, practically speaking, building the data structure currently takes 250 MB, but I there's no theoretical reason it should take significantly more space to build it than represent it. |
2025-04-06 19:57:20 +0200 | Square2 | (~Square@user/square) (Remote host closed the connection) |
2025-04-06 19:57:48 +0200 | <monochrom> | milan: Data constructors start with capital letters, e.g., "Just" rather than "just"; or in the symbol case start with colon, e.g., ":+" rather than "+". |
2025-04-06 19:58:24 +0200 | <monochrom> | Oh, already answered, heh. |
2025-04-06 19:58:26 +0200 | Square | (~Square@user/square) Square |
2025-04-06 19:59:57 +0200 | <milan> | monochrom: Thank you. |
2025-04-06 20:00:36 +0200 | <milan> | Could + be defined as constructor too? |
2025-04-06 20:01:34 +0200 | <monochrom> | I am somewhat uncertain what that would mean, but likely no. |
2025-04-06 20:03:19 +0200 | <hellwolf> | no. term level has a clear rule: only infix type constructors may start with (:). see https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/infix_tycons.html#infix-tycons. What's not clear to me is that is it part of haskell2010. |
2025-04-06 20:03:50 +0200 | <hellwolf> | oh, also, "which are required to begin with a :." |
2025-04-06 20:03:54 +0200 | <hellwolf> | goes both ways. |
2025-04-06 20:04:32 +0200 | <hellwolf> | term level functions or variables may not start with (:) |
2025-04-06 20:06:06 +0200 | tromp | (~textual@2001:1c00:3487:1b00:c873:d422:44c2:cc0c) |
2025-04-06 20:08:17 +0200 | j1n37- | (~j1n37@user/j1n37) j1n37 |
2025-04-06 20:09:30 +0200 | j1n37 | (~j1n37@user/j1n37) (Ping timeout: 268 seconds) |
2025-04-06 20:15:54 +0200 | Guest94 | (~Guest94@2402:8100:2713:dce3:44d2:5f5e:34e2:9148) |
2025-04-06 20:16:41 +0200 | Guest94 | (~Guest94@2402:8100:2713:dce3:44d2:5f5e:34e2:9148) (Client Quit) |
2025-04-06 20:19:01 +0200 | pavonia | (~user@user/siracusa) siracusa |
2025-04-06 20:23:18 +0200 | toby-bro | (~toby-bro@user/toby-bro) (Ping timeout: 252 seconds) |
2025-04-06 20:28:49 +0200 | michalz | (~michalz@185.246.207.215) |
2025-04-06 20:36:40 +0200 | tromp | (~textual@2001:1c00:3487:1b00:c873:d422:44c2:cc0c) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2025-04-06 20:38:01 +0200 | acidjnk_new3 | (~acidjnk@p200300d6e71c4f1484a8b96e5b185115.dip0.t-ipconnect.de) acidjnk |
2025-04-06 20:41:22 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac |
2025-04-06 20:41:32 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Client Quit) |
2025-04-06 20:41:50 +0200 | tromp | (~textual@2001:1c00:3487:1b00:c873:d422:44c2:cc0c) |
2025-04-06 20:48:32 +0200 | XZDX_afk | XZDX |
2025-04-06 20:49:25 +0200 | forell | (~forell@user/forell) (Ping timeout: 248 seconds) |