| 2025-04-16 00:01:27 +0000 | infinity0 | (~infinity0@pwned.gg) infinity0 |
| 2025-04-16 00:03:05 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 00:07:42 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-04-16 00:08:55 +0000 | hololeap | (~quassel@user/hololeap) (Quit: Bye) |
| 2025-04-16 00:09:17 +0000 | Googulator82 | (~Googulato@2a01-036d-0106-2077-315b-d519-517f-afe7.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-04-16 00:09:41 +0000 | Googulator82 | (~Googulato@2a01-036d-0106-2077-315b-d519-517f-afe7.pool6.digikabel.hu) |
| 2025-04-16 00:10:52 +0000 | j1n37- | (~j1n37@user/j1n37) j1n37 |
| 2025-04-16 00:11:00 +0000 | j1n37 | (~j1n37@user/j1n37) (Ping timeout: 252 seconds) |
| 2025-04-16 00:11:35 +0000 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
| 2025-04-16 00:13:33 +0000 | poscat | (~poscat@user/poscat) poscat |
| 2025-04-16 00:14:22 +0000 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
| 2025-04-16 00:15:17 +0000 | j1n37- | (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 2025-04-16 00:16:26 +0000 | poscat | (~poscat@user/poscat) poscat |
| 2025-04-16 00:19:08 +0000 | j1n37 | (~j1n37@user/j1n37) j1n37 |
| 2025-04-16 00:19:32 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 00:20:29 +0000 | hololeap | (~quassel@user/hololeap) hololeap |
| 2025-04-16 00:21:29 +0000 | hololeap | (~quassel@user/hololeap) (Client Quit) |
| 2025-04-16 00:24:11 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-04-16 00:24:53 +0000 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 248 seconds) |
| 2025-04-16 00:26:14 +0000 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
| 2025-04-16 00:28:04 +0000 | poscat | (~poscat@user/poscat) poscat |
| 2025-04-16 00:29:35 +0000 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
| 2025-04-16 00:31:06 +0000 | poscat | (~poscat@user/poscat) poscat |
| 2025-04-16 00:31:45 +0000 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
| 2025-04-16 00:31:45 +0000 | polyphem | (~rod@p4fc2c7a3.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 2025-04-16 00:32:00 +0000 | poscat | (~poscat@user/poscat) poscat |
| 2025-04-16 00:32:50 +0000 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
| 2025-04-16 00:32:53 +0000 | acidjnk | (~acidjnk@p200300d6e71c4f5865559714f8604ffa.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 2025-04-16 00:32:54 +0000 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
| 2025-04-16 00:33:06 +0000 | poscat | (~poscat@user/poscat) poscat |
| 2025-04-16 00:33:27 +0000 | polyphem | (~rod@p4fc2c4fb.dip0.t-ipconnect.de) polyphem |
| 2025-04-16 00:35:54 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 00:36:51 +0000 | j1n37 | (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 2025-04-16 00:37:38 +0000 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
| 2025-04-16 00:39:12 +0000 | poscat | (~poscat@user/poscat) poscat |
| 2025-04-16 00:39:56 +0000 | j1n37 | (~j1n37@user/j1n37) j1n37 |
| 2025-04-16 00:43:01 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2025-04-16 00:44:57 +0000 | tremon | (~tremon@83.80.159.219) (Quit: getting boxed in) |
| 2025-04-16 00:52:56 +0000 | hgolden | (~hgolden@2603:8000:9d00:3ed1:322:62f9:6518:a6a8) hgolden |
| 2025-04-16 00:53:09 +0000 | otto_s | (~user@p5b04470d.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 2025-04-16 00:53:59 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 00:55:11 +0000 | otto_s | (~user@p5b044a7e.dip0.t-ipconnect.de) |
| 2025-04-16 00:58:29 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2025-04-16 00:59:21 +0000 | notdabs | (~Owner@2600:1700:69cf:9000:2d58:f7ab:5036:c251) (Quit: Leaving) |
| 2025-04-16 00:59:43 +0000 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Read error: Connection timed out) |
| 2025-04-16 01:00:22 +0000 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
| 2025-04-16 01:02:13 +0000 | poscat | (~poscat@user/poscat) poscat |
| 2025-04-16 01:11:26 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 01:12:59 +0000 | xff0x | (~xff0x@2405:6580:b080:900:a06a:3d55:af99:ce4d) (Ping timeout: 265 seconds) |
| 2025-04-16 01:15:01 +0000 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
| 2025-04-16 01:15:12 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 264 seconds) |
| 2025-04-16 01:16:06 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-04-16 01:16:49 +0000 | j1n37 | (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 2025-04-16 01:17:15 +0000 | poscat | (~poscat@user/poscat) poscat |
| 2025-04-16 01:19:34 +0000 | Igloo | (~ian@81.2.99.210) Igfoo |
| 2025-04-16 01:19:42 +0000 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds) |
| 2025-04-16 01:21:35 +0000 | j1n37 | (~j1n37@user/j1n37) j1n37 |
| 2025-04-16 01:21:54 +0000 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
| 2025-04-16 01:22:31 +0000 | Googulator82 | (~Googulato@2a01-036d-0106-2077-315b-d519-517f-afe7.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-04-16 01:22:53 +0000 | Googulator82 | (~Googulato@2a01-036d-0106-2077-315b-d519-517f-afe7.pool6.digikabel.hu) |
| 2025-04-16 01:23:46 +0000 | poscat | (~poscat@user/poscat) poscat |
| 2025-04-16 01:25:07 +0000 | causal | (~eric@50.35.84.231) causal |
| 2025-04-16 01:25:33 +0000 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 265 seconds) |
| 2025-04-16 01:27:58 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 01:28:16 +0000 | j1n37 | (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 2025-04-16 01:30:17 +0000 | rosco | (~rosco@183.171.72.24) rosco |
| 2025-04-16 01:30:49 +0000 | euleritian | (~euleritia@95.90.214.149) (Remote host closed the connection) |
| 2025-04-16 01:31:40 +0000 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) |
| 2025-04-16 01:32:21 +0000 | j1n37 | (~j1n37@user/j1n37) j1n37 |
| 2025-04-16 01:32:25 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-04-16 01:36:31 +0000 | rosco | (~rosco@183.171.72.24) (Quit: Gotta go.) |
| 2025-04-16 01:40:40 +0000 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) (Quit: Lost terminal) |
| 2025-04-16 01:43:33 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 01:44:53 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
| 2025-04-16 01:45:11 +0000 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) ezzieyguywuf |
| 2025-04-16 01:46:35 +0000 | rosco | (~rosco@183.171.72.24) rosco |
| 2025-04-16 01:48:14 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-04-16 01:50:39 +0000 | rosco | (~rosco@183.171.72.24) (Read error: Connection reset by peer) |
| 2025-04-16 01:50:48 +0000 | rosco | (~rosco@2001:e68:5442:b896:2437:120f:9971:a543) rosco |
| 2025-04-16 01:53:48 +0000 | <monochrom> | You can learn linear algebra by just learning quantum computing. >:) |
| 2025-04-16 01:55:26 +0000 | <monochrom> | You can learn more linear algebra by just learning machine learning. >:) |
| 2025-04-16 01:59:21 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 02:04:28 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 2025-04-16 02:08:45 +0000 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
| 2025-04-16 02:14:15 +0000 | rvalue | (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
| 2025-04-16 02:14:31 +0000 | Square2 | (~Square4@user/square) Square |
| 2025-04-16 02:14:50 +0000 | rvalue | (~rvalue@user/rvalue) rvalue |
| 2025-04-16 02:16:49 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 02:17:35 +0000 | Square | (~Square@user/square) (Ping timeout: 260 seconds) |
| 2025-04-16 02:23:36 +0000 | <haskellbridge> | <Liamzee> what is there to linear algebra besides the capstone course of the standard undergraduate mathematics education (if you're some place decent) |
| 2025-04-16 02:24:02 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2025-04-16 02:24:19 +0000 | <haskellbridge> | <Liamzee> just do artin for rigor? |
| 2025-04-16 02:29:15 +0000 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 2025-04-16 02:29:51 +0000 | euleritian | (~euleritia@95.90.214.149) |
| 2025-04-16 02:31:12 +0000 | td_ | (~td@i5387093D.versanet.de) (Ping timeout: 272 seconds) |
| 2025-04-16 02:31:13 +0000 | euleritian | (~euleritia@95.90.214.149) (Read error: Connection reset by peer) |
| 2025-04-16 02:32:08 +0000 | euleritian | (~euleritia@95.90.214.149) |
| 2025-04-16 02:32:40 +0000 | td_ | (~td@i53870938.versanet.de) |
| 2025-04-16 02:37:40 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 02:39:09 +0000 | foul_owl | (~kerry@94.156.149.97) (Ping timeout: 245 seconds) |
| 2025-04-16 02:41:21 +0000 | inca | (~inca@71.30.233.213) (Ping timeout: 244 seconds) |
| 2025-04-16 02:42:04 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-04-16 02:43:30 +0000 | inca | (~inca@71.30.233.213) |
| 2025-04-16 02:47:55 +0000 | inca | (~inca@71.30.233.213) (Ping timeout: 252 seconds) |
| 2025-04-16 02:50:41 +0000 | inca | (~inca@h213.233.30.71.dynamic.ip.windstream.net) |
| 2025-04-16 02:52:18 +0000 | foul_owl | (~kerry@174-21-146-90.tukw.qwest.net) foul_owl |
| 2025-04-16 02:53:39 +0000 | Core1389 | (~rosco@183.171.73.8) rosco |
| 2025-04-16 02:54:06 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 02:54:54 +0000 | inca | (~inca@h213.233.30.71.dynamic.ip.windstream.net) (Ping timeout: 252 seconds) |
| 2025-04-16 02:58:12 +0000 | EvanR | (~EvanR@user/evanr) (Remote host closed the connection) |
| 2025-04-16 02:58:25 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2025-04-16 02:58:30 +0000 | rosco | (~rosco@2001:e68:5442:b896:2437:120f:9971:a543) (Ping timeout: 276 seconds) |
| 2025-04-16 02:58:31 +0000 | EvanR | (~EvanR@user/evanr) EvanR |
| 2025-04-16 03:01:30 +0000 | hololeap | (~quassel@user/hololeap) hololeap |
| 2025-04-16 03:07:10 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 03:07:55 +0000 | inca | (~inca@71.30.233.213) |
| 2025-04-16 03:12:22 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2025-04-16 03:17:08 +0000 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) (Quit: Lost terminal) |
| 2025-04-16 03:19:28 +0000 | Core1389 | (~rosco@183.171.73.8) (Quit: Gotta go.) |
| 2025-04-16 03:19:33 +0000 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) ezzieyguywuf |
| 2025-04-16 03:23:52 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 03:26:56 +0000 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
| 2025-04-16 03:28:48 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2025-04-16 03:39:18 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 03:40:40 +0000 | famubu | (~julinuser@user/famubu) (Quit: leaving) |
| 2025-04-16 03:44:00 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 2025-04-16 03:45:08 +0000 | dutchie | (~dutchie@user/dutchie) (Remote host closed the connection) |
| 2025-04-16 03:46:09 +0000 | j1n37- | (~j1n37@user/j1n37) j1n37 |
| 2025-04-16 03:46:11 +0000 | dutchie | (~dutchie@user/dutchie) dutchie |
| 2025-04-16 03:46:45 +0000 | j1n37 | (~j1n37@user/j1n37) (Ping timeout: 244 seconds) |
| 2025-04-16 03:50:33 +0000 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) (Ping timeout: 265 seconds) |
| 2025-04-16 03:51:13 +0000 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) ezzieyguywuf |
| 2025-04-16 03:54:09 +0000 | michalz | (~michalz@185.246.207.197) |
| 2025-04-16 03:56:05 +0000 | euleritian | (~euleritia@95.90.214.149) (Read error: Connection reset by peer) |
| 2025-04-16 03:57:05 +0000 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) |
| 2025-04-16 03:57:09 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 04:04:09 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2025-04-16 04:16:28 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 04:21:07 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 2025-04-16 04:33:41 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 04:37:34 +0000 | JuanDaugherty | (~juan@user/JuanDaugherty) JuanDaugherty |
| 2025-04-16 04:38:09 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2025-04-16 04:42:50 +0000 | amadaluzia | (~amadaluzi@user/amadaluzia) (Ping timeout: 260 seconds) |
| 2025-04-16 04:49:43 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 04:50:34 +0000 | talismanick | (~user@2601:644:937c:ed10::ae5) (Remote host closed the connection) |
| 2025-04-16 04:54:04 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-04-16 05:03:43 +0000 | j1n37- | (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 2025-04-16 05:05:43 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 05:07:03 +0000 | j1n37 | (~j1n37@user/j1n37) j1n37 |
| 2025-04-16 05:11:48 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 2025-04-16 05:12:14 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
| 2025-04-16 05:12:59 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-04-16 05:17:58 +0000 | takuan | (~takuan@d8D86B601.access.telenet.be) |
| 2025-04-16 05:21:37 +0000 | sp1ff | (~user@c-67-160-173-55.hsd1.wa.comcast.net) sp1ff |
| 2025-04-16 05:22:54 +0000 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds) |
| 2025-04-16 05:23:05 +0000 | euleritian | (~euleritia@dynamic-176-002-180-095.176.2.pool.telefonica.de) |
| 2025-04-16 05:23:25 +0000 | euleritian | (~euleritia@dynamic-176-002-180-095.176.2.pool.telefonica.de) (Read error: Connection reset by peer) |
| 2025-04-16 05:23:42 +0000 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) |
| 2025-04-16 05:24:04 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 05:28:20 +0000 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds) |
| 2025-04-16 05:28:40 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2025-04-16 05:29:11 +0000 | euleritian | (~euleritia@dynamic-176-002-180-095.176.2.pool.telefonica.de) |
| 2025-04-16 05:31:21 +0000 | JuanDaugherty | ColinRobinson |
| 2025-04-16 05:38:26 +0000 | ColinRobinson | JuanDaugherty |
| 2025-04-16 05:40:16 +0000 | jmcantrell | (~weechat@user/jmcantrell) (Ping timeout: 252 seconds) |
| 2025-04-16 05:40:16 +0000 | jmcantrell_ | jmcantrell |
| 2025-04-16 05:41:12 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 05:42:10 +0000 | __jmcantrell__ | (~weechat@user/jmcantrell) jmcantrell |
| 2025-04-16 05:47:31 +0000 | fp | (~Thunderbi@wireless-86-50-140-117.open.aalto.fi) fp |
| 2025-04-16 05:48:00 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) Feuermagier |
| 2025-04-16 05:48:05 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2025-04-16 05:51:59 +0000 | fp | (~Thunderbi@wireless-86-50-140-117.open.aalto.fi) (Ping timeout: 252 seconds) |
| 2025-04-16 05:55:24 +0000 | fp | (~Thunderbi@wireless-86-50-140-117.open.aalto.fi) fp |
| 2025-04-16 05:56:31 +0000 | hurricane_sam | (~halloy304@2001:569:76fd:b00:c916:45b:5a2a:d00) |
| 2025-04-16 05:57:18 +0000 | hgolden | (~hgolden@2603:8000:9d00:3ed1:322:62f9:6518:a6a8) (Remote host closed the connection) |
| 2025-04-16 06:01:48 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 06:02:29 +0000 | amadaluzia | (~amadaluzi@user/amadaluzia) amadaluzia |
| 2025-04-16 06:02:46 +0000 | JuanDaugherty | ColinRobinson |
| 2025-04-16 06:06:24 +0000 | ColinRobinson | (~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org)) |
| 2025-04-16 06:06:34 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 2025-04-16 06:09:14 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 06:09:19 +0000 | __jmcantrell__ | (~weechat@user/jmcantrell) (Quit: WeeChat 4.6.1) |
| 2025-04-16 06:14:09 +0000 | haritz | (~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in) |
| 2025-04-16 06:14:35 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 2025-04-16 06:16:41 +0000 | hgolden | (~hgolden@2603:8000:9d00:3ed1:322:62f9:6518:a6a8) hgolden |
| 2025-04-16 06:19:54 +0000 | fp | (~Thunderbi@wireless-86-50-140-117.open.aalto.fi) (Ping timeout: 265 seconds) |
| 2025-04-16 06:25:02 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 06:27:52 +0000 | tromp | (~textual@2001:1c00:3487:1b00:c0e6:9a43:de22:8c0a) |
| 2025-04-16 06:28:57 +0000 | takuan | (~takuan@d8D86B601.access.telenet.be) (Remote host closed the connection) |
| 2025-04-16 06:29:45 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 2025-04-16 06:40:00 +0000 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
| 2025-04-16 06:40:28 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 06:41:50 +0000 | poscat | (~poscat@user/poscat) poscat |
| 2025-04-16 06:44:26 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
| 2025-04-16 06:45:00 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-04-16 06:46:43 +0000 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen |
| 2025-04-16 06:47:04 +0000 | aaronv | (~aaronv@user/aaronv) aaronv |
| 2025-04-16 06:48:34 +0000 | hidjgr | (~hidjgr@user/hidjgr) (Quit: WeeChat 4.4.2) |
| 2025-04-16 06:50:58 +0000 | hidjgr | (~hidjgr@68.52.120.78.rev.sfr.net) |
| 2025-04-16 06:51:06 +0000 | hidjgr | (~hidjgr@68.52.120.78.rev.sfr.net) (Client Quit) |
| 2025-04-16 06:51:44 +0000 | hidjgr | (~hidjgr@68.52.120.78.rev.sfr.net) |
| 2025-04-16 06:51:49 +0000 | acidjnk | (~acidjnk@p200300d6e71c4f5865559714f8604ffa.dip0.t-ipconnect.de) acidjnk |
| 2025-04-16 06:52:12 +0000 | hidjgr | (~hidjgr@68.52.120.78.rev.sfr.net) (Changing host) |
| 2025-04-16 06:52:12 +0000 | hidjgr | (~hidjgr@user/hidjgr) hidjgr |
| 2025-04-16 06:52:54 +0000 | hidjgr | (~hidjgr@user/hidjgr) (Client Quit) |
| 2025-04-16 06:53:12 +0000 | hidjgr | (~hidjgr@68.52.120.78.rev.sfr.net) |
| 2025-04-16 06:53:19 +0000 | hidjgr | (~hidjgr@68.52.120.78.rev.sfr.net) (Client Quit) |
| 2025-04-16 06:53:36 +0000 | hidjgr | (~hidjgr@68.52.120.78.rev.sfr.net) |
| 2025-04-16 06:53:36 +0000 | hidjgr | (~hidjgr@68.52.120.78.rev.sfr.net) (Changing host) |
| 2025-04-16 06:53:36 +0000 | hidjgr | (~hidjgr@user/hidjgr) hidjgr |
| 2025-04-16 06:57:10 +0000 | sord937 | (~sord937@gateway/tor-sasl/sord937) sord937 |
| 2025-04-16 06:57:18 +0000 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
| 2025-04-16 06:57:36 +0000 | sord937 | (~sord937@gateway/tor-sasl/sord937) sord937 |
| 2025-04-16 06:58:23 +0000 | fp | (~Thunderbi@wireless-86-50-140-117.open.aalto.fi) fp |
| 2025-04-16 06:58:44 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 06:59:03 +0000 | alecs | (~alecs@nat16.software.imdea.org) alecs |
| 2025-04-16 07:00:01 +0000 | caconym | (~caconym@user/caconym) (Quit: bye) |
| 2025-04-16 07:01:01 +0000 | caconym | (~caconym@user/caconym) caconym |
| 2025-04-16 07:03:07 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-04-16 07:03:34 +0000 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
| 2025-04-16 07:04:49 +0000 | TMA | (tma@twin.jikos.cz) (Ping timeout: 272 seconds) |
| 2025-04-16 07:07:46 +0000 | rvalue- | (~rvalue@user/rvalue) rvalue |
| 2025-04-16 07:08:33 +0000 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 248 seconds) |
| 2025-04-16 07:10:10 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 07:12:47 +0000 | alecs | (~alecs@nat16.software.imdea.org) (Quit: Client closed) |
| 2025-04-16 07:14:31 +0000 | rvalue- | rvalue |
| 2025-04-16 07:15:01 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2025-04-16 07:18:09 +0000 | fp | (~Thunderbi@wireless-86-50-140-117.open.aalto.fi) (Ping timeout: 252 seconds) |
| 2025-04-16 07:19:10 +0000 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2025-04-16 07:19:37 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds) |
| 2025-04-16 07:20:31 +0000 | Lord_of_Life_ | Lord_of_Life |
| 2025-04-16 07:24:36 +0000 | ft | (~ft@p4fc2a6e6.dip0.t-ipconnect.de) (Quit: leaving) |
| 2025-04-16 07:26:25 +0000 | euleritian | (~euleritia@dynamic-176-002-180-095.176.2.pool.telefonica.de) (Read error: Connection reset by peer) |
| 2025-04-16 07:26:44 +0000 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) |
| 2025-04-16 07:27:17 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 07:31:01 +0000 | zmt01 | (~zmt00@user/zmt00) (Read error: Connection reset by peer) |
| 2025-04-16 07:31:26 +0000 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
| 2025-04-16 07:34:45 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 2025-04-16 07:37:25 +0000 | causal | (~eric@50.35.84.231) (Quit: WeeChat 4.5.1) |
| 2025-04-16 07:40:43 +0000 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 2025-04-16 07:42:53 +0000 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
| 2025-04-16 07:43:06 +0000 | ljdarj | (~Thunderbi@user/ljdarj) (Client Quit) |
| 2025-04-16 07:43:57 +0000 | emmanuelux | (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer) |
| 2025-04-16 07:45:30 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 07:48:50 +0000 | forell_ | (~forell@host-178-216-90-220.sta.tvknaszapraca.pl) (Ping timeout: 265 seconds) |
| 2025-04-16 07:50:06 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-04-16 07:56:56 +0000 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod |
| 2025-04-16 07:58:12 +0000 | hidjgr | testnick |
| 2025-04-16 07:58:48 +0000 | todi | (~todi@p57803331.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 2025-04-16 07:59:10 +0000 | testnick | hidjgr |
| 2025-04-16 07:59:58 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 08:02:13 +0000 | todi | (~todi@p57803331.dip0.t-ipconnect.de) todi |
| 2025-04-16 08:02:40 +0000 | delyan_ | (sid523379@id-523379.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 2025-04-16 08:04:18 +0000 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds) |
| 2025-04-16 08:04:39 +0000 | roconnor | (~quassel@rocq/roconnor) (Ping timeout: 252 seconds) |
| 2025-04-16 08:04:59 +0000 | roconnor | (~quassel@rocq/roconnor) roconnor |
| 2025-04-16 08:05:12 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-04-16 08:07:14 +0000 | todi | (~todi@p57803331.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
| 2025-04-16 08:08:38 +0000 | todi | (~todi@p57803331.dip0.t-ipconnect.de) todi |
| 2025-04-16 08:08:41 +0000 | todi | (~todi@p57803331.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
| 2025-04-16 08:10:43 +0000 | todi | (~todi@p57803331.dip0.t-ipconnect.de) todi |
| 2025-04-16 08:11:10 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 08:13:25 +0000 | nacation | (~m-3l4s76@user/nacation) (Read error: Connection reset by peer) |
| 2025-04-16 08:15:08 +0000 | gmg | (~user@user/gehmehgeh) gehmehgeh |
| 2025-04-16 08:17:31 +0000 | nacation | (~m-3l4s76@user/nacation) nacation |
| 2025-04-16 08:19:24 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-04-16 08:24:29 +0000 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 2025-04-16 08:25:43 +0000 | fp | (~Thunderbi@wireless-86-50-140-117.open.aalto.fi) fp |
| 2025-04-16 08:33:46 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 08:37:14 +0000 | chele | (~chele@user/chele) chele |
| 2025-04-16 08:38:37 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2025-04-16 08:45:16 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 08:45:30 +0000 | __monty__ | (~toonn@user/toonn) toonn |
| 2025-04-16 08:45:35 +0000 | pabs3 | (~pabs3@user/pabs3) (Read error: Connection reset by peer) |
| 2025-04-16 08:46:27 +0000 | pabs3 | (~pabs3@user/pabs3) pabs3 |
| 2025-04-16 08:47:21 +0000 | cheater | (~Username@user/cheater) cheater |
| 2025-04-16 08:48:49 +0000 | fp | (~Thunderbi@wireless-86-50-140-117.open.aalto.fi) (Ping timeout: 248 seconds) |
| 2025-04-16 08:50:13 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2025-04-16 08:50:32 +0000 | econo_ | (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
| 2025-04-16 08:54:42 +0000 | <bwe> | Hi again, which simpler State Monad tutorial can you recommend other than Bragilevsky's (which uses random or implementing a RPN calculator)? |
| 2025-04-16 09:01:50 +0000 | mrmr | (~mrmr@user/mrmr) mrmr |
| 2025-04-16 09:03:56 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 09:04:23 +0000 | rosco | (~rosco@183.171.73.8) rosco |
| 2025-04-16 09:04:48 +0000 | rosco | (~rosco@183.171.73.8) (Read error: Connection reset by peer) |
| 2025-04-16 09:04:58 +0000 | rosco | (~rosco@2001:e68:5442:b896:2437:120f:9971:a543) rosco |
| 2025-04-16 09:09:37 +0000 | aaronv | (~aaronv@user/aaronv) (Ping timeout: 252 seconds) |
| 2025-04-16 09:11:13 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-04-16 09:12:11 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 09:16:23 +0000 | fp | (~Thunderbi@wireless-86-50-140-117.open.aalto.fi) fp |
| 2025-04-16 09:17:16 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-04-16 09:20:33 +0000 | fp | (~Thunderbi@wireless-86-50-140-117.open.aalto.fi) (Ping timeout: 252 seconds) |
| 2025-04-16 09:29:49 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 09:34:01 +0000 | tromp | (~textual@2001:1c00:3487:1b00:c0e6:9a43:de22:8c0a) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-04-16 09:34:41 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2025-04-16 09:43:12 +0000 | amadaluzia_ | (~amadaluzi@user/amadaluzia) amadaluzia |
| 2025-04-16 09:45:15 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 09:49:56 +0000 | forell | (~forell@user/forell) forell |
| 2025-04-16 09:50:15 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-04-16 09:50:54 +0000 | <haskellbridge> | <Morj> Whic RPC schemes are you familiar with? I can name grpc, json-rpc, json over http |
| 2025-04-16 09:51:34 +0000 | <haskellbridge> | <Morj> Ughh xml over http is a thing too, and I know there are xml-over-something older than that that I never used |
| 2025-04-16 09:51:45 +0000 | <haskellbridge> | <Morj> What are some things more modern and cool? |
| 2025-04-16 09:51:52 +0000 | <[exa]> | remote lambda application |
| 2025-04-16 09:52:36 +0000 | <[exa]> | bwe: tbh I'd recommend just biting the bullet and trying to reimplement the thing yourself, it's most effective |
| 2025-04-16 09:52:40 +0000 | <haskellbridge> | <Morj> That sounds more like an idea than a concrete rpc with a library and shit :] |
| 2025-04-16 09:53:34 +0000 | <[exa]> | bwe: as the initial hint you get the information that stateful functions can be represented as (s -> (result, s)), possibly with more parameters such as (a->b->s->(result, s)), then you add Functor Applicative Monad instances and eventually it just works |
| 2025-04-16 09:54:28 +0000 | <[exa]> | Morj: yeah but it's lovable no? why do you need RPC in 2025? |
| 2025-04-16 09:56:14 +0000 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 245 seconds) |
| 2025-04-16 09:56:19 +0000 | <haskellbridge> | <Morj> Indeed, why do I |
| 2025-04-16 09:56:39 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 245 seconds) |
| 2025-04-16 09:57:26 +0000 | <haskellbridge> | <Morj> I'm actually looking for a replacement for our grpc which supports backwards connections: it's a server that establishes the connection to the client, and then the client sends requests |
| 2025-04-16 09:57:45 +0000 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) Unicorn_Princess |
| 2025-04-16 09:59:03 +0000 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds) |
| 2025-04-16 09:59:22 +0000 | euleritian | (~euleritia@176.2.178.231) |
| 2025-04-16 09:59:51 +0000 | L29Ah | (~L29Ah@wikipedia/L29Ah) L29Ah |
| 2025-04-16 10:01:44 +0000 | j1n37 | (~j1n37@user/j1n37) (Ping timeout: 260 seconds) |
| 2025-04-16 10:02:43 +0000 | lxsameer | (~lxsameer@Serene/lxsameer) lxsameer |
| 2025-04-16 10:02:50 +0000 | j1n37 | (~j1n37@user/j1n37) j1n37 |
| 2025-04-16 10:03:02 +0000 | euleritian | (~euleritia@176.2.178.231) (Read error: Connection reset by peer) |
| 2025-04-16 10:03:27 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 10:04:17 +0000 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) |
| 2025-04-16 10:06:55 +0000 | turlando | (~turlando@user/turlando) turlando |
| 2025-04-16 10:07:45 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2025-04-16 10:13:12 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 10:17:04 +0000 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 245 seconds) |
| 2025-04-16 10:18:19 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-04-16 10:23:39 +0000 | <[exa]> | Morj: how much other programs do you need to talk to it? |
| 2025-04-16 10:24:21 +0000 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 2025-04-16 10:24:34 +0000 | <[exa]> | (other than that it's probably quite easy to do the server&client layer with a bit of haskell. streaming libraries can help you with parsing the command stream) |
| 2025-04-16 10:25:18 +0000 | euleritian | (~euleritia@dynamic-176-002-178-231.176.2.pool.telefonica.de) |
| 2025-04-16 10:30:12 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 10:30:39 +0000 | Digit | (~user@user/digit) (Remote host closed the connection) |
| 2025-04-16 10:32:00 +0000 | gmg | (~user@user/gehmehgeh) (Ping timeout: 264 seconds) |
| 2025-04-16 10:32:31 +0000 | gmg | (~user@user/gehmehgeh) gehmehgeh |
| 2025-04-16 10:35:22 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 2025-04-16 10:35:47 +0000 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
| 2025-04-16 10:39:07 +0000 | Digit | (~user@user/digit) Digit |
| 2025-04-16 10:40:41 +0000 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
| 2025-04-16 10:43:10 +0000 | __monty__ | (~toonn@user/toonn) (Ping timeout: 276 seconds) |
| 2025-04-16 10:45:46 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 10:52:33 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2025-04-16 10:53:28 +0000 | xff0x | (~xff0x@2405:6580:b080:900:121f:92ea:5a7d:afb) |
| 2025-04-16 11:00:10 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac |
| 2025-04-16 11:04:45 +0000 | jacopovalanzano | (~jacopoval@cpc151911-cove17-2-0-cust105.3-1.cable.virginm.net) |
| 2025-04-16 11:06:46 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 11:07:58 +0000 | jacopovalanzano | (~jacopoval@cpc151911-cove17-2-0-cust105.3-1.cable.virginm.net) (Client Quit) |
| 2025-04-16 11:11:20 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-04-16 11:13:46 +0000 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
| 2025-04-16 11:14:12 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 11:15:00 +0000 | haritz | (~hrtz@152.37.68.178) |
| 2025-04-16 11:15:00 +0000 | haritz | (~hrtz@152.37.68.178) (Changing host) |
| 2025-04-16 11:15:00 +0000 | haritz | (~hrtz@user/haritz) haritz |
| 2025-04-16 11:18:55 +0000 | <haskellbridge> | <Morj> [exa] Yeah that's the problem: the other part will be written by the other team in typescript >_< |
| 2025-04-16 11:19:05 +0000 | Digit | (~user@user/digit) (Remote host closed the connection) |
| 2025-04-16 11:19:08 +0000 | <haskellbridge> | <Morj> So I would prefer something at least known |
| 2025-04-16 11:19:34 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2025-04-16 11:21:40 +0000 | Digit | (~user@user/digit) Digit |
| 2025-04-16 11:25:45 +0000 | __monty__ | (~toonn@user/toonn) toonn |
| 2025-04-16 11:27:29 +0000 | fp | (~Thunderbi@wireless-86-50-140-117.open.aalto.fi) fp |
| 2025-04-16 11:29:49 +0000 | xff0x | (~xff0x@2405:6580:b080:900:121f:92ea:5a7d:afb) (Ping timeout: 252 seconds) |
| 2025-04-16 11:31:17 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 11:31:54 +0000 | <[exa]> | Morj: so you'd like something like Servant that can generate typescript bindings automagically? |
| 2025-04-16 11:32:05 +0000 | <[exa]> | btw typescript ain't bad, not even remotely the worst choice :D |
| 2025-04-16 11:32:59 +0000 | <haskellbridge> | <Morj> Well, I doubt that I will find a second servant, though it would be nice. I'm thinking a protobuf-like spec is most likely to exist |
| 2025-04-16 11:34:44 +0000 | <haskellbridge> | <Morj> For now I'm playing around with protobuf in reverse: replace "rpc CoolFunc(CoolArg) returns (CoolRet)" with "rpc CoolFuncR(stream CoolRet) returns (stream CoolArg)" - you call CoolFuncR, await the argument from the stream, and send the return through you own stream back |
| 2025-04-16 11:35:32 +0000 | <[exa]> | stupid idea: check what Servant uses to generate the js bindings, check reverse dependencies of that package, find other packages that generate some bindings for js |
| 2025-04-16 11:36:28 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 2025-04-16 11:36:58 +0000 | <[exa]> | (as in, I solved most of my software choices that way) |
| 2025-04-16 11:39:31 +0000 | <haskellbridge> | <Morj> Mm, it uses servant-typescript, which is used by nothing (-: |
| 2025-04-16 11:39:37 +0000 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
| 2025-04-16 11:40:08 +0000 | <haskellbridge> | <Morj> And servant-typescript generates code using "string-interpolate", not very useful |
| 2025-04-16 11:43:44 +0000 | <[exa]> | ok well, I hoped there's an intermediate package there |
| 2025-04-16 11:44:06 +0000 | <[exa]> | (this apparent failure guarantees more luck next time!) |
| 2025-04-16 11:47:43 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 11:52:17 +0000 | j1n37 | (~j1n37@user/j1n37) (Ping timeout: 248 seconds) |
| 2025-04-16 11:52:44 +0000 | j1n37 | (~j1n37@user/j1n37) j1n37 |
| 2025-04-16 11:54:51 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2025-04-16 11:55:19 +0000 | fp | (~Thunderbi@wireless-86-50-140-117.open.aalto.fi) (Ping timeout: 276 seconds) |
| 2025-04-16 12:01:03 +0000 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
| 2025-04-16 12:03:26 +0000 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
| 2025-04-16 12:05:00 +0000 | koz | (~koz@121.99.240.58) (Ping timeout: 272 seconds) |
| 2025-04-16 12:07:58 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 12:10:23 +0000 | jespada | (~jespada@r190-133-10-247.dialup.adsl.anteldata.net.uy) jespada |
| 2025-04-16 12:11:01 +0000 | j1n37 | (~j1n37@user/j1n37) (Ping timeout: 248 seconds) |
| 2025-04-16 12:11:50 +0000 | j1n37 | (~j1n37@user/j1n37) j1n37 |
| 2025-04-16 12:12:01 +0000 | amadaluzia_ | (~amadaluzi@user/amadaluzia) (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-16 12:12:29 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2025-04-16 12:15:14 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 12:17:50 +0000 | <haskellbridge> | <eldritchcookie> hello is there any dependency light way for equivalents of System.Environment on OsString? |
| 2025-04-16 12:17:59 +0000 | amadaluzia_ | (~amadaluzi@user/amadaluzia) amadaluzia |
| 2025-04-16 12:19:31 +0000 | euleritian | (~euleritia@dynamic-176-002-178-231.176.2.pool.telefonica.de) (Read error: Connection reset by peer) |
| 2025-04-16 12:19:51 +0000 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) |
| 2025-04-16 12:19:59 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2025-04-16 12:22:05 +0000 | <bwe> | [exa]: https://github.com/benjaminweb/state-monad/blob/main/src/MyLib.hs |
| 2025-04-16 12:23:05 +0000 | <[exa]> | bwe: ok good, first you'll want to make instances on that so you need some kind of type tag for the "function" in your type there |
| 2025-04-16 12:23:29 +0000 | <[exa]> | usually we do with `data` or `newtype`, in this case `newtype State ... = State (.. -> ..)` is probably the way |
| 2025-04-16 12:24:03 +0000 | <[exa]> | (doing instances on `type` aliases is .... well, complicated) |
| 2025-04-16 12:24:32 +0000 | <[exa]> | anyway the rest of that seems ok |
| 2025-04-16 12:25:26 +0000 | <[exa]> | in particular the last line is basically what you just throw to the monad instance and it should work |
| 2025-04-16 12:27:19 +0000 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 2025-04-16 12:27:56 +0000 | <[exa]> | bwe: as the next task try to think how to implement "set state" function and "get state" function |
| 2025-04-16 12:28:06 +0000 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) |
| 2025-04-16 12:28:39 +0000 | <[exa]> | (the types of these should be roughly `s -> State s ()` and `State s s`, respectively) |
| 2025-04-16 12:29:10 +0000 | xff0x | (~xff0x@2405:6580:b080:900:1f70:b482:b471:6289) |
| 2025-04-16 12:30:00 +0000 | poscat | (~poscat@user/poscat) poscat |
| 2025-04-16 12:32:48 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 12:37:28 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-04-16 12:41:07 +0000 | koz | (~koz@121.99.240.58) |
| 2025-04-16 12:41:43 +0000 | jespada | (~jespada@r190-133-10-247.dialup.adsl.anteldata.net.uy) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 2025-04-16 12:46:13 +0000 | jespada | (~jespada@r190-133-10-247.dialup.adsl.anteldata.net.uy) jespada |
| 2025-04-16 12:46:24 +0000 | <bwe> | [exa]: that's interesting, shifting from type alias to newtype is bringing me headaches. The function body of the bind does not compile anymore, wherever I try to put State as data constructor. |
| 2025-04-16 12:48:50 +0000 | <[exa]> | yes you suddenly have to remove&add the "type tag" everywhere |
| 2025-04-16 12:49:13 +0000 | <[exa]> | which is annoying but that ensures that the typesystem can actually work with your stateful computation s->(s,a) specially, not just like some other function |
| 2025-04-16 12:49:37 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 12:50:02 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 2025-04-16 12:50:25 +0000 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds) |
| 2025-04-16 12:50:34 +0000 | amadaluzia | (~amadaluzi@user/amadaluzia) (Ping timeout: 276 seconds) |
| 2025-04-16 12:50:41 +0000 | <bwe> | So, I am starting now with: newtype State s a = State (s -> (a, s)) |
| 2025-04-16 12:50:58 +0000 | amadaluzia | (~amadaluzi@user/amadaluzia) amadaluzia |
| 2025-04-16 12:51:07 +0000 | <bwe> | coming from: type State s a = (s -> (a, s)) |
| 2025-04-16 12:54:35 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-04-16 13:00:54 +0000 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
| 2025-04-16 13:07:02 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 13:08:45 +0000 | ski | would use `newtype State s a = MkState (s -> (a,s))', for clarity |
| 2025-04-16 13:08:59 +0000 | Guest38 | (~Guest38@175.143.89.234) |
| 2025-04-16 13:09:44 +0000 | Guest38 | (~Guest38@175.143.89.234) () |
| 2025-04-16 13:10:03 +0000 | weary-traveler | (~user@user/user363627) user363627 |
| 2025-04-16 13:10:06 +0000 | <ski> | .. or `newtype State s a = MkState {runState :: s -> (a,s)}', using record syntax notation to automagically get the projection/selector |
| 2025-04-16 13:11:54 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-04-16 13:15:12 +0000 | Catty | catties |
| 2025-04-16 13:16:17 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 13:18:44 +0000 | Googulator82 | (~Googulato@2a01-036d-0106-2077-315b-d519-517f-afe7.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-04-16 13:19:12 +0000 | Googulator82 | (~Googulato@94-21-172-228.pool.digikabel.hu) |
| 2025-04-16 13:20:59 +0000 | haritz | (~hrtz@user/haritz) (Read error: Connection reset by peer) |
| 2025-04-16 13:21:21 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2025-04-16 13:22:35 +0000 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2025-04-16 13:23:51 +0000 | haritz | (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) |
| 2025-04-16 13:23:51 +0000 | haritz | (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host) |
| 2025-04-16 13:23:51 +0000 | haritz | (~hrtz@user/haritz) haritz |
| 2025-04-16 13:27:11 +0000 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
| 2025-04-16 13:27:15 +0000 | acidjnk | (~acidjnk@p200300d6e71c4f5865559714f8604ffa.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 2025-04-16 13:27:36 +0000 | <bwe> | Functor and Applicative: https://github.com/benjaminweb/state-monad/blob/main/src/MyLib.hs |
| 2025-04-16 13:28:38 +0000 | L29Ah | (~L29Ah@wikipedia/L29Ah) L29Ah |
| 2025-04-16 13:31:51 +0000 | <[exa]> | bwe: looks all OK to me |
| 2025-04-16 13:32:11 +0000 | <[exa]> | bwe: for the monad instance the only thing you might need to do is to unpack the `f` from State, and repack the result |
| 2025-04-16 13:33:57 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 13:34:17 +0000 | <ski> | -- fmap :: (a -> b) -> State (s -> (a, s)) -> State (s -> (b, s)) |
| 2025-04-16 13:34:18 +0000 | <ski> | should be |
| 2025-04-16 13:34:28 +0000 | <ski> | -- fmap :: (a -> b) -> (s -> (a,s)) -> (s -> (b,s)) |
| 2025-04-16 13:35:00 +0000 | jacopovalanzano | (~jacopoval@cpc151911-cove17-2-0-cust105.3-1.cable.virginm.net) |
| 2025-04-16 13:35:06 +0000 | <ski> | similarly |
| 2025-04-16 13:35:08 +0000 | <ski> | -- <*> :: MkState (s0 -> (a -> b, s1)) -> MkState (s0 -> (a, s1)) -> MkState (s0 -> (b, s1)) |
| 2025-04-16 13:35:11 +0000 | <ski> | should be |
| 2025-04-16 13:35:55 +0000 | <ski> | -- <*> :: (s0 -> (a -> b,s1)) -> (s0 -> (a,s1)) -> (s0 -> (b,s1)) -- well, actually not quite this, either. can you see why ? |
| 2025-04-16 13:36:36 +0000 | <bwe> | [exa]: updated. includes Monad definition now, however I don't use the s1 yet, I should, right? |
| 2025-04-16 13:37:47 +0000 | ystael | (~ystael@user/ystael) ystael |
| 2025-04-16 13:38:08 +0000 | <ski> | if you add |
| 2025-04-16 13:38:17 +0000 | <ski> | {-# LANGUAGE InstanceSigs #-} |
| 2025-04-16 13:38:35 +0000 | <ski> | to the first line, you can uncomment one of the type signatures, for each method of each instance |
| 2025-04-16 13:39:24 +0000 | <ski> | (<*>) (MkState f) (MkState g) = ..f..g.. |
| 2025-04-16 13:39:31 +0000 | <ski> | also could be written as |
| 2025-04-16 13:39:40 +0000 | <ski> | MkState f <*> MkState g = ..f..g.. |
| 2025-04-16 13:40:35 +0000 | <bwe> | ski: puh, I don't get why the type signatures should be (s -> (a, s)) for Functor, wh? |
| 2025-04-16 13:40:58 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-04-16 13:41:21 +0000 | <ski> | `State (s -> (a, s))' makes no sense, here |
| 2025-04-16 13:41:55 +0000 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) (Ping timeout: 276 seconds) |
| 2025-04-16 13:41:56 +0000 | <ski> | `fmap :: (a -> b) -> (s -> (a,s)) -> (s -> (b,s))' also, strictly speaking, isn't correct. but it's the type signature you'd get, if you were able to use `type State s a = (s -> (a,s))' |
| 2025-04-16 13:42:07 +0000 | euleritian | (~euleritia@dynamic-176-002-178-231.176.2.pool.telefonica.de) |
| 2025-04-16 13:44:49 +0000 | <ski> | the definition of `(>>=)' isn't quite correct, but i guess you knew that |
| 2025-04-16 13:45:29 +0000 | <ski> | ah, you updated it |
| 2025-04-16 13:45:32 +0000 | <ski> | -- (>>=) :: Monad m => MkState (s -> (a, s)) -> (a -> MkState (s -> (b, s))) -> MkState (s -> (b, s)) |
| 2025-04-16 13:45:36 +0000 | <ski> | this makes no sense |
| 2025-04-16 13:46:15 +0000 | <ski> | `MkState' is value-level (a data constructor), it's not type-level. so it makes no sense to mention it in the type signature |
| 2025-04-16 13:46:33 +0000 | <ski> | presumably the notation |
| 2025-04-16 13:46:34 +0000 | <ski> | newtype State s a = MkState (s -> (a, s)) |
| 2025-04-16 13:46:42 +0000 | <ski> | here is what's confusing |
| 2025-04-16 13:47:02 +0000 | dutchie | (~dutchie@user/dutchie) (Remote host closed the connection) |
| 2025-04-16 13:47:19 +0000 | <ski> | this notation does not mean that the type `State s a' is equal to the "type" `MkState (s -> (a, s))' (this is not a type) |
| 2025-04-16 13:47:20 +0000 | dutchie | (~dutchie@user/dutchie) dutchie |
| 2025-04-16 13:48:06 +0000 | <ski> | what this (BNF-inspired) notation *actually* means, is that if `x' has type `s -> (a,s)', then `MkState x' has type `State s a' |
| 2025-04-16 13:48:32 +0000 | <ski> | in symbols, if `x :: s -> (a,s)', then `MkState x :: State s a' |
| 2025-04-16 13:48:45 +0000 | <ski> | which you can abbreviate as |
| 2025-04-16 13:48:57 +0000 | <ski> | MkState :: (s -> (a,s)) -> State s a |
| 2025-04-16 13:49:35 +0000 | <bwe> | [exa]: >>= is now defined, incorporating s1 |
| 2025-04-16 13:49:50 +0000 | <bwe> | ski: how are the type signatures now? |
| 2025-04-16 13:50:25 +0000 | <ski> | the definition of `(>>=)' is still not right |
| 2025-04-16 13:50:57 +0000 | amadaluzia | (~amadaluzi@user/amadaluzia) (Ping timeout: 244 seconds) |
| 2025-04-16 13:51:12 +0000 | <ski> | -- fmap :: (a -> b) -> MkState (s0 -> (a, s1)) -> MkState (s0 -> (l, s1)) |
| 2025-04-16 13:51:16 +0000 | <ski> | is not any better than |
| 2025-04-16 13:51:17 +0000 | <ski> | -- fmap :: (a -> b) -> State (s -> (a, s)) -> State (s -> (b, s)) |
| 2025-04-16 13:52:01 +0000 | <ski> | (good that you added brackets around `<*>', in the type signatures. was wondering whether i had to point that out) |
| 2025-04-16 13:52:31 +0000 | <bwe> | Instance Type Signatures were a good idea btw. |
| 2025-04-16 13:52:42 +0000 | <ski> | yes |
| 2025-04-16 13:52:46 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 13:52:47 +0000 | amadaluzia_ | (~amadaluzi@user/amadaluzia) (Ping timeout: 265 seconds) |
| 2025-04-16 13:52:49 +0000 | <ski> | this last definition of `(>>=)' is fine |
| 2025-04-16 13:53:20 +0000 | <ski> | i still would like you to remove all mentions of `MkState ' from the type signatures |
| 2025-04-16 13:53:49 +0000 | <ski> | after `::', you're writing types. `MkState' is not a type, it does not belong there |
| 2025-04-16 13:54:23 +0000 | <bwe> | ok, let me try to get it right :). |
| 2025-04-16 13:54:47 +0000 | <ski> | (and then there's the issue with `s0' and `s1' in the signature for `(<*>)') |
| 2025-04-16 13:55:11 +0000 | <ski> | (you also changed one `b' to `l', for unclear reasons) |
| 2025-04-16 13:55:43 +0000 | JuanDaugherty | (~juan@user/JuanDaugherty) JuanDaugherty |
| 2025-04-16 13:55:48 +0000 | <ski> | ah, imho you should also remove the remaining `Monad m => ' |
| 2025-04-16 13:56:05 +0000 | <ski> | @src Monad |
| 2025-04-16 13:56:06 +0000 | <lambdabot> | class Applicative m => Monad m where |
| 2025-04-16 13:56:06 +0000 | <lambdabot> | -- Note: Applicative wasn't a superclass before GHC 7.10 |
| 2025-04-16 13:56:06 +0000 | <lambdabot> | (>>=) :: m a -> (a -> m b) -> m b |
| 2025-04-16 13:56:06 +0000 | <lambdabot> | (>>) :: m a -> m b -> m b |
| 2025-04-16 13:56:08 +0000 | <lambdabot> | return :: a -> m a |
| 2025-04-16 13:56:10 +0000 | <lambdabot> | fail :: String -> m a |
| 2025-04-16 13:56:18 +0000 | <ski> | note that this does not mention any `Monad => ' in the type signatures of the methods here |
| 2025-04-16 13:56:33 +0000 | <ski> | that's implied, implicit, due to them being methods of `Monad m', here |
| 2025-04-16 13:57:31 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 2025-04-16 13:59:13 +0000 | acidjnk | (~acidjnk@p200300d6e71c4f4138f4856942b014fc.dip0.t-ipconnect.de) acidjnk |
| 2025-04-16 14:00:16 +0000 | Digitteknohippie | (~user@user/digit) Digit |
| 2025-04-16 14:01:40 +0000 | Digit | (~user@user/digit) (Ping timeout: 260 seconds) |
| 2025-04-16 14:02:44 +0000 | <bwe> | ski: updated. though, the level where I tried to collapse types into data constructors really helped me to deconstruct and see the components! |
| 2025-04-16 14:05:45 +0000 | Digitteknohippie | (~user@user/digit) (Ping timeout: 260 seconds) |
| 2025-04-16 14:05:50 +0000 | <ski> | dunno why you changed `>>=' from being defined infix, to being defined prefix, though |
| 2025-04-16 14:06:36 +0000 | <ski> | and the `s0' and `s1' in the signatures is still incorrect |
| 2025-04-16 14:08:14 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 14:12:29 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2025-04-16 14:13:25 +0000 | JuanDaugherty | ColinRobinson |
| 2025-04-16 14:17:16 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 14:17:21 +0000 | mange | (~user@user/mange) (Quit: Zzz...) |
| 2025-04-16 14:18:56 +0000 | Square2 | (~Square4@user/square) (Remote host closed the connection) |
| 2025-04-16 14:18:59 +0000 | Digit | (~user@user/digit) Digit |
| 2025-04-16 14:19:01 +0000 | forell | (~forell@user/forell) (Quit: ZNC - https://znc.in) |
| 2025-04-16 14:19:19 +0000 | forell | (~forell@user/forell) forell |
| 2025-04-16 14:19:36 +0000 | Square2 | (~Square4@user/square) Square |
| 2025-04-16 14:21:42 +0000 | fp | (~Thunderbi@wireless-86-50-140-117.open.aalto.fi) fp |
| 2025-04-16 14:22:26 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
| 2025-04-16 14:23:30 +0000 | hc | (~hc@mail.hce.li) hc |
| 2025-04-16 14:33:57 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 14:35:06 +0000 | fp | (~Thunderbi@wireless-86-50-140-117.open.aalto.fi) (Ping timeout: 272 seconds) |
| 2025-04-16 14:35:07 +0000 | Square2 | (~Square4@user/square) (Ping timeout: 272 seconds) |
| 2025-04-16 14:39:12 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 2025-04-16 14:49:32 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 14:50:30 +0000 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) Unicorn_Princess |
| 2025-04-16 14:50:34 +0000 | Digit | digitteknohippie |
| 2025-04-16 14:50:43 +0000 | digitteknohippie | Digit |
| 2025-04-16 14:54:43 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 2025-04-16 14:56:23 +0000 | <bwe> | s /away |
| 2025-04-16 14:57:05 +0000 | <bwe> | ski: do you mean the numbers should go away or the way the numbers are currently is incorrect? |
| 2025-04-16 15:04:34 +0000 | notdabs | (~Owner@2600:1700:69cf:9000:e035:2729:333c:ea) |
| 2025-04-16 15:05:00 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 15:09:41 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2025-04-16 15:13:26 +0000 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
| 2025-04-16 15:14:49 +0000 | __jmcantrell__ | (~weechat@user/jmcantrell) jmcantrell |
| 2025-04-16 15:14:55 +0000 | jmcantrell | (644f1bed9a@user/jmcantrell) (Killed (erbium.libera.chat (Nickname regained by services))) |
| 2025-04-16 15:14:55 +0000 | __jmcantrell__ | jmcantrell |
| 2025-04-16 15:15:04 +0000 | jmcantrell_ | (644f1bed9a@user/jmcantrell) jmcantrell |
| 2025-04-16 15:15:36 +0000 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 276 seconds) |
| 2025-04-16 15:18:09 +0000 | euleritian | (~euleritia@dynamic-176-002-178-231.176.2.pool.telefonica.de) (Read error: Connection reset by peer) |
| 2025-04-16 15:18:16 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 15:18:29 +0000 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) |
| 2025-04-16 15:18:30 +0000 | <bwe> | [exa]: set & get implemented: https://github.com/benjaminweb/state-monad/blob/main/src/MyLib.hs |
| 2025-04-16 15:24:30 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-04-16 15:24:35 +0000 | <[exa]> | bwe: o great |
| 2025-04-16 15:25:12 +0000 | <[exa]> | bwe: so essentially what you need now is some helper tool for the "users" that allows you to run the state (starting with some initial state), e.g. `evalState :: State s a -> s -> a` or so |
| 2025-04-16 15:25:28 +0000 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
| 2025-04-16 15:27:09 +0000 | <[exa]> | bwe: as a good test you can try something like: stateSum xs = evalState 0 $ traverse (\x -> get >>= set . (+x)) xs |
| 2025-04-16 15:28:38 +0000 | <[exa]> | or a simpler sanity-check-kindof-test: `evalState 'a' (put 'b' >> get)` should return 'b' |
| 2025-04-16 15:30:57 +0000 | bwe | added evalState |
| 2025-04-16 15:31:02 +0000 | <[exa]> | bwe: small notes: you don't need to define `return` (it's defaulted from `pure`), and in definitions it's quite pretty to use infix operators, such as: `MkState f <*> MkState a = ...` |
| 2025-04-16 15:31:32 +0000 | <[exa]> | bwe: looks right |
| 2025-04-16 15:32:20 +0000 | <[exa]> | bwe: btw people normally define a `runState` kinda implicitly, with saying something like: newtype State s a = MkState { runState :: s -> (a,s) } |
| 2025-04-16 15:32:29 +0000 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) kuribas |
| 2025-04-16 15:32:57 +0000 | <[exa]> | conveniently, then you get the "accessor" with type `runState :: State s a -> s -> (a,s)` which is almost evalState. :) |
| 2025-04-16 15:35:02 +0000 | <[exa]> | oh noes I'm using flipped `evalState` in the examples, sorry :D |
| 2025-04-16 15:36:42 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 15:37:40 +0000 | <[exa]> | bwe: ok my examples are actually super wrong but fixing them to a working state might become a good exercise (in both cases you need one `flip`, and in the one case you need to return state instead of the (redundant) return value) |
| 2025-04-16 15:38:31 +0000 | <[exa]> | (sorry for the mess, I'm doing cellphone haskell rn :D) |
| 2025-04-16 15:41:14 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-04-16 15:45:34 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 252 seconds) |
| 2025-04-16 15:52:17 +0000 | <bwe> | [exa]: evalState (set 42 >> get) 0 -- outputs 42 |
| 2025-04-16 15:52:17 +0000 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds) |
| 2025-04-16 15:53:05 +0000 | euleritian | (~euleritia@176.2.178.231) |
| 2025-04-16 15:53:19 +0000 | bwe | has updated https://github.com/benjaminweb/state-monad/blob/main/src/MyLib.hs to include evalState and runState now. |
| 2025-04-16 15:53:46 +0000 | <bwe> | ski: also, <*> and >>= are defined by infix notation. |
| 2025-04-16 15:54:13 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 15:58:52 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-04-16 15:59:10 +0000 | zmt00 | (~zmt00@user/zmt00) zmt00 |
| 2025-04-16 16:01:41 +0000 | chele | (~chele@user/chele) (Remote host closed the connection) |
| 2025-04-16 16:03:38 +0000 | <ski> | `(MkState f) <*> (MkState g)' can be just `MkState f <*> MkState g' |
| 2025-04-16 16:03:43 +0000 | <ski> | bwe : "do you mean the numbers should go away or the way the numbers are currently is incorrect?" -- both |
| 2025-04-16 16:06:54 +0000 | ColinRobinson | (~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org)) |
| 2025-04-16 16:06:58 +0000 | amadaluzia | (~amadaluzi@user/amadaluzia) amadaluzia |
| 2025-04-16 16:07:37 +0000 | <bwe> | ski: fixed |
| 2025-04-16 16:07:41 +0000 | <ski> | bwe : another exercise, define a reasonable type `Tree' of trees (you should be able to make it a `Functor'), and then define `label :: Tree a -> Tree (Integer,a)', numbering every element with a running index, starting at `0', counting upwards |
| 2025-04-16 16:08:33 +0000 | <ski> | you could make two definitions of `label', one "direct", and one using your `State' |
| 2025-04-16 16:09:17 +0000 | <ski> | (it might help to define a `tick :: State Integer Integer', that yields the current count, while also post-incrementing it) |
| 2025-04-16 16:12:11 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 16:17:41 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-04-16 16:18:17 +0000 | <bwe> | ski: nice one, will try later :). -- but as far as the State Monad implementation concerned, is that it? |
| 2025-04-16 16:19:19 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 16:21:18 +0000 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
| 2025-04-16 16:22:13 +0000 | inca | (~inca@71.30.233.213) (Ping timeout: 248 seconds) |
| 2025-04-16 16:23:51 +0000 | <ski> | you still have redundant brackets in the definition of `>>=' |
| 2025-04-16 16:24:24 +0000 | <ski> | otherwise, yes |
| 2025-04-16 16:24:40 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
| 2025-04-16 16:26:16 +0000 | kadobanana | (~mud@user/kadoban) kadoban |
| 2025-04-16 16:26:39 +0000 | mud | (~mud@user/kadoban) (Ping timeout: 245 seconds) |
| 2025-04-16 16:28:01 +0000 | kilolympus6 | (~kilolympu@vmi1102682.contaboserver.net) kilolympus |
| 2025-04-16 16:28:04 +0000 | kilolympus | (~kilolympu@vmi1102682.contaboserver.net) (Read error: Connection reset by peer) |
| 2025-04-16 16:28:05 +0000 | kilolympus6 | kilolympus |
| 2025-04-16 16:30:07 +0000 | inca | (~inca@71.30.233.213) |
| 2025-04-16 16:34:56 +0000 | inca | (~inca@71.30.233.213) (Ping timeout: 268 seconds) |
| 2025-04-16 16:35:05 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 16:35:21 +0000 | inca | (~inca@71.30.233.213) |
| 2025-04-16 16:42:29 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-04-16 16:42:58 +0000 | inca | (~inca@71.30.233.213) (Ping timeout: 268 seconds) |
| 2025-04-16 16:48:15 +0000 | inca | (~inca@h213.233.30.71.dynamic.ip.windstream.net) |
| 2025-04-16 16:48:46 +0000 | ft | (~ft@p4fc2a6e6.dip0.t-ipconnect.de) ft |
| 2025-04-16 16:54:01 +0000 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) Tuplanolla |
| 2025-04-16 16:54:01 +0000 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
| 2025-04-16 16:54:26 +0000 | fp | (~Thunderbi@cig3.wlan.kyla.fi) fp |
| 2025-04-16 16:55:08 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 16:55:45 +0000 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds) |
| 2025-04-16 16:57:14 +0000 | rosco | (~rosco@2001:e68:5442:b896:2437:120f:9971:a543) (Quit: Gotta go.) |
| 2025-04-16 16:59:19 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-04-16 17:04:29 +0000 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds) |
| 2025-04-16 17:05:31 +0000 | kilolympus | (~kilolympu@vmi1102682.contaboserver.net) (Quit: Ping timeout (120 seconds)) |
| 2025-04-16 17:05:51 +0000 | kilolympus | (~kilolympu@vmi1102682.contaboserver.net) kilolympus |
| 2025-04-16 17:11:57 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 17:16:19 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-04-16 17:18:07 +0000 | <[exa]> | bwe: hey ok good job |
| 2025-04-16 17:18:19 +0000 | <[exa]> | anyway this is essentially how the standard State in the libraries looks like |
| 2025-04-16 17:18:24 +0000 | <tomsmeding> | cellphone haskell is best haskell |
| 2025-04-16 17:18:38 +0000 | <EvanR> | emoji haskell |
| 2025-04-16 17:18:41 +0000 | fp | (~Thunderbi@cig3.wlan.kyla.fi) (Ping timeout: 265 seconds) |
| 2025-04-16 17:19:22 +0000 | <EvanR> | which was banned from twitter for violating platform rules but direct nazis is ok |
| 2025-04-16 17:19:39 +0000 | <EvanR> | s/zis/zism/ |
| 2025-04-16 17:20:03 +0000 | <tomsmeding> | bummer that emojis are symbols so if you want emoji variables you have to put them in parens |
| 2025-04-16 17:20:20 +0000 | <tomsmeding> | % let (🍌) = 42 in (🍌) + (🍌) |
| 2025-04-16 17:20:21 +0000 | <yahb2> | 84 |
| 2025-04-16 17:22:05 +0000 | <int-e> | . o O ( GHC supports banana brackets now? ) |
| 2025-04-16 17:23:08 +0000 | <tomsmeding> | it doesn't, because a 🍌 is a symbol, so [🍌| 1 + 2 |] doesn't work |
| 2025-04-16 17:23:18 +0000 | <EvanR> | was emoji haskell a lie? |
| 2025-04-16 17:23:26 +0000 | <EvanR> | I don't recall so many parentheses |
| 2025-04-16 17:23:48 +0000 | <tomsmeding> | % let (🍌) = (+) in 2 🍌 4 |
| 2025-04-16 17:23:48 +0000 | <yahb2> | 6 |
| 2025-04-16 17:26:23 +0000 | <hidjgr> | but you can have banana operators |
| 2025-04-16 17:26:55 +0000 | fp | (~Thunderbi@cig3.wlan.kyla.fi) fp |
| 2025-04-16 17:28:00 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 17:31:08 +0000 | eron | (~eron@143.0.15.20) lidenbrock |
| 2025-04-16 17:31:16 +0000 | <EvanR> | what's the alt code for banana |
| 2025-04-16 17:31:45 +0000 | <tomsmeding> | https://tomsmeding.com/unicode#banana |
| 2025-04-16 17:31:57 +0000 | <EvanR> | also I propose redefining emojis so they can be identifiers |
| 2025-04-16 17:32:09 +0000 | <EvanR> | [banana, kiwi, mango] |
| 2025-04-16 17:32:15 +0000 | <tomsmeding> | unfortunately ⦅ seems to be neither a valid character nor a valid symbol in haskell |
| 2025-04-16 17:32:37 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2025-04-16 17:32:41 +0000 | <tomsmeding> | > Data.Char.generalCategory '⦅' |
| 2025-04-16 17:32:42 +0000 | <lambdabot> | OpenPunctuation |
| 2025-04-16 17:32:53 +0000 | <EvanR> | > :t '⦅' |
| 2025-04-16 17:32:55 +0000 | <lambdabot> | <hint>:1:1: error: parse error on input ‘:’ |
| 2025-04-16 17:32:59 +0000 | <EvanR> | :t '⦅' |
| 2025-04-16 17:33:00 +0000 | <lambdabot> | Char |
| 2025-04-16 17:33:06 +0000 | <EvanR> | at least it's a valid character |
| 2025-04-16 17:33:21 +0000 | <tomsmeding> | well, every unicode codepoint is a valid character |
| 2025-04-16 17:34:22 +0000 | <EvanR> | every unicode codepoint embeds into Char using chr |
| 2025-04-16 17:34:55 +0000 | jacopovalanzano | (~jacopoval@cpc151911-cove17-2-0-cust105.3-1.cable.virginm.net) (Quit: Client closed) |
| 2025-04-16 17:35:09 +0000 | <EvanR> | don't offend my platonism |
| 2025-04-16 17:35:46 +0000 | wlhn | (~wlhn@2001-14ba-4e20-21f0-b172-6fd9-faec-6e08.rev.dnainternet.fi) wlhn |
| 2025-04-16 17:36:40 +0000 | Googulator82 | (~Googulato@94-21-172-228.pool.digikabel.hu) (Quit: Client closed) |
| 2025-04-16 17:36:55 +0000 | kilolympus | (~kilolympu@vmi1102682.contaboserver.net) (Quit: Ping timeout (120 seconds)) |
| 2025-04-16 17:37:01 +0000 | Googulator82 | (~Googulato@2a01-036d-0106-2077-315b-d519-517f-afe7.pool6.digikabel.hu) |
| 2025-04-16 17:37:12 +0000 | kilolympus | (~kilolympu@vmi1102682.contaboserver.net) kilolympus |
| 2025-04-16 17:38:00 +0000 | <EvanR> | [🍎,🍌,🥒] would fail but at least "🍎,🍌,🥒" is a thing |
| 2025-04-16 17:38:01 +0000 | <hidjgr> | mfw no cuneiform haskell |
| 2025-04-16 17:38:52 +0000 | <EvanR> | smh they should have had the foresight in 1990 to make the former thing a thing |
| 2025-04-16 17:39:01 +0000 | rvalue | (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
| 2025-04-16 17:39:32 +0000 | rvalue | (~rvalue@user/rvalue) rvalue |
| 2025-04-16 17:39:33 +0000 | <tomsmeding> | > Data.Char.generalCategory '🍌' |
| 2025-04-16 17:39:35 +0000 | <lambdabot> | OtherSymbol |
| 2025-04-16 17:44:39 +0000 | <tomsmeding> | https://tomsmeding.com/ss/get/tomsmeding/G81wZ6 |
| 2025-04-16 17:44:45 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 17:44:50 +0000 | <tomsmeding> | I tortured my terminal to show all the OtherSymbols so you don't have to |
| 2025-04-16 17:46:02 +0000 | <EvanR> | that is stressing my monitor just displaying it |
| 2025-04-16 17:46:34 +0000 | <geekosaur> | » valid character // sadly, not true for Private Use Area characters, at least according to GHC |
| 2025-04-16 17:46:52 +0000 | <geekosaur> | cant' even use them in strings; you have to use an escape |
| 2025-04-16 17:46:59 +0000 | <EvanR> | oof |
| 2025-04-16 17:49:08 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-04-16 17:50:29 +0000 | <monochrom> | Compromise: ['🍎','🍌','🥒'] >:) |
| 2025-04-16 17:51:16 +0000 | eron | (~eron@143.0.15.20) (Quit: Client closed) |
| 2025-04-16 17:52:49 +0000 | fp | (~Thunderbi@cig3.wlan.kyla.fi) (Ping timeout: 248 seconds) |
| 2025-04-16 17:53:17 +0000 | <int-e> | tomsmeding: (🍌) does have a banana and brackets (well I'm abusing terminology, but I won't apologise for that) ;-) |
| 2025-04-16 17:53:29 +0000 | <tomsmeding> | no, it has parentheses ;) |
| 2025-04-16 17:55:09 +0000 | <EvanR> | lunate brackets |
| 2025-04-16 17:55:20 +0000 | <EvanR> | digressions |
| 2025-04-16 17:55:25 +0000 | <EvanR> | argument pods |
| 2025-04-16 17:55:34 +0000 | <EvanR> | eyelids |
| 2025-04-16 17:55:51 +0000 | <EvanR> | runde Klammern |
| 2025-04-16 17:57:01 +0000 | kilolympus | (~kilolympu@vmi1102682.contaboserver.net) (Quit: Ping timeout (120 seconds)) |
| 2025-04-16 17:57:47 +0000 | jacopovalanzano | (~jacopoval@cpc151911-cove17-2-0-cust105.3-1.cable.virginm.net) |
| 2025-04-16 17:59:05 +0000 | kilolympus | (~kilolympu@vmi1102682.contaboserver.net) kilolympus |
| 2025-04-16 17:59:45 +0000 | <int-e> | round clamps ;-) |
| 2025-04-16 18:00:10 +0000 | <geekosaur> | crescent wrench |
| 2025-04-16 18:02:35 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 18:03:09 +0000 | polyphem | (~rod@p4fc2c4fb.dip0.t-ipconnect.de) (Ping timeout: 265 seconds) |
| 2025-04-16 18:07:27 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 2025-04-16 18:07:48 +0000 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
| 2025-04-16 18:12:53 +0000 | <haskellbridge> | <Bowuigi> Waning and waxing crescents |
| 2025-04-16 18:13:32 +0000 | <haskellbridge> | <Bowuigi> Third and first quarters for banana brackets |
| 2025-04-16 18:15:36 +0000 | <int-e> | > (1 + 3) * 5 -- waning one plus three waxing times 5 -- like this? (northern hemisphere; ymmv) |
| 2025-04-16 18:15:37 +0000 | <lambdabot> | 20 |
| 2025-04-16 18:17:24 +0000 | sprotte24 | (~sprotte24@p200300d16f081b009801dcc9b07045e3.dip0.t-ipconnect.de) |
| 2025-04-16 18:19:57 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 18:26:39 +0000 | tromp | (~textual@2001:1c00:3487:1b00:c0e6:9a43:de22:8c0a) |
| 2025-04-16 18:27:05 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-04-16 18:27:43 +0000 | Googulator82 | (~Googulato@2a01-036d-0106-2077-315b-d519-517f-afe7.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-04-16 18:28:00 +0000 | Googulator82 | (~Googulato@2a01-036d-0106-2077-315b-d519-517f-afe7.pool6.digikabel.hu) |
| 2025-04-16 18:32:20 +0000 | jespada | (~jespada@r190-133-10-247.dialup.adsl.anteldata.net.uy) (Ping timeout: 260 seconds) |
| 2025-04-16 18:34:48 +0000 | tremon | (~tremon@83.80.159.219) tremon |
| 2025-04-16 18:35:42 +0000 | jespada | (~jespada@r190-133-10-247.dialup.adsl.anteldata.net.uy) jespada |
| 2025-04-16 18:37:55 +0000 | <bwe> | ski: relabeling tree directly & using State finished: https://github.com/benjaminweb/state-monad/blob/main/src/MyLib.hs#L64-L103 |
| 2025-04-16 18:38:13 +0000 | <bwe> | (what's the difference between Int and Integer? which should I use by default?) |
| 2025-04-16 18:38:26 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 18:38:38 +0000 | <bwe> | why can't I make `relabel n t = fst $ go n t` point-free? |
| 2025-04-16 18:38:57 +0000 | <monochrom> | Integer is unlimited, Int is limited. Do you aim for correctness by default or aim for performance by default? |
| 2025-04-16 18:39:30 +0000 | <mauke> | because you don't know about (f .) . g |
| 2025-04-16 18:39:32 +0000 | <monochrom> | I know C people who aim for performance by default and correctness as an afterthought. For them I would recomment Int. >:) |
| 2025-04-16 18:39:56 +0000 | <bwe> | …and when (not) to use foldr (I remember vaguely I should default to foldr, is this right)? |
| 2025-04-16 18:40:24 +0000 | <monochrom> | Me, I aim for fewer keystrokes by default, so I still default to Int >:) |
| 2025-04-16 18:40:31 +0000 | tccq | (~user@user/tccq) tccq |
| 2025-04-16 18:40:45 +0000 | <monochrom> | (In Curry, there is only Int, and it's Haskell's Integer. That is a win-win.) |
| 2025-04-16 18:41:35 +0000 | <monochrom> | IMO foldr should be neither default nor non-default. |
| 2025-04-16 18:41:40 +0000 | <EvanR> | compatibility with many APIs by default (Int) |
| 2025-04-16 18:41:43 +0000 | <bwe> | mauke: confirmed. |
| 2025-04-16 18:42:26 +0000 | <monochrom> | The correct default is to write what makes most sense for your target audience. |
| 2025-04-16 18:43:01 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2025-04-16 18:43:13 +0000 | <bwe> | monochrom: then again, on which data structures should I prefer foldl and on which foldr? |
| 2025-04-16 18:43:43 +0000 | <monochrom> | That's yet another false dichotomy. I thought it would depend on the problem being solved. |
| 2025-04-16 18:44:19 +0000 | <EvanR> | yeah you might want foldl or foldr on the same data structure |
| 2025-04-16 18:44:46 +0000 | <EvanR> | they're not interchangeable |
| 2025-04-16 18:44:54 +0000 | <monochrom> | Alternatively, ask an AI to make all decisions for you. |
| 2025-04-16 18:45:12 +0000 | <bwe> | I don't. Thanks for clearing this up. |
| 2025-04-16 18:46:28 +0000 | <EvanR> | > foldr f z [a,b,c,d] |
| 2025-04-16 18:46:29 +0000 | <lambdabot> | f a (f b (f c (f d z))) |
| 2025-04-16 18:46:33 +0000 | <EvanR> | >foldl f z [a,b,c,d] |
| 2025-04-16 18:46:40 +0000 | <EvanR> | > foldl f z [a,b,c,d] |
| 2025-04-16 18:46:42 +0000 | <lambdabot> | f (f (f (f z a) b) c) d |
| 2025-04-16 18:48:09 +0000 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds) |
| 2025-04-16 18:49:23 +0000 | euleritian | (~euleritia@176.2.178.231) (Ping timeout: 268 seconds) |
| 2025-04-16 18:49:52 +0000 | <mauke> | foldr on lists is good if you can stream the result (or just terminate early) |
| 2025-04-16 18:50:03 +0000 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) |
| 2025-04-16 18:50:31 +0000 | <mauke> | foldl' on lists is good if you can't stream the result and need to reach the end before returning anything |
| 2025-04-16 18:50:41 +0000 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
| 2025-04-16 18:54:10 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 18:56:05 +0000 | <c_wraith> | really, foldr is for when you want f to control when/whether the recursion happens |
| 2025-04-16 18:58:15 +0000 | lxsameer | (~lxsameer@Serene/lxsameer) (Ping timeout: 265 seconds) |
| 2025-04-16 18:58:25 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2025-04-16 18:58:50 +0000 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
| 2025-04-16 18:59:12 +0000 | <[exa]> | bwe: you might want foldl' (with the tick!) for accumulator-like computations because it tends to be much more efficient in some specific cases (e.g., summing up a list of integers). foldr for pretty much all other cases because of the generality. |
| 2025-04-16 19:00:03 +0000 | caconym | (~caconym@user/caconym) (Quit: bye) |
| 2025-04-16 19:00:04 +0000 | <[exa]> | bwe: btw one interesting look at foldr is as an "interpreter" for the list structure. Consider e.g. the "universal interpreter" for Maybe's: |
| 2025-04-16 19:00:07 +0000 | <[exa]> | :t maybe |
| 2025-04-16 19:00:08 +0000 | <lambdabot> | b -> (a -> b) -> Maybe a -> b |
| 2025-04-16 19:00:34 +0000 | <[exa]> | (the parameters correspond to Nothing case, the Just case, then there's the actual data to take apart ("interpret"), and a result) |
| 2025-04-16 19:00:46 +0000 | caconym | (~caconym@user/caconym) caconym |
| 2025-04-16 19:00:47 +0000 | <[exa]> | :t either -- similarly |
| 2025-04-16 19:00:48 +0000 | <lambdabot> | (a -> c) -> (b -> c) -> Either a b -> c |
| 2025-04-16 19:00:57 +0000 | <[exa]> | :t bool -the same again |
| 2025-04-16 19:00:58 +0000 | <lambdabot> | error: |
| 2025-04-16 19:00:58 +0000 | <lambdabot> | Variable not in scope: |
| 2025-04-16 19:00:59 +0000 | <lambdabot> | the |
| 2025-04-16 19:01:05 +0000 | <[exa]> | :t bool --the same again, whoops sorry for noise |
| 2025-04-16 19:01:06 +0000 | <lambdabot> | a -> a -> Bool -> a |
| 2025-04-16 19:02:21 +0000 | <[exa]> | and in foldr, we have the very same schema with constructors [] and (:) |
| 2025-04-16 19:02:28 +0000 | <bwe> | [exa]: did you see the latest revision of my State Monad implementation? ski asked me to do relabel a Tree of Trees using State. |
| 2025-04-16 19:02:38 +0000 | <[exa]> | :t flip foldr -- flipping so that it's more picturesque |
| 2025-04-16 19:02:39 +0000 | <lambdabot> | Foldable t => b -> (a -> b -> b) -> t a -> b |
| 2025-04-16 19:03:44 +0000 | <[exa]> | bwe: looks cool |
| 2025-04-16 19:04:13 +0000 | <[exa]> | bwe: you might love either `do` or applicative notation for the last line |
| 2025-04-16 19:04:57 +0000 | <[exa]> | also in common libraries the get/set combo is normally called `modify`, with that you can shorten what you have on lines 98&99 to a nice `modify (+1)` |
| 2025-04-16 19:05:40 +0000 | <[exa]> | (spoilers here: https://hackage.haskell.org/package/mtl-2.3.1/docs/Control-Monad-State-Class.html#v:modify ) |
| 2025-04-16 19:06:01 +0000 | <c_wraith> | Honestly, foldr is pretty general. You should look to see if there's something more specific if you are at all uncertain. |
| 2025-04-16 19:06:17 +0000 | <c_wraith> | like mapAccumL and mapAccumR exist |
| 2025-04-16 19:07:04 +0000 | <c_wraith> | (I say, then I'll use foldr instead of either of those) |
| 2025-04-16 19:07:06 +0000 | <[exa]> | bwe: re applicative notation, try this: `(+) <$> Just 3 <*> Just 5` |
| 2025-04-16 19:07:35 +0000 | <haskellbridge> | <hellwolf> btw, why tom from bluefin saying for_ is all you need? |
| 2025-04-16 19:07:37 +0000 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
| 2025-04-16 19:08:31 +0000 | <[exa]> | hellwolf: depends on what you need it for I guess? |
| 2025-04-16 19:08:41 +0000 | <c_wraith> | for_ is traverse_, and the joke is usually "traverse does that" |
| 2025-04-16 19:09:12 +0000 | <[exa]> | c_wraith: I managed to suppress my note about traverse is all we need :D |
| 2025-04-16 19:09:19 +0000 | <monochrom> | Ask tom? But IIRC, tom hid the real diversity in the applicative or monad you use. |
| 2025-04-16 19:09:20 +0000 | <ski> | monochrom : in my case, i specified `Integer' |
| 2025-04-16 19:09:23 +0000 | <c_wraith> | but a lot of things can also be done with traverse_ |
| 2025-04-16 19:09:39 +0000 | <EvanR> | :t for |
| 2025-04-16 19:09:40 +0000 | <lambdabot> | (Traversable t, Applicative f) => t a -> (a -> f b) -> f (t b) |
| 2025-04-16 19:09:46 +0000 | <bwe> | [exa]: thanks :) - btw what's your setup doing haskell / irc from mobile phone? |
| 2025-04-16 19:09:56 +0000 | <monochrom> | or functor |
| 2025-04-16 19:10:20 +0000 | <[exa]> | bwe: weechat-android and the haskell is present implicitly :D |
| 2025-04-16 19:10:39 +0000 | <[exa]> | (wish there was ghc-android) |
| 2025-04-16 19:10:49 +0000 | <ski> | bwe : your code for relabelling is basically okay, modulo some minor issues |
| 2025-04-16 19:10:57 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 19:11:38 +0000 | <ski> | bwe : the first comment example call to relabel is incorrect |
| 2025-04-16 19:12:20 +0000 | <tomsmeding> | [exa]: termux has a ghc |
| 2025-04-16 19:12:29 +0000 | <ski> | bwe : and, i specified `relabel' should start counting at zero, not that you should pass the starting point as a parameter. and the variant (using `State') should still have the same type, not a different type |
| 2025-04-16 19:13:47 +0000 | <ski> | bwe : finally, you can use `(<*>)' (and `(<$>)'), rather than `(>>=)', in the version using `State'. if you define `tick :: State Integer Integer', you can avoid the `go', too |
| 2025-04-16 19:14:06 +0000 | <ski> | er, the `do' |
| 2025-04-16 19:14:50 +0000 | <bwe> | ski: will incorporate that tomorrow. |
| 2025-04-16 19:15:10 +0000 | <EvanR> | haskell on mobile sounds useful |
| 2025-04-16 19:15:22 +0000 | <EvanR> | I can demonstrate the wonders of functional programming at the bar |
| 2025-04-16 19:15:24 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2025-04-16 19:15:33 +0000 | <[exa]> | EvanR: some phones are Foldable |
| 2025-04-16 19:15:35 +0000 | [exa] | ducks |
| 2025-04-16 19:15:49 +0000 | <EvanR> | drink and derive Functor |
| 2025-04-16 19:15:52 +0000 | <tomsmeding> | they are typically not Traversable |
| 2025-04-16 19:16:20 +0000 | <[exa]> | tomsmeding: I had termux a loooooooong time ago, then kinda forgot about that. will retry, thanks! |
| 2025-04-16 19:17:29 +0000 | <ski> | bwe : anyway, i hope that was a somewhat more illustrative example of doing state-threading, either explicitly, or by using monadic or idiaomatic combinators |
| 2025-04-16 19:17:49 +0000 | <EvanR> | idea-o-matic |
| 2025-04-16 19:19:07 +0000 | <tomsmeding> | or just with a French idiom |
| 2025-04-16 19:20:48 +0000 | ljdarj1 | (~Thunderbi@user/ljdarj) ljdarj |
| 2025-04-16 19:23:18 +0000 | <monochrom> | hahaha [exa] |
| 2025-04-16 19:24:50 +0000 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
| 2025-04-16 19:24:50 +0000 | ljdarj1 | ljdarj |
| 2025-04-16 19:26:59 +0000 | <[exa]> | "can I also have your Num" product jokes incoming in 3 2 1 |
| 2025-04-16 19:27:08 +0000 | ljdarj | (~Thunderbi@user/ljdarj) (Quit: ljdarj) |
| 2025-04-16 19:27:24 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 19:28:19 +0000 | <tomsmeding> | the problem is that you generally cannot call numbers in haskell |
| 2025-04-16 19:28:53 +0000 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
| 2025-04-16 19:29:05 +0000 | j1n37 | (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 2025-04-16 19:29:20 +0000 | <tomsmeding> | in smalltalk you'd at least be able to send messages to them |
| 2025-04-16 19:29:27 +0000 | emmanuelux | (~emmanuelu@user/emmanuelux) emmanuelux |
| 2025-04-16 19:31:01 +0000 | <bwe> | ski: it was :) thanks for bringing that in. - what would be the next step concept wise to learn? |
| 2025-04-16 19:31:52 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-04-16 19:32:45 +0000 | j1n37 | (~j1n37@user/j1n37) j1n37 |
| 2025-04-16 19:33:00 +0000 | <EvanR> | tomsmeding, good call |
| 2025-04-16 19:33:18 +0000 | <tomsmeding> | :) |
| 2025-04-16 19:37:00 +0000 | pavonia | (~user@user/siracusa) siracusa |
| 2025-04-16 19:39:49 +0000 | arahael | (~arahael@user/arahael) (Ping timeout: 265 seconds) |
| 2025-04-16 19:40:27 +0000 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
| 2025-04-16 19:40:46 +0000 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) |
| 2025-04-16 19:41:40 +0000 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
| 2025-04-16 19:41:57 +0000 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) |
| 2025-04-16 19:41:59 +0000 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
| 2025-04-16 19:42:17 +0000 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) |
| 2025-04-16 19:42:59 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 19:44:49 +0000 | j1n37 | (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 2025-04-16 19:47:29 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2025-04-16 19:50:25 +0000 | j1n37 | (~j1n37@user/j1n37) j1n37 |
| 2025-04-16 19:55:41 +0000 | foul_owl | (~kerry@174-21-146-90.tukw.qwest.net) (Ping timeout: 252 seconds) |
| 2025-04-16 20:01:05 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 20:01:17 +0000 | jacopovalanzano | (~jacopoval@cpc151911-cove17-2-0-cust105.3-1.cable.virginm.net) (Quit: Client closed) |
| 2025-04-16 20:05:05 +0000 | acidjnk | (~acidjnk@p200300d6e71c4f4138f4856942b014fc.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 2025-04-16 20:05:28 +0000 | jespada | (~jespada@r190-133-10-247.dialup.adsl.anteldata.net.uy) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 2025-04-16 20:06:21 +0000 | jespada | (~jespada@r190-133-10-247.dialup.adsl.anteldata.net.uy) jespada |
| 2025-04-16 20:07:47 +0000 | acidjnk | (~acidjnk@p200300d6e71c4f41a8499be0fe4c63d3.dip0.t-ipconnect.de) acidjnk |
| 2025-04-16 20:08:04 +0000 | foul_owl | (~kerry@94.156.149.93) foul_owl |
| 2025-04-16 20:08:45 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 2025-04-16 20:11:53 +0000 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 2025-04-16 20:14:08 +0000 | notdabs | (~Owner@2600:1700:69cf:9000:e035:2729:333c:ea) (Quit: Leaving) |
| 2025-04-16 20:19:45 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 20:24:18 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-04-16 20:31:03 +0000 | inca | (~inca@h213.233.30.71.dynamic.ip.windstream.net) (Ping timeout: 265 seconds) |
| 2025-04-16 20:33:21 +0000 | inca | (~inca@h213.233.30.71.dynamic.ip.windstream.net) |
| 2025-04-16 20:36:19 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 20:38:20 +0000 | inca | (~inca@h213.233.30.71.dynamic.ip.windstream.net) (Ping timeout: 260 seconds) |
| 2025-04-16 20:38:39 +0000 | hgolden | (~hgolden@2603:8000:9d00:3ed1:322:62f9:6518:a6a8) (Remote host closed the connection) |
| 2025-04-16 20:40:58 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-04-16 20:41:57 +0000 | Angelz | (Angelz@2605:6400:30:fc15:d55b:fa6c:bd14:9973) (Changing host) |
| 2025-04-16 20:41:57 +0000 | Angelz | (Angelz@user/angelz) angelz |
| 2025-04-16 20:42:03 +0000 | Angelz | ANgelz |
| 2025-04-16 20:42:07 +0000 | ANgelz | Angelz |
| 2025-04-16 20:42:31 +0000 | inca | (~inca@71.30.233.213) |
| 2025-04-16 20:43:43 +0000 | Angelz | gadot |
| 2025-04-16 20:46:31 +0000 | <haskellbridge> | <Liamzee> is there a specialize everything option? |
| 2025-04-16 20:47:05 +0000 | <haskellbridge> | <Liamzee> EvanR: play.haskell.org |
| 2025-04-16 20:47:40 +0000 | inca | (~inca@71.30.233.213) (Ping timeout: 276 seconds) |
| 2025-04-16 20:47:53 +0000 | <haskellbridge> | <Liamzee> hellwolf: actually, foldr is all you need, not sure if probie will explain why, though |
| 2025-04-16 20:48:37 +0000 | inca | (~inca@71.30.233.213) |
| 2025-04-16 20:48:58 +0000 | <EvanR> | foldr is the induction principle for List |
| 2025-04-16 20:49:19 +0000 | <geekosaur> | -fspecialise-aggressively, I think? |
| 2025-04-16 20:52:15 +0000 | <haskellbridge> | <Liamzee> thanks |
| 2025-04-16 20:52:24 +0000 | <haskellbridge> | <Liamzee> induction principle for []? |
| 2025-04-16 20:52:39 +0000 | <EvanR> | if z :: B and f :: (A -> B -> B) then there's a function g :: [A] -> B such that g [] = z and g (x:xs) = f x (g xs) |
| 2025-04-16 20:52:40 +0000 | <haskellbridge> | <Liamzee> foldr is the actual best analogue to for loop, not for_ |
| 2025-04-16 20:53:19 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 20:54:07 +0000 | <EvanR> | and foldr f z computes g using recursion |
| 2025-04-16 20:55:12 +0000 | <haskellbridge> | <Liamzee> thanks for restating the builder rewrite rule |
| 2025-04-16 20:55:20 +0000 | <haskellbridge> | <Liamzee> in a way easier for me to understand |
| 2025-04-16 20:58:10 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-04-16 20:59:16 +0000 | takuan | (~takuan@d8D86B601.access.telenet.be) |
| 2025-04-16 20:59:17 +0000 | <EvanR> | it lets you define a large class of functions on [A] |
| 2025-04-16 20:59:23 +0000 | jespada | (~jespada@r190-133-10-247.dialup.adsl.anteldata.net.uy) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 2025-04-16 20:59:30 +0000 | <EvanR> | though I'm not sure how large |
| 2025-04-16 20:59:43 +0000 | <haskellbridge> | <Liamzee> implicitly, there are functions on [a] that cannot be defined by foldr |
| 2025-04-16 20:59:55 +0000 | <EvanR> | that is a bold claim |
| 2025-04-16 21:00:10 +0000 | inca | (~inca@71.30.233.213) (Ping timeout: 252 seconds) |
| 2025-04-16 21:00:29 +0000 | <haskellbridge> | <Liamzee> i guess large doesn't imply a subset of all functions on [a] |
| 2025-04-16 21:00:58 +0000 | <c_wraith> | It's not a bold claim. |
| 2025-04-16 21:01:04 +0000 | <EvanR> | what's an example |
| 2025-04-16 21:01:16 +0000 | <c_wraith> | It's got equivalent computational power to primitive recursion (paramorphism) |
| 2025-04-16 21:01:21 +0000 | <haskellbridge> | <Liamzee> i thought that was what you said by saying "a large class of functions on [a]" |
| 2025-04-16 21:01:24 +0000 | <c_wraith> | so it can't be used for Ackernman's function, for example |
| 2025-04-16 21:01:40 +0000 | <EvanR> | ackermann is on numbers |
| 2025-04-16 21:01:49 +0000 | <c_wraith> | definte ackerman on the length of lists |
| 2025-04-16 21:02:31 +0000 | <EvanR> | so ackermann is recursive but not primitive recursive |
| 2025-04-16 21:02:34 +0000 | <c_wraith> | yes |
| 2025-04-16 21:02:59 +0000 | <c_wraith> | that's the main reason anyone knows about it. It was the first example used to demonstrate primitive recursion is less powerful than general recursion |
| 2025-04-16 21:03:52 +0000 | inca | (~inca@71.30.233.213) |
| 2025-04-16 21:06:34 +0000 | <EvanR> | so after this tiny quest we come back to the shire and conclude, no, foldr is not all you need xD |
| 2025-04-16 21:07:28 +0000 | michalz | (~michalz@185.246.207.197) (Remote host closed the connection) |
| 2025-04-16 21:07:56 +0000 | <c_wraith> | but it is very uncommon to need more :) |
| 2025-04-16 21:09:00 +0000 | <EvanR> | fine. *puts ackermann on a boat to Valinor* |
| 2025-04-16 21:09:22 +0000 | <c_wraith> | the true danger of being a foundational computer scientist |
| 2025-04-16 21:11:13 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 21:11:20 +0000 | <haskellbridge> | <Liamzee> afaik tomjaguarpaw / Tom Ellis's point |
| 2025-04-16 21:11:38 +0000 | <haskellbridge> | <Liamzee> was that you could reconstruct imperative programming just by combining Bluefin with For |
| 2025-04-16 21:12:21 +0000 | <haskellbridge> | <Liamzee> since you'd get the short-circuiting behavior and potentially unrestricted effects via for_ + bluefin |
| 2025-04-16 21:12:40 +0000 | <haskellbridge> | <Liamzee> my counterpoint is that you can just ditch bluefin for loops by going straight to foldr |
| 2025-04-16 21:14:15 +0000 | <EvanR> | who |
| 2025-04-16 21:15:29 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2025-04-16 21:15:32 +0000 | inca | (~inca@71.30.233.213) (Ping timeout: 268 seconds) |
| 2025-04-16 21:15:37 +0000 | <haskellbridge> | <Liamzee> "tom from bluefin" |
| 2025-04-16 21:16:36 +0000 | <haskellbridge> | <Liamzee> Groq engineer, Vice Chair, Vice Treasurer of Haskell Foundation |
| 2025-04-16 21:17:32 +0000 | inca | (~inca@71.30.233.213) |
| 2025-04-16 21:17:48 +0000 | <tomsmeding> | also a nice guy |
| 2025-04-16 21:20:12 +0000 | <haskellbridge> | <Liamzee> that's the most important trait! :3 |
| 2025-04-16 21:20:21 +0000 | Inst | (~Inst@user/Inst) Inst |
| 2025-04-16 21:23:46 +0000 | prdak | (~Thunderbi@user/prdak) prdak |
| 2025-04-16 21:26:46 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 21:28:21 +0000 | inca | (~inca@71.30.233.213) (Ping timeout: 248 seconds) |
| 2025-04-16 21:29:15 +0000 | inca | (~inca@71.30.233.213) |
| 2025-04-16 21:30:41 +0000 | Inst | (~Inst@user/Inst) (Remote host closed the connection) |
| 2025-04-16 21:31:24 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-04-16 21:31:59 +0000 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
| 2025-04-16 21:34:55 +0000 | j1n37- | (~j1n37@user/j1n37) j1n37 |
| 2025-04-16 21:35:20 +0000 | j1n37 | (~j1n37@user/j1n37) (Ping timeout: 265 seconds) |
| 2025-04-16 21:38:40 +0000 | weary-traveler | (~user@user/user363627) user363627 |
| 2025-04-16 21:40:19 +0000 | inca | (~inca@71.30.233.213) (Ping timeout: 276 seconds) |
| 2025-04-16 21:42:11 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 21:48:28 +0000 | inca | (~inca@71.30.233.213) |
| 2025-04-16 21:49:21 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2025-04-16 21:49:21 +0000 | notdabs | (~Owner@2600:1700:69cf:9000:e035:2729:333c:ea) |
| 2025-04-16 22:01:30 +0000 | j1n37 | (~j1n37@user/j1n37) j1n37 |
| 2025-04-16 22:02:25 +0000 | j1n37- | (~j1n37@user/j1n37) (Ping timeout: 276 seconds) |
| 2025-04-16 22:02:30 +0000 | takuan | (~takuan@d8D86B601.access.telenet.be) (Remote host closed the connection) |
| 2025-04-16 22:03:03 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 22:07:01 +0000 | jespada | (~jespada@r190-133-10-247.dialup.adsl.anteldata.net.uy) jespada |
| 2025-04-16 22:07:42 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-04-16 22:10:26 +0000 | j1n37 | (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 2025-04-16 22:13:08 +0000 | tromp | (~textual@2001:1c00:3487:1b00:c0e6:9a43:de22:8c0a) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-04-16 22:15:29 +0000 | j1n37 | (~j1n37@user/j1n37) j1n37 |
| 2025-04-16 22:18:20 +0000 | hgolden | (~hgolden@2603:8000:9d00:3ed1:322:62f9:6518:a6a8) hgolden |
| 2025-04-16 22:18:40 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 22:22:09 +0000 | hgolden | (~hgolden@2603:8000:9d00:3ed1:322:62f9:6518:a6a8) (Remote host closed the connection) |
| 2025-04-16 22:23:20 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-04-16 22:27:51 +0000 | notdabs | (~Owner@2600:1700:69cf:9000:e035:2729:333c:ea) (Quit: Leaving) |
| 2025-04-16 22:36:58 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 22:41:33 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2025-04-16 22:52:10 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Remote host closed the connection) |
| 2025-04-16 22:53:10 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2025-04-16 22:53:53 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 22:58:24 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-04-16 23:06:36 +0000 | sprotte24 | (~sprotte24@p200300d16f081b009801dcc9b07045e3.dip0.t-ipconnect.de) (Quit: Leaving) |
| 2025-04-16 23:08:06 +0000 | forell | (~forell@user/forell) (Ping timeout: 272 seconds) |
| 2025-04-16 23:09:21 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 23:09:35 +0000 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
| 2025-04-16 23:10:46 +0000 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
| 2025-04-16 23:14:34 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 2025-04-16 23:15:40 +0000 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
| 2025-04-16 23:16:09 +0000 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
| 2025-04-16 23:17:49 +0000 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 276 seconds) |
| 2025-04-16 23:21:42 +0000 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
| 2025-04-16 23:25:17 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 23:25:38 +0000 | prdak | (~Thunderbi@user/prdak) (Ping timeout: 268 seconds) |
| 2025-04-16 23:32:24 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-04-16 23:41:13 +0000 | notdabs | (~Owner@2600:1700:69cf:9000:e035:2729:333c:ea) |
| 2025-04-16 23:43:50 +0000 | notdabs | (~Owner@2600:1700:69cf:9000:e035:2729:333c:ea) (Client Quit) |
| 2025-04-16 23:45:24 +0000 | ethantwardy | (user@user/ethantwardy) (Ping timeout: 260 seconds) |
| 2025-04-16 23:45:39 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-04-16 23:45:44 +0000 | hgolden | (~hgolden@2603:8000:9d00:3ed1:322:62f9:6518:a6a8) hgolden |
| 2025-04-16 23:49:08 +0000 | Sgeo | (~Sgeo@user/sgeo) Sgeo |
| 2025-04-16 23:49:43 +0000 | jespada | (~jespada@r190-133-10-247.dialup.adsl.anteldata.net.uy) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 2025-04-16 23:50:07 +0000 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-04-16 23:50:19 +0000 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds) |
| 2025-04-16 23:51:14 +0000 | aaronv | (~aaronv@user/aaronv) aaronv |
| 2025-04-16 23:51:52 +0000 | j1n37- | (~j1n37@user/j1n37) j1n37 |
| 2025-04-16 23:52:44 +0000 | jacopovalanzano | (~jacopoval@cpc151911-cove17-2-0-cust105.3-1.cable.virginm.net) |
| 2025-04-16 23:52:44 +0000 | aaronv_ | (~aaronv@user/aaronv) aaronv |
| 2025-04-16 23:53:05 +0000 | j1n37 | (~j1n37@user/j1n37) (Ping timeout: 265 seconds) |
| 2025-04-16 23:53:30 +0000 | jacopovalanzano | frogz |
| 2025-04-16 23:53:35 +0000 | frogz | frogzy |
| 2025-04-16 23:56:15 +0000 | aaronv | (~aaronv@user/aaronv) (Ping timeout: 272 seconds) |
| 2025-04-16 23:58:36 +0000 | frogzy | jacopovalanzano |
| 2025-04-16 23:59:24 +0000 | inca | (~inca@71.30.233.213) (Ping timeout: 272 seconds) |