2025-04-15 00:05:42 +0200 | euleritian | (~euleritia@95.90.214.149) (Ping timeout: 252 seconds) |
2025-04-15 00:05:45 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
2025-04-15 00:05:49 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 00:06:07 +0200 | euleritian | (~euleritia@dynamic-176-000-012-254.176.0.pool.telefonica.de) |
2025-04-15 00:06:56 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-04-15 00:08:34 +0200 | inca | (~inca@71.30.233.213) |
2025-04-15 00:08:50 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Client Quit) |
2025-04-15 00:09:21 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-04-15 00:10:19 +0200 | <EvanR> | I don't know about proper subset but haskell has one which is isomorphic https://paste.tomsmeding.com/cJEnEOD7 haha |
2025-04-15 00:10:28 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-15 00:10:57 +0200 | euleritian | (~euleritia@dynamic-176-000-012-254.176.0.pool.telefonica.de) (Read error: Connection reset by peer) |
2025-04-15 00:11:15 +0200 | euleritian | (~euleritia@95.90.214.149) |
2025-04-15 00:12:18 +0200 | <haskellbridge> | <sm> there are modern smalltalks that are more declarative, eg saving code in git and rebuilding images from text descriptions |
2025-04-15 00:13:58 +0200 | inca | (~inca@71.30.233.213) (Ping timeout: 276 seconds) |
2025-04-15 00:21:35 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
2025-04-15 00:23:44 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 00:28:55 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-04-15 00:39:10 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 00:43:28 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-15 00:51:43 +0200 | sinbad | (~sinbad@user/sinbad) () |
2025-04-15 00:52:38 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
2025-04-15 00:55:54 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 00:58:26 +0200 | sprotte24 | (~sprotte24@p200300d16f19450068dfe2d4c5b923e1.dip0.t-ipconnect.de) (Quit: Leaving) |
2025-04-15 00:58:37 +0200 | inca | (~inca@71.30.233.213) |
2025-04-15 01:00:20 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-15 01:02:53 +0200 | puke | (~puke@user/puke) (Remote host closed the connection) |
2025-04-15 01:03:12 +0200 | puke | (~puke@user/puke) puke |
2025-04-15 01:03:40 +0200 | inca | (~inca@71.30.233.213) (Ping timeout: 244 seconds) |
2025-04-15 01:07:58 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 01:09:14 +0200 | weary-traveler | (~user@user/user363627) user363627 |
2025-04-15 01:10:24 +0200 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 268 seconds) |
2025-04-15 01:15:01 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-04-15 01:19:16 +0200 | hidjgr | (~hidjgr@user/hidjgr) (Quit: WeeChat 4.4.2) |
2025-04-15 01:19:39 +0200 | hidjgr | (~hidjgr@68.52.120.78.rev.sfr.net) |
2025-04-15 01:19:52 +0200 | hidjgr | (~hidjgr@68.52.120.78.rev.sfr.net) (Client Quit) |
2025-04-15 01:25:51 +0200 | jespada | (~jespada@r167-61-34-244.dialup.adsl.anteldata.net.uy) (Quit: My Mac has gone to sleep. ZZZzzz…) |
2025-04-15 01:27:57 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 01:29:25 +0200 | Sgeo | (~Sgeo@user/sgeo) Sgeo |
2025-04-15 01:32:50 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-04-15 01:35:57 +0200 | tt12310978324354 | (~tt1231@2603:6010:8700:4a81:219f:50d3:618a:a6ee) (Ping timeout: 276 seconds) |
2025-04-15 01:44:36 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 01:49:09 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-04-15 01:51:45 +0200 | distopico | (~cerdolibr@2001:4b98:dc2:41:216:3eff:fe6c:52a1) (Quit: Bye..) |
2025-04-15 01:57:54 +0200 | inca | (~inca@71.30.233.213) |
2025-04-15 01:59:11 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 02:04:13 +0200 | distopico | (~cerdolibr@2001:4b98:dc2:41:216:3eff:fe6c:52a1) distopico |
2025-04-15 02:04:30 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-15 02:09:35 +0200 | acidjnk | (~acidjnk@p200300d6e71c4f08edc2aa045ea45701.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2025-04-15 02:14:42 +0200 | Googulator16 | (~Googulato@2a01-036d-0106-211a-315b-d519-517f-afe7.pool6.digikabel.hu) |
2025-04-15 02:16:28 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 02:18:06 +0200 | Googulator | (~Googulato@2a01-036d-0106-211a-315b-d519-517f-afe7.pool6.digikabel.hu) (Ping timeout: 240 seconds) |
2025-04-15 02:20:52 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-04-15 02:25:24 +0200 | xff0x | (~xff0x@2405:6580:b080:900:eff9:16f2:1634:b479) (Ping timeout: 245 seconds) |
2025-04-15 02:33:04 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 02:37:30 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-15 02:42:10 +0200 | Googulator16 | (~Googulato@2a01-036d-0106-211a-315b-d519-517f-afe7.pool6.digikabel.hu) (Quit: Client closed) |
2025-04-15 02:42:25 +0200 | Googulator16 | (~Googulato@2a01-036d-0106-211a-315b-d519-517f-afe7.pool6.digikabel.hu) |
2025-04-15 02:42:38 +0200 | 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-15 02:49:24 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 02:54:31 +0200 | otto_s | (~user@p5de2f29b.dip0.t-ipconnect.de) (Ping timeout: 276 seconds) |
2025-04-15 02:55:27 +0200 | otto_s | (~user@p5b04470d.dip0.t-ipconnect.de) |
2025-04-15 02:57:12 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-04-15 03:09:44 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 03:14:09 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-04-15 03:20:37 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 03:24:13 +0200 | statusbot11 | (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) statusbot |
2025-04-15 03:25:24 +0200 | inca | (~inca@71.30.233.213) (Ping timeout: 245 seconds) |
2025-04-15 03:25:30 +0200 | Square3 | (~Square@user/square) Square |
2025-04-15 03:25:43 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-04-15 03:26:06 +0200 | tabemann_ | (~tabemann@2600:1700:7990:24e0::49) |
2025-04-15 03:26:32 +0200 | ycp_ | (~znc@user/dragestil) dragestil |
2025-04-15 03:26:42 +0200 | SoF8 | (~skius@user/skius) skius |
2025-04-15 03:26:45 +0200 | inca | (~inca@71.30.233.213) |
2025-04-15 03:28:04 +0200 | down200- | (~down200@shell.lug.mtu.edu) down200 |
2025-04-15 03:28:33 +0200 | visilii_ | (~visilii@85.172.76.90) |
2025-04-15 03:28:55 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-04-15 03:28:59 +0200 | bwe_ | (~bwe@2a01:4f8:1c1c:4878::2) |
2025-04-15 03:29:06 +0200 | vgtw | (~vgtw@user/vgtw) vgtw |
2025-04-15 03:29:34 +0200 | tabaqui | (~tabaqui@167.71.80.236) (Ping timeout: 245 seconds) |
2025-04-15 03:29:34 +0200 | Taneb0 | (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) Taneb |
2025-04-15 03:32:00 +0200 | ryanbooker | (uid4340@id-4340.hampstead.irccloud.com) ryanbooker |
2025-04-15 03:33:41 +0200 | <haskellbridge> | <Bowuigi> EvanR the way that iso and osi "inject and extract" seems like foldology all over again with in-out |
2025-04-15 03:34:36 +0200 | Square2 | (~Square@user/square) (*.net *.split) |
2025-04-15 03:34:36 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (*.net *.split) |
2025-04-15 03:34:36 +0200 | Angelz | (Angelz@angelz.oddprotocol.org) (*.net *.split) |
2025-04-15 03:34:36 +0200 | Taneb | (~Taneb@213.138.101.13) (*.net *.split) |
2025-04-15 03:34:36 +0200 | jle` | (~jle`@2603:8001:3b00:11:2d8b:3abc:251d:2a6) (*.net *.split) |
2025-04-15 03:34:36 +0200 | robobub | (uid248673@id-248673.uxbridge.irccloud.com) (*.net *.split) |
2025-04-15 03:34:36 +0200 | dpk | (~dpk@jains.nonceword.org) (*.net *.split) |
2025-04-15 03:34:37 +0200 | lyxia | (~lyxia@poisson.chat) (*.net *.split) |
2025-04-15 03:34:37 +0200 | vgtw_ | (~vgtw@user/vgtw) (*.net *.split) |
2025-04-15 03:34:37 +0200 | sefidel | (~sefidel@user/sefidel) (*.net *.split) |
2025-04-15 03:34:37 +0200 | samhh__ | (7569f027cf@2a03:6000:1812:100::e4) (*.net *.split) |
2025-04-15 03:34:37 +0200 | ursa-major | (114efe6c39@2a03:6000:1812:100::11f3) (*.net *.split) |
2025-04-15 03:34:37 +0200 | sm2n | (ae95cb1267@user/sm2n) (*.net *.split) |
2025-04-15 03:34:37 +0200 | raghavgururajan | (ea769b8000@user/raghavgururajan) (*.net *.split) |
2025-04-15 03:34:37 +0200 | tabemann | (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (*.net *.split) |
2025-04-15 03:34:37 +0200 | exarkun | (~exarkun@user/exarkun) (*.net *.split) |
2025-04-15 03:34:37 +0200 | statusbot | (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (*.net *.split) |
2025-04-15 03:34:37 +0200 | Adran | (~adran@botters/adran) (*.net *.split) |
2025-04-15 03:34:38 +0200 | samhh | (7569f027cf@2a03:6000:1812:100::e4) (*.net *.split) |
2025-04-15 03:34:38 +0200 | visilii | (~visilii@85.172.76.90) (*.net *.split) |
2025-04-15 03:34:38 +0200 | Rembane | (~Rembane@user/Rembane) (*.net *.split) |
2025-04-15 03:34:38 +0200 | p3n | (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) (*.net *.split) |
2025-04-15 03:34:38 +0200 | echoreply | (~echoreply@45.32.163.16) (*.net *.split) |
2025-04-15 03:34:38 +0200 | _d0t | (~{-d0t-}@user/-d0t-/x-7915216) (*.net *.split) |
2025-04-15 03:34:38 +0200 | SoF | (~skius@user/skius) (*.net *.split) |
2025-04-15 03:34:38 +0200 | down200 | (~down200@shell.lug.mtu.edu) (*.net *.split) |
2025-04-15 03:34:38 +0200 | bwe | (~bwe@static.72.17.201.195.clients.your-server.de) (*.net *.split) |
2025-04-15 03:34:39 +0200 | dmoerner | (~dmoerner@fedora/dmoerner) (*.net *.split) |
2025-04-15 03:34:39 +0200 | nshepperd2 | (~nshepperd@2a01:4f9:3b:4cc9::2) (*.net *.split) |
2025-04-15 03:34:39 +0200 | V | (~v@ircpuzzles/2022/april/winner/V) (*.net *.split) |
2025-04-15 03:34:39 +0200 | xnbya | (~xnbya@2a01:4f8:c17:cbdd::1) (*.net *.split) |
2025-04-15 03:34:39 +0200 | dfordivam1 | (~dfordivam@160.16.87.223.v6.sakura.ne.jp) (*.net *.split) |
2025-04-15 03:34:39 +0200 | laman | (laman@rego.ai) (*.net *.split) |
2025-04-15 03:34:39 +0200 | nadja | (~dequbed@banana-new.kilobyte22.de) (*.net *.split) |
2025-04-15 03:34:39 +0200 | ycp | (~znc@user/dragestil) (*.net *.split) |
2025-04-15 03:34:39 +0200 | mzg | (mzg@abusers.hu) (*.net *.split) |
2025-04-15 03:34:41 +0200 | SoF8 | SoF |
2025-04-15 03:34:43 +0200 | ycp_ | ycp |
2025-04-15 03:38:15 +0200 | amadaluzia | (~amadaluzi@user/amadaluzia) amadaluzia |
2025-04-15 03:38:29 +0200 | Adran | (~adran@botters/adran) Adran |
2025-04-15 03:38:31 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 03:41:37 +0200 | echoreply | (~echoreply@2001:19f0:9002:1f3b:5400:ff:fe6f:8b8d) echoreply |
2025-04-15 03:43:13 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-04-15 03:46:05 +0200 | Square | (~Square4@user/square) Square |
2025-04-15 03:46:34 +0200 | sp1ff | (~user@c-67-160-173-55.hsd1.wa.comcast.net) (Read error: Connection reset by peer) |
2025-04-15 03:47:03 +0200 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
2025-04-15 03:49:31 +0200 | Square3 | (~Square@user/square) (Ping timeout: 244 seconds) |
2025-04-15 03:52:27 +0200 | aaronv | (~aaronv@user/aaronv) aaronv |
2025-04-15 03:56:43 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 04:01:24 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-04-15 04:11:26 +0200 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
2025-04-15 04:11:26 +0200 | Angelz | (Angelz@angelz.oddprotocol.org) |
2025-04-15 04:11:26 +0200 | jle` | (~jle`@2603:8001:3b00:11:2d8b:3abc:251d:2a6) jle` |
2025-04-15 04:11:26 +0200 | robobub | (uid248673@id-248673.uxbridge.irccloud.com) robobub |
2025-04-15 04:11:26 +0200 | dpk | (~dpk@jains.nonceword.org) dpk |
2025-04-15 04:11:26 +0200 | lyxia | (~lyxia@poisson.chat) lyxia |
2025-04-15 04:11:26 +0200 | sefidel | (~sefidel@user/sefidel) sefidel |
2025-04-15 04:11:26 +0200 | samhh__ | (7569f027cf@2a03:6000:1812:100::e4) samhh |
2025-04-15 04:11:26 +0200 | ursa-major | (114efe6c39@2a03:6000:1812:100::11f3) ursa-major |
2025-04-15 04:11:26 +0200 | raghavgururajan | (ea769b8000@user/raghavgururajan) raghavgururajan |
2025-04-15 04:11:26 +0200 | sm2n | (ae95cb1267@user/sm2n) sm2n |
2025-04-15 04:11:26 +0200 | exarkun | (~exarkun@user/exarkun) exarkun |
2025-04-15 04:11:26 +0200 | samhh | (7569f027cf@2a03:6000:1812:100::e4) samhh |
2025-04-15 04:11:26 +0200 | Rembane | (~Rembane@user/Rembane) Rembane |
2025-04-15 04:11:26 +0200 | p3n | (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) p3n |
2025-04-15 04:11:26 +0200 | laman | (laman@rego.ai) laman |
2025-04-15 04:11:26 +0200 | _d0t | (~{-d0t-}@user/-d0t-/x-7915216) {-d0t-} |
2025-04-15 04:11:26 +0200 | dmoerner | (~dmoerner@fedora/dmoerner) dmoerner |
2025-04-15 04:11:26 +0200 | nshepperd2 | (~nshepperd@2a01:4f9:3b:4cc9::2) nshepperd |
2025-04-15 04:11:26 +0200 | V | (~v@ircpuzzles/2022/april/winner/V) V |
2025-04-15 04:11:26 +0200 | xnbya | (~xnbya@2a01:4f8:c17:cbdd::1) |
2025-04-15 04:11:26 +0200 | dfordivam1 | (~dfordivam@160.16.87.223.v6.sakura.ne.jp) dfordivam |
2025-04-15 04:11:26 +0200 | nadja | (~dequbed@banana-new.kilobyte22.de) dequbed |
2025-04-15 04:11:26 +0200 | mzg | (mzg@abusers.hu) |
2025-04-15 04:11:44 +0200 | robobub | (uid248673@id-248673.uxbridge.irccloud.com) (Max SendQ exceeded) |
2025-04-15 04:11:44 +0200 | Angelz | (Angelz@angelz.oddprotocol.org) (Max SendQ exceeded) |
2025-04-15 04:14:43 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 04:15:52 +0200 | hsw | (~hsw@112-104-12-126.adsl.dynamic.seed.net.tw) (Remote host closed the connection) |
2025-04-15 04:15:55 +0200 | hsw_ | (~hsw@112-104-12-126.adsl.dynamic.seed.net.tw) hsw |
2025-04-15 04:19:45 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-04-15 04:21:24 +0200 | robobub | (uid248673@id-248673.uxbridge.irccloud.com) robobub |
2025-04-15 04:25:35 +0200 | prasad | (~Thunderbi@c-73-246-138-70.hsd1.in.comcast.net) (Remote host closed the connection) |
2025-04-15 04:27:58 +0200 | amadaluzia | (~amadaluzi@user/amadaluzia) (Ping timeout: 244 seconds) |
2025-04-15 04:30:16 +0200 | amadaluzia | (~amadaluzi@user/amadaluzia) amadaluzia |
2025-04-15 04:31:22 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds) |
2025-04-15 04:32:06 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 04:32:16 +0200 | td_ | (~td@i5387092A.versanet.de) (Ping timeout: 272 seconds) |
2025-04-15 04:33:56 +0200 | td_ | (~td@i5387093D.versanet.de) td_ |
2025-04-15 04:36:59 +0200 | aaronv | (~aaronv@user/aaronv) (Ping timeout: 260 seconds) |
2025-04-15 04:39:26 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
2025-04-15 04:40:50 +0200 | Angelz | (Angelz@2605:6400:30:fc15:d55b:fa6c:bd14:9973) |
2025-04-15 04:51:16 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 04:56:05 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-04-15 05:07:51 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 05:12:31 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-04-15 05:18:08 +0200 | notdabs | (~Owner@2600:1700:69cf:9000:1c62:21ed:d1ea:b97) (Quit: Leaving) |
2025-04-15 05:21:37 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 05:22:57 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-04-15 05:26:44 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
2025-04-15 05:38:58 +0200 | rekahsoft | (~rekahsoft@174.95.4.83) (Remote host closed the connection) |
2025-04-15 05:39:32 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 05:41:46 +0200 | ryanbooker | (uid4340@id-4340.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2025-04-15 05:43:21 +0200 | notdabs | (~Owner@2600:1700:69cf:9000:1c62:21ed:d1ea:b97) |
2025-04-15 05:43:55 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-04-15 05:46:40 +0200 | j1n37 | (~j1n37@user/j1n37) (Ping timeout: 268 seconds) |
2025-04-15 05:46:41 +0200 | j1n37- | (~j1n37@user/j1n37) j1n37 |
2025-04-15 05:55:49 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 06:00:35 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-04-15 06:03:33 +0200 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
2025-04-15 06:12:48 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 06:17:31 +0200 | j1n37 | (~j1n37@user/j1n37) j1n37 |
2025-04-15 06:18:44 +0200 | j1n37- | (~j1n37@user/j1n37) (Ping timeout: 265 seconds) |
2025-04-15 06:20:39 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-04-15 06:24:14 +0200 | notdabs | (~Owner@2600:1700:69cf:9000:1c62:21ed:d1ea:b97) (Quit: Leaving) |
2025-04-15 06:28:34 +0200 | michalz | (~michalz@185.246.207.217) |
2025-04-15 06:32:16 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 06:33:04 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds) |
2025-04-15 06:33:59 +0200 | <haskellbridge> | <Liamzee> i just put up a server, will be stuffing DNS over it so you can watch my traffic accident in real time |
2025-04-15 06:34:07 +0200 | <haskellbridge> | <Liamzee> but is there something that causes text to take a long time to build? |
2025-04-15 06:36:52 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-15 06:48:24 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 06:53:03 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-04-15 07:05:42 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 07:10:27 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-04-15 07:13:58 +0200 | euleritian | (~euleritia@95.90.214.149) (Ping timeout: 252 seconds) |
2025-04-15 07:14:20 +0200 | euleritian | (~euleritia@dynamic-176-000-004-180.176.0.pool.telefonica.de) |
2025-04-15 07:15:40 +0200 | inca | (~inca@71.30.233.213) (Ping timeout: 244 seconds) |
2025-04-15 07:17:55 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2025-04-15 07:21:28 +0200 | andrewboltachev | (~andrey@178.141.0.147) andrewboltachev |
2025-04-15 07:21:36 +0200 | haritz | (~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in) |
2025-04-15 07:22:28 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 07:23:25 +0200 | euleritian | (~euleritia@dynamic-176-000-004-180.176.0.pool.telefonica.de) (Ping timeout: 260 seconds) |
2025-04-15 07:24:10 +0200 | euleritian | (~euleritia@dynamic-176-000-057-245.176.0.pool.telefonica.de) |
2025-04-15 07:27:17 +0200 | inca | (~inca@71.30.233.213) |
2025-04-15 07:27:19 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-04-15 07:32:15 +0200 | euleritian | (~euleritia@dynamic-176-000-057-245.176.0.pool.telefonica.de) (Read error: Connection reset by peer) |
2025-04-15 07:32:33 +0200 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) |
2025-04-15 07:35:25 +0200 | harveypwca | (~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c) |
2025-04-15 07:36:48 +0200 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
2025-04-15 07:37:21 +0200 | euleritian | (~euleritia@dynamic-176-000-057-245.176.0.pool.telefonica.de) |
2025-04-15 07:38:30 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 07:40:59 +0200 | Garbanzo | (~Garbanzo@2602:304:6eac:dc10::2e) |
2025-04-15 07:43:19 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-04-15 07:45:41 +0200 | amadaluzia | (~amadaluzi@user/amadaluzia) (Ping timeout: 268 seconds) |
2025-04-15 07:46:14 +0200 | euleritian | (~euleritia@dynamic-176-000-057-245.176.0.pool.telefonica.de) (Read error: Connection reset by peer) |
2025-04-15 07:46:32 +0200 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) |
2025-04-15 07:49:01 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
2025-04-15 07:51:23 +0200 | j1n37- | (~j1n37@user/j1n37) j1n37 |
2025-04-15 07:52:18 +0200 | j1n37 | (~j1n37@user/j1n37) (Ping timeout: 276 seconds) |
2025-04-15 07:56:09 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 07:59:27 +0200 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) (Ping timeout: 276 seconds) |
2025-04-15 08:00:02 +0200 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) |
2025-04-15 08:02:01 +0200 | Googulator82 | (~Googulato@2a01-036d-0106-2077-315b-d519-517f-afe7.pool6.digikabel.hu) |
2025-04-15 08:03:37 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-04-15 08:05:18 +0200 | Googulator16 | (~Googulato@2a01-036d-0106-211a-315b-d519-517f-afe7.pool6.digikabel.hu) (Ping timeout: 240 seconds) |
2025-04-15 08:15:55 +0200 | aaronv | (~aaronv@user/aaronv) aaronv |
2025-04-15 08:16:40 +0200 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) (Ping timeout: 265 seconds) |
2025-04-15 08:17:07 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 08:17:10 +0200 | euleritian | (~euleritia@dynamic-176-000-057-245.176.0.pool.telefonica.de) |
2025-04-15 08:21:34 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-04-15 08:28:21 +0200 | takuan | (~takuan@d8D86B601.access.telenet.be) |
2025-04-15 08:29:12 +0200 | mrmonday | (~robert@what.i.hope.is.not.a.tabernaevagant.es) (Quit: .) |
2025-04-15 08:30:56 +0200 | mrmonday | (~robert@what.i.hope.is.not.a.tabernaevagant.es) mrmonday |
2025-04-15 08:33:32 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 08:36:44 +0200 | aaronv | (~aaronv@user/aaronv) (Ping timeout: 260 seconds) |
2025-04-15 08:38:13 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-04-15 08:45:27 +0200 | forell_ | (~forell@host-178-216-90-220.sta.tvknaszapraca.pl) |
2025-04-15 08:46:54 +0200 | forell | (~forell@user/forell) (Ping timeout: 276 seconds) |
2025-04-15 08:49:07 +0200 | aaronv | (~aaronv@user/aaronv) aaronv |
2025-04-15 08:50:34 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 08:51:03 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Quit: ljdarj) |
2025-04-15 08:53:58 +0200 | aaronv | (~aaronv@user/aaronv) (Ping timeout: 276 seconds) |
2025-04-15 08:54:59 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-04-15 09:00:01 +0200 | caconym | (~caconym@user/caconym) (Quit: bye) |
2025-04-15 09:00:33 +0200 | jmcantrell | (~weechat@user/jmcantrell) (Ping timeout: 244 seconds) |
2025-04-15 09:00:50 +0200 | caconym | (~caconym@user/caconym) caconym |
2025-04-15 09:02:30 +0200 | Garbanzo | (~Garbanzo@2602:304:6eac:dc10::2e) (Remote host closed the connection) |
2025-04-15 09:03:42 +0200 | chele | (~chele@user/chele) chele |
2025-04-15 09:07:34 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 09:07:35 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-04-15 09:08:37 +0200 | andrewboltachev | (~andrey@178.141.0.147) (Quit: Leaving.) |
2025-04-15 09:12:54 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-04-15 09:13:52 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
2025-04-15 09:14:36 +0200 | fp | (~Thunderbi@2001:708:20:1406::1370) fp |
2025-04-15 09:15:44 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 09:17:46 +0200 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen |
2025-04-15 09:19:34 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds) |
2025-04-15 09:20:27 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-15 09:20:53 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
2025-04-15 09:20:59 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 09:21:58 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
2025-04-15 09:24:33 +0200 | harveypwca | (~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c) (Quit: Leaving) |
2025-04-15 09:25:37 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-04-15 09:25:57 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2025-04-15 09:27:11 +0200 | califax | (~califax@user/califx) califx |
2025-04-15 09:28:39 +0200 | euleritian | (~euleritia@dynamic-176-000-057-245.176.0.pool.telefonica.de) (Read error: Connection reset by peer) |
2025-04-15 09:28:56 +0200 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) |
2025-04-15 09:33:03 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds) |
2025-04-15 09:33:23 +0200 | acidjnk | (~acidjnk@p200300d6e71c4f58dd6e73151eca3115.dip0.t-ipconnect.de) acidjnk |
2025-04-15 09:37:42 +0200 | alecs | (~alecs@nat16.software.imdea.org) alecs |
2025-04-15 09:38:37 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 09:39:19 +0200 | ft | (~ft@p4fc2a6e6.dip0.t-ipconnect.de) (Quit: leaving) |
2025-04-15 09:41:42 +0200 | gmg | (~user@user/gehmehgeh) gehmehgeh |
2025-04-15 09:45:43 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-04-15 09:54:12 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) lxsameer |
2025-04-15 09:55:37 +0200 | sinbad | (~sinbad@user/sinbad) Sinbad |
2025-04-15 09:57:06 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 09:58:13 +0200 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod |
2025-04-15 10:01:58 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
2025-04-15 10:02:43 +0200 | kenran | (~void@user/kenran) kenran |
2025-04-15 10:08:08 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) lisbeths |
2025-04-15 10:15:16 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 10:20:05 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-04-15 10:22:56 +0200 | tabaqui | (~tabaqui@167.71.80.236) tabaqui |
2025-04-15 10:25:04 +0200 | kenran | (~void@user/kenran) (Remote host closed the connection) |
2025-04-15 10:27:18 +0200 | kenran | (~void@user/kenran) kenran |
2025-04-15 10:31:24 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 10:33:48 +0200 | poscat | (~poscat@user/poscat) (Ping timeout: 252 seconds) |
2025-04-15 10:34:34 +0200 | __monty__ | (~toonn@user/toonn) toonn |
2025-04-15 10:36:21 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-04-15 10:38:34 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-04-15 10:43:53 +0200 | puke | (~puke@user/puke) (Ping timeout: 244 seconds) |
2025-04-15 10:47:14 +0200 | puke | (~puke@user/puke) puke |
2025-04-15 10:49:20 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 10:51:01 +0200 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
2025-04-15 10:53:49 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-04-15 10:53:49 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-04-15 11:03:07 +0200 | fp | (~Thunderbi@2001:708:20:1406::1370) (Ping timeout: 252 seconds) |
2025-04-15 11:03:33 +0200 | fp | (~Thunderbi@wireless-86-50-140-117.open.aalto.fi) fp |
2025-04-15 11:03:41 +0200 | gorignak | (~gorignak@user/gorignak) (Read error: Connection reset by peer) |
2025-04-15 11:05:05 +0200 | gorignak | (~gorignak@user/gorignak) gorignak |
2025-04-15 11:06:08 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 11:11:16 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
2025-04-15 11:14:22 +0200 | sand-witch | (~m-mzmz6l@vmi833741.contaboserver.net) (Ping timeout: 244 seconds) |
2025-04-15 11:18:55 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 11:19:07 +0200 | Diaseis | (~Diaseis@laptop-ipv6-2001-660-6101-403-1-af.labri.fr) |
2025-04-15 11:19:34 +0200 | sand-witch | (~m-mzmz6l@vmi833741.contaboserver.net) |
2025-04-15 11:24:07 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-04-15 11:24:24 +0200 | polyphem | (~rod@p4fc2c7a3.dip0.t-ipconnect.de) polyphem |
2025-04-15 11:27:15 +0200 | sprotte24 | (~sprotte24@p200300d16f238d002592e50c1399a7a3.dip0.t-ipconnect.de) |
2025-04-15 11:33:59 +0200 | michalz | (~michalz@185.246.207.217) (Remote host closed the connection) |
2025-04-15 11:34:10 +0200 | bwe_ | currently works through Reader and Writer Monads on Vitaly Bragilevsky's book. I am surprised by how simple the concepts were to understand. I don't know what held me back from them to date. Next up is State monad. |
2025-04-15 11:34:14 +0200 | bwe_ | bwe |
2025-04-15 11:36:56 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 11:36:58 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) kuribas |
2025-04-15 11:37:10 +0200 | driib318 | (~driib@vmi931078.contaboserver.net) (Quit: Ping timeout (120 seconds)) |
2025-04-15 11:41:14 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-04-15 11:42:13 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2025-04-15 11:46:13 +0200 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) (Ping timeout: 276 seconds) |
2025-04-15 11:47:10 +0200 | euleritian | (~euleritia@dynamic-176-004-129-026.176.4.pool.telefonica.de) |
2025-04-15 11:49:21 +0200 | zmt01 | (~zmt00@user/zmt00) zmt00 |
2025-04-15 11:49:45 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.5.2) |
2025-04-15 11:52:55 +0200 | zmt00 | (~zmt00@user/zmt00) (Ping timeout: 260 seconds) |
2025-04-15 11:53:25 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 11:57:46 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-15 11:59:39 +0200 | haritz | (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) |
2025-04-15 12:01:24 +0200 | haritz | (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host) |
2025-04-15 12:01:24 +0200 | haritz | (~hrtz@user/haritz) haritz |
2025-04-15 12:02:26 +0200 | rselim | (ce261f06ff@user/milesrout) (Ping timeout: 248 seconds) |
2025-04-15 12:02:26 +0200 | stureplan | (22e45d5caf@user/stureplan) (Ping timeout: 248 seconds) |
2025-04-15 12:02:26 +0200 | akspecs | (00cc8321af@sourcehut/user/akspecs) (Ping timeout: 248 seconds) |
2025-04-15 12:02:28 +0200 | fn_lumi | (3d621153a5@2a03:6000:1812:100::df7) (Read error: Connection reset by peer) |
2025-04-15 12:02:31 +0200 | smiesner | (b0cf5acf8c@2a03:6000:1812:100::13b9) (Read error: Connection reset by peer) |
2025-04-15 12:02:36 +0200 | fn_lumi | (3d621153a5@2a03:6000:1812:100::df7) fn_lumi |
2025-04-15 12:02:38 +0200 | smiesner | (b0cf5acf8c@user/smiesner) smiesner |
2025-04-15 12:02:41 +0200 | lucyy | (228ee8f0ce@user/lucyy) (Write error: Connection reset by peer) |
2025-04-15 12:02:41 +0200 | JoelMcCracken | (5ea8252fbb@2a03:6000:1812:100::10e3) (Read error: Connection reset by peer) |
2025-04-15 12:02:41 +0200 | uint64_t | (ec7b9bb9f3@2a03:6000:1812:100::139b) (Write error: Connection reset by peer) |
2025-04-15 12:02:42 +0200 | sus | (1b7af6299f@user/zeromomentum) (Write error: Connection reset by peer) |
2025-04-15 12:02:42 +0200 | ymherklotz | (cb2c9cfbdd@2a03:6000:1812:100::29a) (Write error: Connection reset by peer) |
2025-04-15 12:02:42 +0200 | arcadewise | (52968ed80d@2a03:6000:1812:100::3df) (Write error: Connection reset by peer) |
2025-04-15 12:02:42 +0200 | jakzale | (6291399afa@user/jakzale) (Write error: Connection reset by peer) |
2025-04-15 12:02:42 +0200 | whereiseveryone | (206ba86c98@2a03:6000:1812:100::2e4) (Write error: Connection reset by peer) |
2025-04-15 12:02:42 +0200 | probie | (cc0b34050a@user/probie) (Write error: Connection reset by peer) |
2025-04-15 12:02:42 +0200 | simendsjo | (34b0550437@2a03:6000:1812:100::1441) (Write error: Connection reset by peer) |
2025-04-15 12:02:42 +0200 | Ankhers | (e99e97ef8e@2a03:6000:1812:100::2a2) (Write error: Connection reset by peer) |
2025-04-15 12:02:42 +0200 | thatonelutenist | (8216c46202@2a03:6000:1812:100::fb3) (Write error: Connection reset by peer) |
2025-04-15 12:02:42 +0200 | jkoshy | (99b9359beb@user/jkoshy) (Write error: Connection reset by peer) |
2025-04-15 12:02:42 +0200 | chaitlatte0 | (ea29c0bb16@user/chaitlatte0) (Write error: Connection reset by peer) |
2025-04-15 12:02:42 +0200 | lane | (809450f172@2a03:6000:1812:100::1300) (Write error: Connection reset by peer) |
2025-04-15 12:02:42 +0200 | RussetParrotBear | (45ce440a48@2a03:6000:1812:100::e2) (Read error: Connection reset by peer) |
2025-04-15 12:02:49 +0200 | lane | (809450f172@2a03:6000:1812:100::1300) lane |
2025-04-15 12:02:49 +0200 | RussetParrotBear | (45ce440a48@2a03:6000:1812:100::e2) |
2025-04-15 12:02:49 +0200 | whereiseveryone_ | (206ba86c98@2a03:6000:1812:100::2e4) whereiseveryone |
2025-04-15 12:02:50 +0200 | jakzale | (6291399afa@user/jakzale) jakzale |
2025-04-15 12:02:50 +0200 | probie | (cc0b34050a@user/probie) probie |
2025-04-15 12:02:50 +0200 | rselim | (ce261f06ff@user/milesrout) milesrout |
2025-04-15 12:02:50 +0200 | sus | (1b7af6299f@user/zeromomentum) zeromomentum |
2025-04-15 12:02:50 +0200 | akspecs | (00cc8321af@sourcehut/user/akspecs) akspecs |
2025-04-15 12:02:51 +0200 | chaitlatte0 | (ea29c0bb16@user/chaitlatte0) chaitlatte0 |
2025-04-15 12:02:51 +0200 | arcadewise | (52968ed80d@2a03:6000:1812:100::3df) l3gacyb3ta |
2025-04-15 12:02:51 +0200 | thatonelutenist | (8216c46202@2a03:6000:1812:100::fb3) thatonelutenist |
2025-04-15 12:02:51 +0200 | lucyy | (228ee8f0ce@user/lucyy) lucyy |
2025-04-15 12:02:51 +0200 | stureplan | (22e45d5caf@user/stureplan) stureplan |
2025-04-15 12:02:51 +0200 | uint64_t | (ec7b9bb9f3@2a03:6000:1812:100::139b) k_hachig |
2025-04-15 12:02:51 +0200 | Ankhers_ | (e99e97ef8e@2a03:6000:1812:100::2a2) Ankhers |
2025-04-15 12:02:51 +0200 | simendsjo | (34b0550437@2a03:6000:1812:100::1441) simendsjo |
2025-04-15 12:02:51 +0200 | ymherklotz | (cb2c9cfbdd@2a03:6000:1812:100::29a) ymherklotz |
2025-04-15 12:02:51 +0200 | JoelMcCracken | (5ea8252fbb@2a03:6000:1812:100::10e3) JoelMcCracken |
2025-04-15 12:02:51 +0200 | jkoshy_ | (99b9359beb@user/jkoshy) jkoshy |
2025-04-15 12:03:18 +0200 | jkoshy_ | jkoshy |
2025-04-15 12:03:47 +0200 | Ankhers_ | Ankhers |
2025-04-15 12:04:04 +0200 | bwe32145 | (~bwe@2a01:4f8:1c1c:4878::2) bwe |
2025-04-15 12:04:09 +0200 | bwe | bwe_ |
2025-04-15 12:04:14 +0200 | bwe32145 | bwe |
2025-04-15 12:05:01 +0200 | bwe | (~bwe@2a01:4f8:1c1c:4878::2) (Client Quit) |
2025-04-15 12:06:01 +0200 | bwe | (~bwe@2a01:4f8:1c1c:4878::2) bwe |
2025-04-15 12:06:57 +0200 | whereiseveryone_ | whereiseveryone |
2025-04-15 12:07:12 +0200 | bwe | (~bwe@2a01:4f8:1c1c:4878::2) (Remote host closed the connection) |
2025-04-15 12:08:48 +0200 | bwe_ | (~bwe@2a01:4f8:1c1c:4878::2) (Remote host closed the connection) |
2025-04-15 12:09:01 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 12:11:08 +0200 | <[exa]> | tomsmeding: hey btw, are there any good tools to kinda inspect what code is generated by accelerate? |
2025-04-15 12:11:23 +0200 | <[exa]> | In particular I was wondering what the `permute` actually does inside |
2025-04-15 12:13:42 +0200 | bwe | (~bwe@2a01:4f8:1c1c:4878::2) bwe |
2025-04-15 12:13:59 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-04-15 12:17:35 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 12:21:45 +0200 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 244 seconds) |
2025-04-15 12:22:13 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-04-15 12:23:32 +0200 | driib318 | (~driib@vmi931078.contaboserver.net) driib |
2025-04-15 12:25:31 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) wootehfoot |
2025-04-15 12:33:56 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 12:34:16 +0200 | internatetional | (~nate@2001:448a:20a3:c2e5:91f2:cdf9:8535:492c) internatetional |
2025-04-15 12:37:25 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2025-04-15 12:38:40 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
2025-04-15 12:43:09 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
2025-04-15 12:43:55 +0200 | tromp | (~textual@89-99-43-152.cable.dynamic.v4.ziggo.nl) |
2025-04-15 12:50:15 +0200 | poscat | (~poscat@user/poscat) (Read error: Connection reset by peer) |
2025-04-15 12:51:22 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 12:54:08 +0200 | sprotte24 | (~sprotte24@p200300d16f238d002592e50c1399a7a3.dip0.t-ipconnect.de) (Quit: Leaving) |
2025-04-15 12:56:02 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-04-15 13:00:05 +0200 | caconym | (~caconym@user/caconym) (Quit: bye) |
2025-04-15 13:00:31 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2025-04-15 13:01:48 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-04-15 13:05:07 +0200 | caconym | (~caconym@user/caconym) caconym |
2025-04-15 13:05:16 +0200 | tromp | (~textual@89-99-43-152.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2025-04-15 13:07:11 +0200 | internatetional | (~nate@2001:448a:20a3:c2e5:91f2:cdf9:8535:492c) (Ping timeout: 272 seconds) |
2025-04-15 13:08:14 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 13:08:30 +0200 | Diaseis | (~Diaseis@laptop-ipv6-2001-660-6101-403-1-af.labri.fr) (Ping timeout: 240 seconds) |
2025-04-15 13:10:38 +0200 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
2025-04-15 13:10:44 +0200 | Otong | (~Otong@user/Otong) Otong |
2025-04-15 13:14:25 +0200 | <ski> | bwe : higher-order functions ? |
2025-04-15 13:15:07 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-15 13:15:37 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-04-15 13:17:18 +0200 | jespada | (~jespada@r167-61-126-159.dialup.adsl.anteldata.net.uy) jespada |
2025-04-15 13:18:34 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 13:19:10 +0200 | hsw_ | hsw |
2025-04-15 13:19:14 +0200 | xff0x | (~xff0x@2405:6580:b080:900:a06a:3d55:af99:ce4d) |
2025-04-15 13:21:53 +0200 | <haskellbridge> | <Liamzee> https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/multiline_strings.html |
2025-04-15 13:21:54 +0200 | <haskellbridge> | <Liamzee> this is cruel |
2025-04-15 13:21:57 +0200 | <haskellbridge> | <Liamzee> the ++ is unnecessary ;_; |
2025-04-15 13:23:06 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-04-15 13:31:47 +0200 | tromp | (~textual@2001:1c00:3487:1b00:2562:1865:ccbe:6e5d) |
2025-04-15 13:33:19 +0200 | <bwe> | ski: can you elaborate? |
2025-04-15 13:35:09 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 13:36:40 +0200 | <ski> | you'd need to undestand higher-order functions (and polymorphism, and probably at least a little bit about parameterized data types) before understanding the definition of `(>>=)', for `Reader r',`State s' (not to mention `Cont o') |
2025-04-15 13:37:21 +0200 | <ski> | (preferably a little bit about type classes, and how instances work, too) |
2025-04-15 13:38:10 +0200 | <haskellbridge> | <Liamzee> I don't have Bragilevsky's book with me :( |
2025-04-15 13:38:14 +0200 | [exa] | is still missing a monad tutorial that starts with Cont and iteratively brings order to the utter chaos |
2025-04-15 13:38:30 +0200 | <haskellbridge> | <Liamzee> does he mention "don't use any writer but CPS, and it's considered better practice to use a logging library instead of writer these days?" |
2025-04-15 13:39:09 +0200 | <bwe> | [exa] & ski: can you recommend a tutorial for Cont? |
2025-04-15 13:39:29 +0200 | Inst | (~Inst@user/Inst) Inst |
2025-04-15 13:39:29 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-04-15 13:39:42 +0200 | <haskellbridge> | <Liamzee> hum |
2025-04-15 13:40:33 +0200 | <ski> | i don't really recall what tutorials cover which ones |
2025-04-15 13:40:39 +0200 | <ski> | i assume you checked |
2025-04-15 13:40:48 +0200 | <ski> | @where Typeclassopedia |
2025-04-15 13:40:48 +0200 | <lambdabot> | http://www.haskell.org/haskellwiki/Typeclassopedia |
2025-04-15 13:40:53 +0200 | <ski> | also |
2025-04-15 13:40:57 +0200 | <ski> | @where AAM |
2025-04-15 13:40:57 +0200 | <lambdabot> | http://www.haskell.org/haskellwiki/All_About_Monads |
2025-04-15 13:41:04 +0200 | <haskellbridge> | <Liamzee> this is _A_ monad tutorial for cont, not necessarily the best one |
2025-04-15 13:41:26 +0200 | <ski> | .. i already knew about CPS, before i learned about `Cont', though |
2025-04-15 13:41:41 +0200 | <haskellbridge> | <Liamzee> https://www.schoolofhaskell.com/school/to-infinity-and-beyond/pick-of-the-week/the-mother-of-all-m… |
2025-04-15 13:42:00 +0200 | <ski> | wasn't there a dpiponi blag on that ? |
2025-04-15 13:42:41 +0200 | <ski> | ah, this is by dpiponi |
2025-04-15 13:44:22 +0200 | <bwe> | Liamzee: I cannot find such hint, though he discusses different loggers |
2025-04-15 13:44:36 +0200 | <bwe> | what's CPS? |
2025-04-15 13:44:49 +0200 | <bwe> | so, CPS, Cont, Reader, Writer, State, in that order? |
2025-04-15 13:45:50 +0200 | <ski> | right. i know that post from <http://blog.sigfpe.com/2008/12/mother-of-all-monads.html> |
2025-04-15 13:45:56 +0200 | <ski> | no |
2025-04-15 13:46:00 +0200 | <haskellbridge> | <ozkutuk> bwe: https://williamyaoh.com/posts/2022-05-02-the-cont-monad.html |
2025-04-15 13:46:07 +0200 | <ski> | CPS is Continuation-Passing Style |
2025-04-15 13:46:12 +0200 | <ski> | which is what `Cont' does |
2025-04-15 13:47:36 +0200 | <Inst> | tbh many of the monad transformers have been problematic |
2025-04-15 13:47:40 +0200 | <ski> | (also `Codensity', and one `IO'-specific that i don't recall the name of, atm) |
2025-04-15 13:47:44 +0200 | <Inst> | if you use State monad from mtl or transformer package |
2025-04-15 13:47:56 +0200 | <Inst> | remember to use State.Strict, it's a footgun, unfortunately |
2025-04-15 13:48:13 +0200 | <Inst> | Writer from those packages are liable to be footguns unless you use the CPS variant |
2025-04-15 13:48:24 +0200 | <ski> | ah |
2025-04-15 13:48:26 +0200 | <Inst> | and Writer these days is used less for logging, and more for constructing builder eDSLs |
2025-04-15 13:48:30 +0200 | <ski> | @hackage managed |
2025-04-15 13:48:30 +0200 | <lambdabot> | https://hackage.haskell.org/package/managed |
2025-04-15 13:48:56 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) Unicorn_Princess |
2025-04-15 13:49:00 +0200 | <Inst> | for instance, html in Haskell, whether through the Blaze or Lucid libraries, is a writer-like eDSL |
2025-04-15 13:49:36 +0200 | sinbad | (~sinbad@user/sinbad) () |
2025-04-15 13:49:53 +0200 | poscat | (~poscat@user/poscat) (Read error: Connection reset by peer) |
2025-04-15 13:50:09 +0200 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 248 seconds) |
2025-04-15 13:50:53 +0200 | urdh | (~urdh@user/urdh) (Ping timeout: 272 seconds) |
2025-04-15 13:52:47 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 13:57:25 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-04-15 14:05:55 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-04-15 14:07:05 +0200 | fp | (~Thunderbi@wireless-86-50-140-117.open.aalto.fi) (Ping timeout: 265 seconds) |
2025-04-15 14:08:22 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 14:09:28 +0200 | j1n37 | (~j1n37@user/j1n37) j1n37 |
2025-04-15 14:10:57 +0200 | j1n37- | (~j1n37@user/j1n37) (Ping timeout: 265 seconds) |
2025-04-15 14:13:19 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-04-15 14:18:31 +0200 | SlackCoder | (~SlackCode@64-94-63-8.ip.weststar.net.ky) SlackCoder |
2025-04-15 14:19:31 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 14:20:12 +0200 | jespada | (~jespada@r167-61-126-159.dialup.adsl.anteldata.net.uy) (Quit: My Mac has gone to sleep. ZZZzzz…) |
2025-04-15 14:23:23 +0200 | jespada | (~jespada@r167-61-126-159.dialup.adsl.anteldata.net.uy) jespada |
2025-04-15 14:23:47 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2025-04-15 14:24:29 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-04-15 14:28:55 +0200 | <Inst> | you asked for it, ski |
2025-04-15 14:28:56 +0200 | haritz | (~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in) |
2025-04-15 14:29:00 +0200 | <Inst> | https://pastebin.com/QykNnTeQ |
2025-04-15 14:30:36 +0200 | <bwe> | Inst: |
2025-04-15 14:30:41 +0200 | kenran | (~void@user/kenran) (Remote host closed the connection) |
2025-04-15 14:31:17 +0200 | <bwe> | Inst: I am considering using a State / Writer to collect those parts that are not parsed yet and need parsers to be defined. |
2025-04-15 14:31:18 +0200 | <ski> | wasn't aware i asked for anything |
2025-04-15 14:31:23 +0200 | <GdeVolpiano> | Hello gentlepeople. |
2025-04-15 14:31:51 +0200 | <Inst> | oh sorry |
2025-04-15 14:31:54 +0200 | <Inst> | [exa] |
2025-04-15 14:33:42 +0200 | <GdeVolpiano> | I'm hitting a bit of a snag here. I'm trying to help to ensure that the latest version of stylish-haskell works with Cabal 3.10 and Cabal 3.12, but when compiling on ghc-9.6.7 (not with ghc-9.8.4 or ghc-9.10.1), compilation fails on a variant of https://gitlab.haskell.org/ghc/ghc/-/merge_requests/13743 |
2025-04-15 14:34:49 +0200 | <GdeVolpiano> | ghc_unique_counter64 is defined both in libHSrts-1.0.2 and libHSghc-lib-parser-9.10.1.20250103 |
2025-04-15 14:35:14 +0200 | <[exa]> | Inst: <3 |
2025-04-15 14:35:27 +0200 | <GdeVolpiano> | I've obviously seen the proposed fix linked from the ghc-9.6.7 release note, but I must admit that I'm a little bit at a loss about where to put it in… |
2025-04-15 14:35:51 +0200 | <ski> | @let type StateC s a = Cont (s -> (a, s)) a |
2025-04-15 14:35:52 +0200 | <lambdabot> | Defined. |
2025-04-15 14:35:52 +0200 | rekahsoft | (~rekahsoft@bras-base-orllon1103w-grc-15-174-95-4-83.dsl.bell.ca) rekahsoft |
2025-04-15 14:35:55 +0200 | <ski> | @type let runStateC :: StateC s a -> s -> (a,s); runStateC m s = runCont m (\a -> (a, s)) s in runStateC |
2025-04-15 14:35:55 +0200 | <lambdabot> | error: |
2025-04-15 14:35:55 +0200 | <lambdabot> | • Couldn't match expected type ‘s1 -> (a1, s1)’ |
2025-04-15 14:35:55 +0200 | <lambdabot> | with actual type ‘(a1, s1)’ |
2025-04-15 14:36:12 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 14:37:04 +0200 | <ski> | @type let runStateC :: StateC s a -> s -> (a,s); runStateC m s = runCont m (\a -> (a, s)) s in runStateC |
2025-04-15 14:37:05 +0200 | <lambdabot> | error: |
2025-04-15 14:37:05 +0200 | <lambdabot> | • Couldn't match expected type ‘s1 -> (a1, s1)’ |
2025-04-15 14:37:05 +0200 | <lambdabot> | with actual type ‘(a1, s1)’ |
2025-04-15 14:37:11 +0200 | <ski> | er |
2025-04-15 14:37:14 +0200 | <ski> | @type let runStateC :: StateC s a -> s -> (a,s); runStateC m s = runCont m (\a s -> (a, s)) s in runStateC |
2025-04-15 14:37:15 +0200 | <lambdabot> | StateC s a -> s -> (a, s) |
2025-04-15 14:40:19 +0200 | <ski> | ah, right. here's a more serious problem. `Functor (StateC s)' ? |
2025-04-15 14:40:49 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-04-15 14:41:49 +0200 | <ski> | also `Functor MaybeC' |
2025-04-15 14:43:30 +0200 | <ski> | the `IO' one also makes no sense (type error, unless `World' is supposed to be a function type ?) |
2025-04-15 14:44:00 +0200 | <ski> | Inst ^ |
2025-04-15 14:44:37 +0200 | <Inst> | ski: it's deepseek ai brainrot |
2025-04-15 14:45:33 +0200 | <Axman6> | GdeVolpiano: what error are you getting? |
2025-04-15 14:45:33 +0200 | <ski> | i'd also at least want to see an exit from a recursive computation, for `Cont', if not a more exotic example (resuming computations later, reusing a continuation twice, ..) |
2025-04-15 14:47:47 +0200 | <Inst> | yeah tbh i'm not that comfortable with cont, i think i made 2 attempts on it and at least i understand the methods, but not the justification of it |
2025-04-15 14:48:36 +0200 | <Inst> | probably shouldn't have put it up :( |
2025-04-15 14:49:27 +0200 | <Inst> | just as a note, monad tutorials on DeepSeek are so bad (Mistral's Le Chat is worse, iirc), that DeepSeek triggered political censorship of its monad tutorials previously |
2025-04-15 14:50:17 +0200 | fp | (~Thunderbi@wireless-86-50-140-117.open.aalto.fi) fp |
2025-04-15 14:50:46 +0200 | <Axman6> | "A monad is just a pot of honey, where you pass in a pooh-bear which cosumes the honey and returns a new pot of honey" |
2025-04-15 14:52:34 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 14:52:36 +0200 | <haskellbridge> | <Liamzee> https://cdn.discordapp.com/attachments/968989726633779215/1361685398060794026/image.png?ex=67ffa7d… |
2025-04-15 14:52:47 +0200 | weary-traveler | (~user@user/user363627) user363627 |
2025-04-15 14:53:13 +0200 | <Axman6> | I ain't clicking that |
2025-04-15 14:57:21 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-04-15 14:59:32 +0200 | fp | (~Thunderbi@wireless-86-50-140-117.open.aalto.fi) (Quit: fp) |
2025-04-15 14:59:50 +0200 | fp | (~Thunderbi@2001:708:20:1406::10c5) fp |
2025-04-15 15:01:28 +0200 | <GdeVolpiano> | Axman6: /usr/bin/ld.gold: error: /usr/local/.ghcup/ghc/9.6.7/lib/ghc-9.6.7/lib/../lib/x86_64-linux-ghc-9.6.7/rts-1.0.2/libHSrts-1.0.2.a(Globals.o): multiple definition of 'ghc_unique_counter64' |
2025-04-15 15:01:30 +0200 | <GdeVolpiano> | /usr/bin/ld.gold: /home/runner/.cabal/store/ghc-9.6.7/ghc-lib-parser-9.10.1.20250103-6822c1bb167729f4c6ea71be204d04266e852a68038c599260f1664e7c2cb181/lib/libHSghc-lib-parser-9.10.1.20250103-6822c1bb167729f4c6ea71be204d04266e852a68038c599260f1664e7c2cb181.a(genSym.o): previous definition here |
2025-04-15 15:02:01 +0200 | <haskellbridge> | <maerwald> That's known |
2025-04-15 15:02:14 +0200 | <GdeVolpiano> | Weirdly enough, that's when building stylish-haskell, not when building ghc-lib-parser |
2025-04-15 15:02:17 +0200 | <haskellbridge> | <maerwald> Trying to compile hls? |
2025-04-15 15:02:23 +0200 | <Axman6> | I was going to say #ghc might be a better place to ask |
2025-04-15 15:02:30 +0200 | <GdeVolpiano> | Oh right, sorry |
2025-04-15 15:02:33 +0200 | <haskellbridge> | <maerwald> I see |
2025-04-15 15:02:41 +0200 | <Axman6> | always a good idea to ask here first though |
2025-04-15 15:02:52 +0200 | GdeVolpiano | is off to #ghc then |
2025-04-15 15:03:01 +0200 | <GdeVolpiano> | Thanks |
2025-04-15 15:05:02 +0200 | tromp | (~textual@2001:1c00:3487:1b00:2562:1865:ccbe:6e5d) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2025-04-15 15:10:51 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 15:11:02 +0200 | hidjgr | (~hidjgr@68.52.120.78.rev.sfr.net) |
2025-04-15 15:11:20 +0200 | hidjgr | (~hidjgr@68.52.120.78.rev.sfr.net) (Changing host) |
2025-04-15 15:11:20 +0200 | hidjgr | (~hidjgr@user/hidjgr) hidjgr |
2025-04-15 15:17:37 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-04-15 15:20:34 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 15:21:17 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) L29Ah |
2025-04-15 15:25:11 +0200 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
2025-04-15 15:25:27 +0200 | gorignak | (~gorignak@user/gorignak) gorignak |
2025-04-15 15:25:52 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-04-15 15:30:49 +0200 | tromp | (~textual@2001:1c00:3487:1b00:2562:1865:ccbe:6e5d) |
2025-04-15 15:30:56 +0200 | poscat0x04 | (~poscat@user/poscat) poscat |
2025-04-15 15:31:06 +0200 | poscat0x04 | (~poscat@user/poscat) (Remote host closed the connection) |
2025-04-15 15:32:50 +0200 | poscat | (~poscat@user/poscat) (Ping timeout: 260 seconds) |
2025-04-15 15:34:18 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-04-15 15:35:32 +0200 | euleritian | (~euleritia@dynamic-176-004-129-026.176.4.pool.telefonica.de) (Ping timeout: 265 seconds) |
2025-04-15 15:36:16 +0200 | cheater | (~Username@user/cheater) (Quit: Going offline, see ya! (www.adiirc.com)) |
2025-04-15 15:37:56 +0200 | euleritian | (~euleritia@dynamic-176-004-021-148.176.4.pool.telefonica.de) |
2025-04-15 15:38:01 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 15:38:21 +0200 | Square3 | (~Square@user/square) Square |
2025-04-15 15:40:40 +0200 | polyphem | (~rod@p4fc2c7a3.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
2025-04-15 15:41:25 +0200 | Square | (~Square4@user/square) (Ping timeout: 252 seconds) |
2025-04-15 15:42:39 +0200 | polyphem | (~rod@p4fc2c7a3.dip0.t-ipconnect.de) polyphem |
2025-04-15 15:42:41 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-04-15 15:45:43 +0200 | kuribas` | (~user@ip-188-118-57-242.reverse.destiny.be) kuribas |
2025-04-15 15:47:25 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 260 seconds) |
2025-04-15 15:50:08 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2025-04-15 15:53:54 +0200 | poscat | (~poscat@user/poscat) (Read error: Connection reset by peer) |
2025-04-15 15:55:55 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 16:00:50 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-04-15 16:01:57 +0200 | alecs | (~alecs@nat16.software.imdea.org) (Quit: Client closed) |
2025-04-15 16:03:13 +0200 | inca | (~inca@71.30.233.213) (Read error: Connection reset by peer) |
2025-04-15 16:03:51 +0200 | inca | (~inca@h213.233.30.71.dynamic.ip.windstream.net) |
2025-04-15 16:04:11 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-04-15 16:06:21 +0200 | Inst | (~Inst@user/Inst) (Ping timeout: 252 seconds) |
2025-04-15 16:08:38 +0200 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
2025-04-15 16:10:35 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-04-15 16:12:01 +0200 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen |
2025-04-15 16:12:45 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 16:15:46 +0200 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
2025-04-15 16:17:35 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-04-15 16:17:38 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-04-15 16:17:40 +0200 | tabemann_ | (~tabemann@2600:1700:7990:24e0::49) (Ping timeout: 252 seconds) |
2025-04-15 16:17:52 +0200 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
2025-04-15 16:18:09 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-04-15 16:18:50 +0200 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
2025-04-15 16:19:07 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-04-15 16:23:14 +0200 | tabaqui | (~tabaqui@167.71.80.236) (Ping timeout: 252 seconds) |
2025-04-15 16:27:01 +0200 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
2025-04-15 16:28:09 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 16:29:07 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.5.2) |
2025-04-15 16:29:11 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-04-15 16:32:29 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-04-15 16:36:30 +0200 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
2025-04-15 16:38:37 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-04-15 16:39:05 +0200 | tabemann | (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) |
2025-04-15 16:40:36 +0200 | fp | (~Thunderbi@2001:708:20:1406::10c5) (Ping timeout: 272 seconds) |
2025-04-15 16:40:54 +0200 | inca | (~inca@h213.233.30.71.dynamic.ip.windstream.net) (Ping timeout: 260 seconds) |
2025-04-15 16:44:12 +0200 | <haskellbridge> | <Liamzee> this is sort of overkill, isn't it? |
2025-04-15 16:44:14 +0200 | <haskellbridge> | <Liamzee> https://milkv.io/duo-s |
2025-04-15 16:44:29 +0200 | famubu | (~julinuser@user/famubu) famubu |
2025-04-15 16:45:08 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 16:45:49 +0200 | <famubu> | Hi. I was trying to get familiar with TemplateHaskell, but the API documentation is not always making sense. There are many types, but I often find it difficult to understand the purpose of the types. |
2025-04-15 16:46:05 +0200 | <haskellbridge> | <Liamzee> grr |
2025-04-15 16:46:13 +0200 | <haskellbridge> | <Liamzee> https://gitlab.haskell.org/ghc/ghc/-/issues/16783 |
2025-04-15 16:46:13 +0200 | <famubu> | For example Pred, Cxt, Bang. |
2025-04-15 16:46:30 +0200 | <famubu> | Is there some place where the meaning of these types are written down? |
2025-04-15 16:46:34 +0200 | <famubu> | in TemplateHaskell. |
2025-04-15 16:46:38 +0200 | inca | (~inca@71.30.233.213) |
2025-04-15 16:48:27 +0200 | <famubu> | Eg: https://hackage.haskell.org/package/template-haskell-2.23.0.0/docs/Language-Haskell-TH.html#t:Bang… |
2025-04-15 16:49:38 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-15 16:52:24 +0200 | <c_wraith> | famubu: many of these things are just direct reflections of a combination of Haskell syntax and GHC extensions |
2025-04-15 16:53:52 +0200 | <tomsmeding> | [exa]: for the accelerate-internal IR, Acc and Exp values have a Show instance that shows the program after fusion |
2025-04-15 16:54:31 +0200 | <tomsmeding> | if you set the +debug flag on the 'accelerate' package then you can pass '+ACC -ddump-cc -dverbose' to your executable on the command line to see generated LLVM IR (warning: large) |
2025-04-15 16:54:44 +0200 | <tomsmeding> | for other +ACC flags, see accelerate.cabal |
2025-04-15 16:55:02 +0200 | <c_wraith> | BangType is a specifier for a data constructor field. It is an alias for (Bang, Type). The Type part is easier - it's just a representation of a Haskell type. The Bang part contains two components, SourceUnpackedness and SourceStrictness |
2025-04-15 16:55:08 +0200 | <tomsmeding> | [exa]: (+ACC is intended to work like +RTS and also supports -ACC and --ACC like RTS does) |
2025-04-15 16:55:34 +0200 | <c_wraith> | SourceStrictness reflects actual Haskell syntax - is the field declared to be strict, lazy, or neither? |
2025-04-15 16:55:43 +0200 | <tomsmeding> | [exa]: for better or for worse, even 'r -> Acc a' has a Show instance |
2025-04-15 16:55:59 +0200 | <c_wraith> | SourceUnpackedness reflects the GHC {-# Unpack #-} pragma being present or not |
2025-04-15 16:57:11 +0200 | harveypwca | (~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c) |
2025-04-15 16:57:36 +0200 | <c_wraith> | famubu: If you are sufficiently familiar with Haskell syntax, it should be pretty obvious what BangType is for. But you do need to know about some GHC extensions to know what SourceUnpackedness maps to |
2025-04-15 16:58:33 +0200 | michalz | (~michalz@185.246.207.217) |
2025-04-15 16:59:10 +0200 | <tomsmeding> | [exa]: you may want to use '+ACC -fforce-recomp' or '$ rm -rf ~/.cache/accelerate' to get things to recompile instead of using the cached .so |
2025-04-15 16:59:13 +0200 | <c_wraith> | unfortunately, that's sort of how template haskell works at the moment. You need a separate syntax reference like the Haskell Report and the GHC user's guide for extensions to see what everything means |
2025-04-15 16:59:38 +0200 | inca | (~inca@71.30.233.213) (Ping timeout: 265 seconds) |
2025-04-15 16:59:59 +0200 | <famubu> | I only have a superficial familiarity with Haskell.. I guess that's why..😅 |
2025-04-15 17:00:30 +0200 | <famubu> | Oh wait.. |
2025-04-15 17:00:50 +0200 | <famubu> | I guess `!` is for strict eval. |
2025-04-15 17:00:59 +0200 | inca | (~inca@71.30.233.213) |
2025-04-15 17:01:54 +0200 | <famubu> | Which ghc extensions are relevant for SourceUnpackedness? |
2025-04-15 17:02:20 +0200 | <famubu> | I have been trying to tick of the extensions that I had come across and wanted to add to that list: https://ju-sh.github.io/wiki/haskell/ghc-extensions.html |
2025-04-15 17:02:45 +0200 | qeef | (~qeef@138-169-143-94.cust.centrio.cz) qeef |
2025-04-15 17:02:53 +0200 | <c_wraith> | famubu: https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/pragmas.html#unpack-pragma and the nounpack pragma, the next thing down |
2025-04-15 17:03:01 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 17:03:18 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) JuanDaugherty |
2025-04-15 17:03:21 +0200 | <c_wraith> | as pragmas, they don't need a separate language extension to enable |
2025-04-15 17:04:46 +0200 | <c_wraith> | hey wait a second. the docs on the nounpack pragma are wrong, though the usage example shows correct usage. |
2025-04-15 17:05:07 +0200 | <c_wraith> | (it should say "Where: data constructor field") |
2025-04-15 17:06:12 +0200 | JuanDaugherty | had to look at the log to dispel "noun pack" |
2025-04-15 17:06:39 +0200 | <famubu> | I too first read it as noun. |
2025-04-15 17:07:04 +0200 | <JuanDaugherty> | which woulda been the excite |
2025-04-15 17:07:39 +0200 | <c_wraith> | verbs never get packed, though |
2025-04-15 17:10:33 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
2025-04-15 17:14:15 +0200 | inca | (~inca@71.30.233.213) (Ping timeout: 268 seconds) |
2025-04-15 17:15:28 +0200 | Googulator82 | (~Googulato@2a01-036d-0106-2077-315b-d519-517f-afe7.pool6.digikabel.hu) (Quit: Client closed) |
2025-04-15 17:15:56 +0200 | Googulator82 | (~Googulato@2a01-036d-0106-2077-315b-d519-517f-afe7.pool6.digikabel.hu) |
2025-04-15 17:17:37 +0200 | urdh | (~urdh@user/urdh) urdh |
2025-04-15 17:17:51 +0200 | inca | (~inca@71.30.233.213) |
2025-04-15 17:20:21 +0200 | qeef | (~qeef@138-169-143-94.cust.centrio.cz) (Ping timeout: 252 seconds) |
2025-04-15 17:21:52 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 17:23:42 +0200 | jmcantrell | (~weechat@user/jmcantrell) jmcantrell |
2025-04-15 17:26:42 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-04-15 17:28:30 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh |
2025-04-15 17:31:22 +0200 | acidjnk | (~acidjnk@p200300d6e71c4f58dd6e73151eca3115.dip0.t-ipconnect.de) (Ping timeout: 276 seconds) |
2025-04-15 17:33:58 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 17:35:45 +0200 | tromp | (~textual@2001:1c00:3487:1b00:2562:1865:ccbe:6e5d) (Ping timeout: 248 seconds) |
2025-04-15 17:37:23 +0200 | skylord5816 | (~skylord58@user/skylord5816) skylord5816 |
2025-04-15 17:38:50 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-04-15 17:46:57 +0200 | j1n37 | (~j1n37@user/j1n37) (Ping timeout: 248 seconds) |
2025-04-15 17:48:52 +0200 | j1n37 | (~j1n37@user/j1n37) j1n37 |
2025-04-15 17:50:04 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 17:51:06 +0200 | qeef | (~qeef@138-169-143-94.cust.centrio.cz) qeef |
2025-04-15 17:51:40 +0200 | SlackCoder | (~SlackCode@64-94-63-8.ip.weststar.net.ky) (Quit: Leaving) |
2025-04-15 17:54:34 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-04-15 17:56:50 +0200 | Otong | (~Otong@user/Otong) (Remote host closed the connection) |
2025-04-15 17:57:21 +0200 | <bwe> | ski: so, Cont, Reader, Writer, State…in this order? |
2025-04-15 17:58:47 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2025-04-15 18:04:06 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-04-15 18:06:15 +0200 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 260 seconds) |
2025-04-15 18:06:52 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 18:09:09 +0200 | kuribas` | (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
2025-04-15 18:09:59 +0200 | <[exa]> | tomsmeding: oh great I didn't notice that the Show does anything, thx |
2025-04-15 18:11:23 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-15 18:11:52 +0200 | acidjnk | (~acidjnk@p200300d6e71c4f5865559714f8604ffa.dip0.t-ipconnect.de) acidjnk |
2025-04-15 18:14:43 +0200 | <tomsmeding> | (that won't tell you what 'permute' is doing under the hood, though) |
2025-04-15 18:17:55 +0200 | j1n37- | (~j1n37@user/j1n37) j1n37 |
2025-04-15 18:18:54 +0200 | j1n37 | (~j1n37@user/j1n37) (Ping timeout: 265 seconds) |
2025-04-15 18:22:59 +0200 | __monty__ | (~toonn@user/toonn) toonn |
2025-04-15 18:24:57 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 18:27:13 +0200 | notdabs | (~Owner@2600:1700:69cf:9000:2d58:f7ab:5036:c251) |
2025-04-15 18:29:40 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-15 18:31:11 +0200 | Square3 | (~Square@user/square) (Ping timeout: 252 seconds) |
2025-04-15 18:31:33 +0200 | euleritian | (~euleritia@dynamic-176-004-021-148.176.4.pool.telefonica.de) (Ping timeout: 252 seconds) |
2025-04-15 18:32:13 +0200 | euleritian | (~euleritia@dynamic-176-000-053-196.176.0.pool.telefonica.de) |
2025-04-15 18:40:46 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 18:42:11 +0200 | jespada | (~jespada@r167-61-126-159.dialup.adsl.anteldata.net.uy) (Quit: My Mac has gone to sleep. ZZZzzz…) |
2025-04-15 18:42:17 +0200 | jacopovalanzano | (~jacopoval@cpc151911-cove17-2-0-cust105.3-1.cable.virginm.net) |
2025-04-15 18:42:26 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org)) |
2025-04-15 18:43:12 +0200 | glguy | (glguy@libera/staff/glguy) (Quit: Quit) |
2025-04-15 18:44:00 +0200 | jespada | (~jespada@r167-61-126-159.dialup.adsl.anteldata.net.uy) jespada |
2025-04-15 18:45:29 +0200 | qeef | (~qeef@138-169-143-94.cust.centrio.cz) (Ping timeout: 265 seconds) |
2025-04-15 18:48:15 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-04-15 18:50:22 +0200 | tremon | (~tremon@83.80.159.219) tremon |
2025-04-15 18:51:59 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Read error: Connection timed out) |
2025-04-15 18:53:56 +0200 | glguy | (glguy@libera/staff/glguy) glguy |
2025-04-15 18:55:45 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds) |
2025-04-15 18:58:58 +0200 | amadaluzia | (~amadaluzi@user/amadaluzia) amadaluzia |
2025-04-15 18:59:53 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 19:04:32 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-04-15 19:07:12 +0200 | <[exa]> | tomsmeding: yeah well I realized I can just disassemble the .so libs, should be sufficiently telling |
2025-04-15 19:07:31 +0200 | <tomsmeding> | :) |
2025-04-15 19:07:37 +0200 | <[exa]> | otoh yeah probably time to open the source :D |
2025-04-15 19:07:42 +0200 | <tomsmeding> | LLVM IR may be more readable, depending on your inclination |
2025-04-15 19:07:58 +0200 | <[exa]> | I find the IR more confusing tbh |
2025-04-15 19:08:17 +0200 | <tomsmeding> | permute does atomic fetch-and-add when applicable, and uses locks when not |
2025-04-15 19:08:27 +0200 | <tomsmeding> | `permute const` is special-cased to write without any synchronisation |
2025-04-15 19:08:41 +0200 | <[exa]> | normally I just look with perf disassembly, that's quite clean even for haskells |
2025-04-15 19:08:56 +0200 | <tomsmeding> | I mostly don't dare look at assembly from ghc |
2025-04-15 19:09:13 +0200 | <tomsmeding> | but accelerate-generated code is fairly imperative |
2025-04-15 19:09:25 +0200 | <[exa]> | like, after you implement some STG yourself it's awright |
2025-04-15 19:09:28 +0200 | <[exa]> | yeah |
2025-04-15 19:09:30 +0200 | <tomsmeding> | I see |
2025-04-15 19:09:39 +0200 | euleritian | (~euleritia@dynamic-176-000-053-196.176.0.pool.telefonica.de) (Read error: Connection reset by peer) |
2025-04-15 19:10:04 +0200 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) |
2025-04-15 19:10:32 +0200 | <tomsmeding> | [exa]: there is +ACC -ddump-asm |
2025-04-15 19:10:43 +0200 | <[exa]> | if I wanted to convert the permute to the lockless "one target array per thread", is there some support for running N sequential things in parallel and then reducing? |
2025-04-15 19:12:10 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 19:13:29 +0200 | <tomsmeding> | no direct support, no |
2025-04-15 19:13:34 +0200 | <[exa]> | (mainly because of GPUs later, locks there just hurt) |
2025-04-15 19:13:56 +0200 | <tomsmeding> | I'll pass on your feature request :D |
2025-04-15 19:14:33 +0200 | <[exa]> | should I open an actual feature request? just for tracking |
2025-04-15 19:14:40 +0200 | <[exa]> | we also have a paper showing that it helps™ |
2025-04-15 19:15:16 +0200 | <tomsmeding> | oh I can believe that it helps, the compiler just can't in general convert the single-destination-array variant to the N-destination-arrays variant because the destination array might be large |
2025-04-15 19:15:38 +0200 | <tomsmeding> | and doing something smarter, or making this configurable, is TODO |
2025-04-15 19:15:47 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) Tuplanolla |
2025-04-15 19:16:02 +0200 | <tomsmeding> | actually, yes, please post a feature request -- no need to be verbose if you don't have time |
2025-04-15 19:16:04 +0200 | <[exa]> | yeah I know, I didn't mean the permute to automagically guess it right; more like to allow specifying a parallel run of a few permutes |
2025-04-15 19:16:08 +0200 | <tomsmeding> | link https://ircbrowse.tomsmeding.com/browse/lchaskell?id=1529868#trid1529868 |
2025-04-15 19:16:39 +0200 | <[exa]> | ok |
2025-04-15 19:17:14 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-04-15 19:17:41 +0200 | <tomsmeding> | just for expectation management: the first priority of the people who actually have (some) paid time to hack on accelerate is to port the GPU backend to the whole new compilation pipeline that has been under development over the past few years |
2025-04-15 19:17:53 +0200 | <tomsmeding> | but documenting use cases is always good |
2025-04-15 19:18:08 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) wootehfoot |
2025-04-15 19:28:53 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 19:30:53 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2025-04-15 19:32:15 +0200 | <[exa]> | ok well let's see https://github.com/AccelerateHS/accelerate/issues/552 |
2025-04-15 19:32:53 +0200 | <[exa]> | I hope to get this nonsense of mine out ASAP, needs to get through some internal checks. Might be useful to have it linked from accelerate website, it's a similar pop usecase as the other demos there. |
2025-04-15 19:33:37 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-04-15 19:35:00 +0200 | nacation | (~m-3l4s76@user/nacation) nacation |
2025-04-15 19:36:51 +0200 | gawen_ | (~gawen@user/gawen) gawen |
2025-04-15 19:37:56 +0200 | gawen | (~gawen@user/gawen) (Ping timeout: 272 seconds) |
2025-04-15 19:39:38 +0200 | <lxsameer> | hey folks, do you have experience with using syscalls and libc in haskell? does it worth the effort or should I stick to C? |
2025-04-15 19:41:08 +0200 | <tomsmeding> | lxsameer: binding libc functions is not difficult with the FFI; directly invoking syscalls from haskell ain't gonna work, but then that's hard from C too |
2025-04-15 19:42:16 +0200 | <lxsameer> | tomsmeding: ok cool, would it be better to interface the syscalls in a static C library and use it in haskell? |
2025-04-15 19:42:40 +0200 | <tomsmeding> | lxsameer: cabal has support for compiling in C code |
2025-04-15 19:42:46 +0200 | <tomsmeding> | no need to manually create a static C library |
2025-04-15 19:42:57 +0200 | <lxsameer> | perfect. Thank you |
2025-04-15 19:43:29 +0200 | <tomsmeding> | just add a space-separated list of .c files in `c-sources:`; you may want to set `cc-options:` too |
2025-04-15 19:43:40 +0200 | <tomsmeding> | then you can bind those C functions via the FFI as usual |
2025-04-15 19:43:52 +0200 | <lxsameer> | wow, that's pretty easy then |
2025-04-15 19:43:52 +0200 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2025-04-15 19:44:00 +0200 | euleritian | (~euleritia@dynamic-176-000-199-065.176.0.pool.telefonica.de) |
2025-04-15 19:44:15 +0200 | <tomsmeding> | plenty of libraries on hackage, including very core ones like bytestring and text, do this, so it's rather well supported :) |
2025-04-15 19:44:48 +0200 | <lxsameer> | awesome, that makes me happy |
2025-04-15 19:45:40 +0200 | <tomsmeding> | [exa]: re simd-block permute: accelerate has vector types https://hackage.haskell.org/package/accelerate-1.3.0.0/docs/Data-Array-Accelerate.html#g:42 |
2025-04-15 19:45:53 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 19:46:02 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-04-15 19:46:11 +0200 | internatetional | (~nate@2001:448a:20a3:c2e5:8bd5:1444:ad98:1780) internatetional |
2025-04-15 19:46:27 +0200 | <tomsmeding> | all arrays in accelerate are represented in struct-of-arrays form at runtime (so at runtime there is no such thing as an array of tuples), but these Vec things count as a unit -- they act like a scalar type |
2025-04-15 19:47:57 +0200 | <tomsmeding> | I have no clue what permute does with such vectors though |
2025-04-15 19:48:03 +0200 | <tomsmeding> | it's quite possible it generates bad code |
2025-04-15 19:50:01 +0200 | <[exa]> | tomsmeding: Vec seems like sized by a Nat, I think I need it a lil more flexible |
2025-04-15 19:50:12 +0200 | <tomsmeding> | ah |
2025-04-15 19:50:22 +0200 | <[exa]> | (or can I change a Nat in type based on input data? I guess not, right?) |
2025-04-15 19:50:28 +0200 | [exa] | not into Nats |
2025-04-15 19:50:31 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-15 19:50:32 +0200 | <tomsmeding> | not based on input data to the accelerate program |
2025-04-15 19:50:44 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) (Ping timeout: 265 seconds) |
2025-04-15 19:50:48 +0200 | <tomsmeding> | but you can based on input data to the haskell program that generates the accelerate program |
2025-04-15 19:51:16 +0200 | <[exa]> | so if runN gets the right type somehow, it will be able to do this for the right Nat? |
2025-04-15 19:51:44 +0200 | <tomsmeding> | https://hackage.haskell.org/package/base-4.19.0.0/docs/GHC-TypeNats.html#v:withSomeSNat |
2025-04-15 19:52:07 +0200 | <tomsmeding> | withSomeSNat 17 $ \SNat -> _ |
2025-04-15 19:52:29 +0200 | <tomsmeding> | oh you'll probably need to `\(Snat :: n) -> _` and then use @n judiciously in the _ |
2025-04-15 19:52:40 +0200 | <tomsmeding> | er, `\(SNat :: SNat n) -> _` |
2025-04-15 19:52:43 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
2025-04-15 19:52:52 +0200 | <tomsmeding> | I didn't say it was comfortable |
2025-04-15 19:55:51 +0200 | <tomsmeding> | [exa]: I thought the paper was rather short for a PL conference, but I saw ICFP in the footer, but then I couldn't find your paper in the 2020 edition, and I was confused, and I also saw ICFP on the acm website, and I was more confused |
2025-04-15 19:56:00 +0200 | <tomsmeding> | and then I saw that I'd misread this like 15x and it's actually ICPP |
2025-04-15 19:56:03 +0200 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
2025-04-15 19:57:29 +0200 | ft | (~ft@p4fc2a6e6.dip0.t-ipconnect.de) ft |
2025-04-15 19:58:10 +0200 | <[exa]> | ah ok so `withSomeSNat` should do it |
2025-04-15 19:58:52 +0200 | <[exa]> | gooooood |
2025-04-15 19:58:59 +0200 | <tomsmeding> | does it work? |
2025-04-15 19:59:19 +0200 | <[exa]> | it works in my head now :D :D |
2025-04-15 19:59:46 +0200 | <[exa]> | lemme first disassemble the thing to see what it actually does internally :D |
2025-04-15 20:00:09 +0200 | <tomsmeding> | (by the way, doing n sequential things in parallel in accelerate is easy -- that's not the hard part in expressing your fancy permute algorithm in current accelerate. (Just `generate (I1 8) (\(I1 i) -> _)`.) The problem is that sequential code runs in Exp and in Exp you can't write to arrays) |
2025-04-15 20:00:39 +0200 | <tomsmeding> | Exp does have `while` so you can do multiple sequential loops in parallel, but that's not enough for you here |
2025-04-15 20:00:52 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2025-04-15 20:01:57 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 20:05:02 +0200 | euleritian | (~euleritia@dynamic-176-000-199-065.176.0.pool.telefonica.de) (Read error: Connection reset by peer) |
2025-04-15 20:05:20 +0200 | <[exa]> | tomsmeding: I kinda think about what would happen if I literally specify say 8 permutes from the data subsets, and zip them with + in the end |
2025-04-15 20:05:21 +0200 | euleritian | (~euleritia@95.90.214.149) |
2025-04-15 20:05:56 +0200 | <tomsmeding> | oh |
2025-04-15 20:06:00 +0200 | <[exa]> | prospecfively, s/8/n_detected_cpus/ |
2025-04-15 20:06:08 +0200 | <tomsmeding> | right |
2025-04-15 20:06:14 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-04-15 20:06:27 +0200 | <tomsmeding> | so this doesn't work I think because the current scheduler will do the permutes in parallel and the 8-loop sequentially |
2025-04-15 20:06:38 +0200 | <tomsmeding> | I'm 95% sure of that |
2025-04-15 20:06:42 +0200 | <tomsmeding> | not 100% |
2025-04-15 20:07:04 +0200 | <tomsmeding> | [exa]: I have an idea |
2025-04-15 20:07:11 +0200 | <[exa]> | docs say "The permute operation will always be evaluated; it can not be fused into a later step." |
2025-04-15 20:07:17 +0200 | <[exa]> | hoped to use this as a kinda barrier :D |
2025-04-15 20:07:30 +0200 | <tomsmeding> | if you're currently doing a single permute into an array of shape `sh`, do a single permute into an array of shape `sh :. 8` instead |
2025-04-15 20:07:46 +0200 | <tomsmeding> | no |
2025-04-15 20:07:50 +0200 | mdz | (~mdz@78-131-27-35.pool.digikabel.hu) |
2025-04-15 20:07:52 +0200 | <tomsmeding> | `(Z :. 8) ++ sh` |
2025-04-15 20:08:02 +0200 | <tomsmeding> | then transpose and fold to get the result |
2025-04-15 20:08:17 +0200 | mdz | (~mdz@78-131-27-35.pool.digikabel.hu) (Client Quit) |
2025-04-15 20:08:27 +0200 | <tomsmeding> | oh but that doesn't work because you can't reliably get a single thread to choose a particular index |
2025-04-15 20:08:36 +0200 | <tomsmeding> | [exa]: you're confusing me |
2025-04-15 20:08:48 +0200 | <tomsmeding> | you're making me think accelerate can do this |
2025-04-15 20:08:50 +0200 | <tomsmeding> | it can't |
2025-04-15 20:08:58 +0200 | <tomsmeding> | my mental model was correct all along |
2025-04-15 20:08:58 +0200 | <[exa]> | c'mon it can |
2025-04-15 20:09:01 +0200 | <[exa]> | :D |
2025-04-15 20:09:06 +0200 | <tomsmeding> | it might in the future :p |
2025-04-15 20:09:08 +0200 | <haskellbridge> | <sm> stop confusing tomsmeding everyone |
2025-04-15 20:09:11 +0200 | <tomsmeding> | it just can't right now |
2025-04-15 20:09:15 +0200 | <tomsmeding> | sm: thank you |
2025-04-15 20:09:18 +0200 | <[exa]> | lol |
2025-04-15 20:09:51 +0200 | <[exa]> | ok |
2025-04-15 20:10:06 +0200 | <[exa]> | I'll read the source and see |
2025-04-15 20:10:14 +0200 | tabaqui | (~tabaqui@167.71.80.236) tabaqui |
2025-04-15 20:10:55 +0200 | <[exa]> | ( after the trick with many.hsubparser a few days ago I'll be suspicious to statements that haskell libraries can't do something :D ) |
2025-04-15 20:11:30 +0200 | tomsmeding | missed that |
2025-04-15 20:11:44 +0200 | <tomsmeding> | I have a fairly good idea of what the internal language of accelerate looks like :p |
2025-04-15 20:12:23 +0200 | <tomsmeding> | the only things I'm not 100% sure about are my claim about the scheduler, and the statement that you can't reliably get the thread index in a permute into an 8xN array |
2025-04-15 20:12:46 +0200 | <tomsmeding> | for the latter, certainly not in a documented way, but perhaps you can abuse reading the source code to figure out the thread distribution logic and work with that |
2025-04-15 20:13:05 +0200 | jespada | (~jespada@r167-61-126-159.dialup.adsl.anteldata.net.uy) (Ping timeout: 248 seconds) |
2025-04-15 20:13:28 +0200 | <[exa]> | tomsmeding: re subparser: https://ircbrowse.tomsmeding.com/browse/lchaskell?id=1527499#trid1527499 |
2025-04-15 20:14:10 +0200 | <tomsmeding> | cute |
2025-04-15 20:14:34 +0200 | jespada | (~jespada@r167-61-124-233.dialup.adsl.anteldata.net.uy) jespada |
2025-04-15 20:15:10 +0200 | <geekosaur> | (I still don't see the problem there, `optparse-applicative` is supposed to be `Applicative`, right? and `many` is certainly `Applicative` and intended for parsing? so bug if that doesn't work 😛 |
2025-04-15 20:15:18 +0200 | <geekosaur> | )] |
2025-04-15 20:16:59 +0200 | <[exa]> | I had extremely positive lego feelings there, much more than with just normal parsers and normal `many` :D |
2025-04-15 20:17:05 +0200 | <[exa]> | optparse-applicative <3 |
2025-04-15 20:19:17 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 20:19:32 +0200 | <EvanR> | somebody should rename "dsl disease" to "lego feelings" |
2025-04-15 20:20:40 +0200 | <[exa]> | quality disease. |
2025-04-15 20:21:04 +0200 | <EvanR> | things went together really easily and worked great disease |
2025-04-15 20:21:18 +0200 | <EvanR> | made the world a better place disease |
2025-04-15 20:21:26 +0200 | <Rembane> | I want a pandemic of that! |
2025-04-15 20:21:32 +0200 | <geekosaur> | tetris disease 😛 |
2025-04-15 20:21:49 +0200 | <EvanR> | tetris going badly might be a great counterexample |
2025-04-15 20:22:10 +0200 | <EvanR> | yes things CAN fit together |
2025-04-15 20:22:12 +0200 | <EvanR> | but they didn't |
2025-04-15 20:22:27 +0200 | <EvanR> | (skill issue) |
2025-04-15 20:22:30 +0200 | <tomsmeding> | makes me think of ghc typelevel nats |
2025-04-15 20:22:33 +0200 | ludihan | (~ludihan@189.36.207.182) |
2025-04-15 20:22:47 +0200 | <tomsmeding> | you have (+) but GHC has no clue that 1 + n = n + 1 |
2025-04-15 20:22:55 +0200 | <monochrom> | Why was DSL disease called a disease? |
2025-04-15 20:23:14 +0200 | ludihan | (~ludihan@189.36.207.182) (Client Quit) |
2025-04-15 20:23:29 +0200 | <EvanR> | for dramatic tension |
2025-04-15 20:23:33 +0200 | <tomsmeding> | and `type family F n where F 0 = A ; F n = B (F (n - 1))` doesn't work because even if you do a check if a particular SNat is 0, the alternative branch doesn't provide evidence that n is apart from 0 |
2025-04-15 20:23:45 +0200 | <[exa]> | monochrom: it spread |
2025-04-15 20:24:07 +0200 | <monochrom> | Can we say "OOP disease" too? Because it too spread. |
2025-04-15 20:24:17 +0200 | <EvanR> | that's a dead horse beaten |
2025-04-15 20:24:21 +0200 | <monochrom> | Python disease? JS disease? |
2025-04-15 20:24:27 +0200 | <EvanR> | same |
2025-04-15 20:24:39 +0200 | <tomsmeding> | at least one of the stupidities got fixed recently https://gitlab.haskell.org/ghc/ghc/-/issues/24845 :D |
2025-04-15 20:24:47 +0200 | <monochrom> | copilot disease |
2025-04-15 20:24:57 +0200 | <EvanR> | LLM disease |
2025-04-15 20:25:04 +0200 | <EvanR> | the disease frontier |
2025-04-15 20:25:29 +0200 | monochrom | not happy about people being jealous to intelligence. |
2025-04-15 20:25:48 +0200 | <[exa]> | +1 ^ |
2025-04-15 20:26:15 +0200 | sprotte24 | (~sprotte24@p200300d16f238d00f5d5381b458840fc.dip0.t-ipconnect.de) |
2025-04-15 20:26:39 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
2025-04-15 20:27:29 +0200 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 248 seconds) |
2025-04-15 20:29:37 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2025-04-15 20:30:42 +0200 | califax | (~califax@user/califx) califx |
2025-04-15 20:33:17 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2025-04-15 20:35:47 +0200 | califax | (~califax@user/califx) califx |
2025-04-15 20:36:43 +0200 | internatetional | (~nate@2001:448a:20a3:c2e5:8bd5:1444:ad98:1780) (Ping timeout: 252 seconds) |
2025-04-15 20:39:58 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 20:44:11 +0200 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
2025-04-15 20:44:17 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-15 20:45:01 +0200 | tabaqui | (~tabaqui@167.71.80.236) (Quit: WeeChat 4.6.0) |
2025-04-15 20:47:40 +0200 | segfaultfizzbuzz | (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) segfaultfizzbuzz |
2025-04-15 20:51:09 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Quit: ljdarj) |
2025-04-15 20:51:30 +0200 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
2025-04-15 20:55:47 +0200 | statusbot11 | (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (Remote host closed the connection) |
2025-04-15 20:56:01 +0200 | statusbot | (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) statusbot |
2025-04-15 20:56:41 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 20:57:39 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2025-04-15 21:00:01 +0200 | caconym | (~caconym@user/caconym) (Quit: bye) |
2025-04-15 21:00:14 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) lxsameer |
2025-04-15 21:00:42 +0200 | caconym | (~caconym@user/caconym) caconym |
2025-04-15 21:01:03 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) |
2025-04-15 21:01:18 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-04-15 21:02:24 +0200 | jespada | (~jespada@r167-61-124-233.dialup.adsl.anteldata.net.uy) (Quit: My Mac has gone to sleep. ZZZzzz…) |
2025-04-15 21:03:18 +0200 | jespada | (~jespada@r167-61-124-233.dialup.adsl.anteldata.net.uy) jespada |
2025-04-15 21:06:49 +0200 | pavonia | (~user@user/siracusa) siracusa |
2025-04-15 21:13:10 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 21:14:37 +0200 | <Hecate> | < tomsmeding> Hecate: I see that the commit that changed ghci's default prompt from '%s> ' to 'ghci> ' was committed by you; what was the motivation for that change? // After a couple of imports it starts to get fucking noisy |
2025-04-15 21:18:13 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-04-15 21:18:26 +0200 | harveypwca | (~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c) (Quit: Leaving) |
2025-04-15 21:21:00 +0200 | pera | (~pera@user/pera) pera |
2025-04-15 21:23:58 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-04-15 21:24:14 +0200 | <tomsmeding> | it does |
2025-04-15 21:24:24 +0200 | <tomsmeding> | before a couple imports, its fucking confusing |
2025-04-15 21:24:26 +0200 | <tomsmeding> | :) |
2025-04-15 21:24:43 +0200 | <[exa]> | :set -shortprompt? |
2025-04-15 21:24:56 +0200 | <tomsmeding> | what exacerbates the confusingness is that `:r` adds the first module in the cabal file to your scope unconditionally, with `*` |
2025-04-15 21:25:23 +0200 | <tomsmeding> | so if that module happens to define any stuff that clashes with the modules you actually want to work in, you constantly have to :m -ThatFirstModule after :r |
2025-04-15 21:25:40 +0200 | <tomsmeding> | without %s in prompt, you have no idea this is happening; with %s, it's obvious |
2025-04-15 21:25:56 +0200 | <tomsmeding> | also without %s in prompt, a beginner has no idea what's even happening |
2025-04-15 21:26:01 +0200 | <tomsmeding> | and in which component they are |
2025-04-15 21:26:07 +0200 | <haskellbridge> | <sm> what sort of UI/UX could improve on these I wonder |
2025-04-15 21:26:44 +0200 | <tomsmeding> | [exa]: is that a hypothetical or a real option |
2025-04-15 21:27:12 +0200 | <[exa]> | future real |
2025-04-15 21:27:43 +0200 | <tomsmeding> | sm: I'm not sure, honestly; I'm personally fine with the noisiness in return for the clarity it gives. But I can imagine this is not so for others |
2025-04-15 21:27:47 +0200 | <haskellbridge> | <sm> a two-line prompt ? |
2025-04-15 21:27:55 +0200 | <monochrom> | Beginner has no idea what's happening. Unconditionally. >:) |
2025-04-15 21:27:57 +0200 | <tomsmeding> | with a purely line-based text-mode interface, I'm not sure one can do much better |
2025-04-15 21:28:00 +0200 | michalz | (~michalz@185.246.207.217) (Remote host closed the connection) |
2025-04-15 21:28:10 +0200 | <haskellbridge> | <sm> a message when you start ghci, informing of the two options and how to toggle ? |
2025-04-15 21:28:12 +0200 | <tomsmeding> | sm: surely people will find that at least as noisy? |
2025-04-15 21:28:33 +0200 | <monochrom> | Really, any better UI requires windowing. |
2025-04-15 21:28:44 +0200 | <haskellbridge> | <sm> show one prompt with the new scope info whenever it changes, short prompts otherwise ? |
2025-04-15 21:28:45 +0200 | <tomsmeding> | I think monochrom is right |
2025-04-15 21:28:46 +0200 | <monochrom> | or hovering |
2025-04-15 21:29:13 +0200 | notdabs | (~Owner@2600:1700:69cf:9000:2d58:f7ab:5036:c251) (Read error: Connection reset by peer) |
2025-04-15 21:29:15 +0200 | <tomsmeding> | sm: I like that one, but not as a prompt but simply as a notification: hey, the module list is now this \n λ> |
2025-04-15 21:29:29 +0200 | <haskellbridge> | <sm> simple, eh ? |
2025-04-15 21:29:48 +0200 | <monochrom> | BTW this is why most people set their terminal emulators and unix shells to set the window title to the current directory name. Oh wait we can do that to GHCi too! |
2025-04-15 21:29:56 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 21:30:03 +0200 | <tomsmeding> | it would be too long for the window title, though |
2025-04-15 21:30:07 +0200 | <haskellbridge> | <sm> I don't do that, can never rely on it |
2025-04-15 21:30:15 +0200 | <tomsmeding> | that's the whole point of why people wanted to eliminate it :p |
2025-04-15 21:30:26 +0200 | <tomsmeding> | sm: are we going again with the "simple, eh?" |
2025-04-15 21:30:33 +0200 | <tomsmeding> | this time I'm not going to implement it |
2025-04-15 21:30:40 +0200 | <monochrom> | Oh yeah I'm also routinely 10 levels deep with cwd so it's also too long for window titles too :) |
2025-04-15 21:31:34 +0200 | <haskellbridge> | <sm> tomsmeding yes I think being a little more chatty and explanatory about initial scope and scope changes would be simple and helpful |
2025-04-15 21:31:52 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) emmanuelux |
2025-04-15 21:31:52 +0200 | <haskellbridge> | <sm> and needed, since it's so confusing |
2025-04-15 21:34:22 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-04-15 21:36:49 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds) |
2025-04-15 21:37:24 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) L29Ah |
2025-04-15 21:39:28 +0200 | <haskellbridge> | <sm> (but it doesn't need to be in every single prompt) |
2025-04-15 21:39:34 +0200 | <tomsmeding> | agreed |
2025-04-15 21:41:45 +0200 | <ski> | bwe : i'm not sure doing `Cont' before the others would be preferable, generally |
2025-04-15 21:44:48 +0200 | <EvanR> | tomsmeding, did you learn all these vagaries of ghci by reading the source |
2025-04-15 21:45:33 +0200 | <haskellbridge> | <Liamzee> monochrom: eDSL disease is when a codebase is based on a custom, often poorly-documented eDSL, that only the authors understand. Not an inevitability with eDSL use, but a possibility. |
2025-04-15 21:46:05 +0200 | <EvanR> | I think you mean lego feelings |
2025-04-15 21:46:52 +0200 | <haskellbridge> | <Liamzee> Okay, then please describe lego feelings. |
2025-04-15 21:47:17 +0200 | amadaluzia | (~amadaluzi@user/amadaluzia) (Ping timeout: 244 seconds) |
2025-04-15 21:47:40 +0200 | bliminse | (~bliminse@user/bliminse) (Ping timeout: 252 seconds) |
2025-04-15 21:47:47 +0200 | <EvanR> | when a codebase is based on a custom, well or well enough documented DSL, that not only the authors understand |
2025-04-15 21:47:50 +0200 | <haskellbridge> | <Liamzee> ah, when type-tetris is intuitive or when the DSL just clicks |
2025-04-15 21:47:59 +0200 | amadaluzia | (~amadaluzi@user/amadaluzia) amadaluzia |
2025-04-15 21:47:59 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 21:48:05 +0200 | <tomsmeding> | EvanR: by hitting them every single fucking time I use ghci |
2025-04-15 21:48:13 +0200 | <tomsmeding> | at some point you learn what the patterns are |
2025-04-15 21:48:18 +0200 | <EvanR> | lol |
2025-04-15 21:48:49 +0200 | <EvanR> | sounds like trying to play minigolf while blind |
2025-04-15 21:48:50 +0200 | <tomsmeding> | I use ghci in two modes: 1. playing around; no issues. 2. testing a project: lots of :r |
2025-04-15 21:49:19 +0200 | tromp | (~textual@2001:1c00:3487:1b00:c0e6:9a43:de22:8c0a) |
2025-04-15 21:49:27 +0200 | <tomsmeding> | in mode 2 I sometimes `:def R \_ -> Prelude.return ":r\n:m -That.First.Module\n"` so that I can `:R` to fix the shit |
2025-04-15 21:49:32 +0200 | bliminse | (~bliminse@user/bliminse) bliminse |
2025-04-15 21:49:50 +0200 | <tomsmeding> | but I can't put it in ~/.ghci because the command naturally depends on what that first module is |
2025-04-15 21:49:59 +0200 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
2025-04-15 21:50:13 +0200 | gorignak | (~gorignak@user/gorignak) gorignak |
2025-04-15 21:50:40 +0200 | <tomsmeding> | EvanR: for the longest time I was actually unsure what secret blessed module was picked each time; I was under the impression that it was somehow at the top of the dependency tree or something |
2025-04-15 21:50:52 +0200 | <tomsmeding> | then I complained about it here and someone suggested the "first in the cabal list" thing |
2025-04-15 21:51:10 +0200 | <tomsmeding> | which is _actually_ just the first module passed on ghci's command line, and cabal sensibly just pastes the module list as-is |
2025-04-15 21:52:35 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-04-15 21:58:21 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) (Ping timeout: 244 seconds) |
2025-04-15 21:58:22 +0200 | <haskellbridge> | <Liamzee> smtp-mail vs haskellnet-ssl? |
2025-04-15 22:04:45 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 22:09:19 +0200 | AlexNoo_ | (~AlexNoo@178.34.161.112) |
2025-04-15 22:11:55 +0200 | target_i | (~target_i@user/target-i/x-6023099) target_i |
2025-04-15 22:12:06 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
2025-04-15 22:12:12 +0200 | <haskellbridge> | <Liamzee> also, if it's okay with you, brief question |
2025-04-15 22:12:32 +0200 | <haskellbridge> | <Liamzee> foo :: m (m (m (m a) ) ) |
2025-04-15 22:12:40 +0200 | AlexNoo | (~AlexNoo@94.233.240.249) (Ping timeout: 252 seconds) |
2025-04-15 22:12:44 +0200 | AlexNoo_ | AlexNoo |
2025-04-15 22:13:20 +0200 | AlexZenon | (~alzenon@94.233.240.249) (Ping timeout: 268 seconds) |
2025-04-15 22:14:10 +0200 | AlexZenon | (~alzenon@178.34.161.112) |
2025-04-15 22:14:50 +0200 | <haskellbridge> | <Liamzee> oh, i see how it works :( |
2025-04-15 22:15:06 +0200 | <haskellbridge> | <Liamzee> join foo :: m (m (m a)) |
2025-04-15 22:15:15 +0200 | <haskellbridge> | <Liamzee> why not foo :: m (m a)? |
2025-04-15 22:15:57 +0200 | <mauke> | join removes one layer of m |
2025-04-15 22:16:02 +0200 | <EvanR> | it's an exercise in unifying your type after suitable renaming with the type of join _ |
2025-04-15 22:16:18 +0200 | <mauke> | offer void where prohibited |
2025-04-15 22:16:31 +0200 | <EvanR> | :t join |
2025-04-15 22:16:33 +0200 | <lambdabot> | Monad m => m (m a) -> m a |
2025-04-15 22:17:08 +0200 | <EvanR> | consider foo : m (m (m (m Z))) |
2025-04-15 22:17:16 +0200 | <haskellbridge> | <Liamzee> no, but can't n a = m (m a)? |
2025-04-15 22:17:17 +0200 | <EvanR> | then if a = m (m Z) |
2025-04-15 22:17:38 +0200 | <EvanR> | join foo :: m a = m (m (m Z)) |
2025-04-15 22:17:55 +0200 | <haskellbridge> | <Liamzee> then join n (n a) = n a, but it's effectively (m (m a)) |
2025-04-15 22:18:12 +0200 | qeef | (~qeef@138-169-143-94.cust.centrio.cz) qeef |
2025-04-15 22:18:13 +0200 | <haskellbridge> | <Liamzee> shouldn't this cause an ambiguous types error? |
2025-04-15 22:18:19 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) Feuermagier |
2025-04-15 22:18:33 +0200 | <EvanR> | the question is what is a |
2025-04-15 22:18:43 +0200 | <EvanR> | or what it could be possibly |
2025-04-15 22:18:43 +0200 | <haskellbridge> | <Liamzee> say (), then |
2025-04-15 22:18:45 +0200 | <EvanR> | only one thing |
2025-04-15 22:18:51 +0200 | <EvanR> | in the case of foo |
2025-04-15 22:18:51 +0200 | <monochrom> | No, HM type checking does not know to do "let n = m . m". |
2025-04-15 22:19:11 +0200 | <haskellbridge> | <Liamzee> but should it be an ambiguous types error? |
2025-04-15 22:19:37 +0200 | <EvanR> | ambiguous types error when trying to find a Monad instance? |
2025-04-15 22:19:45 +0200 | <EvanR> | that's when that error happens |
2025-04-15 22:19:50 +0200 | <haskellbridge> | <Liamzee> ya |
2025-04-15 22:19:58 +0200 | <monochrom> | BTW this is why there is a newtype wrapper "newtype Compose f g a = Compose (f (g a))" then you can have "choose n = Compose m m". |
2025-04-15 22:20:06 +0200 | <haskellbridge> | <Liamzee> since it should be able to result in either element? |
2025-04-15 22:20:17 +0200 | <EvanR> | I'm not sure where you got n |
2025-04-15 22:20:23 +0200 | <EvanR> | that wasn't introduced anywhere |
2025-04-15 22:20:25 +0200 | <EvanR> | we have m and a |
2025-04-15 22:20:37 +0200 | <EvanR> | and Z which is my renaming of your a from foo |
2025-04-15 22:21:45 +0200 | <EvanR> | the only possibility I see in join foo is that a = m (m Z) |
2025-04-15 22:22:11 +0200 | <mauke> | <Liamzee> no, but can't n a = m (m a)? <- no |
2025-04-15 22:22:32 +0200 | <mauke> | because then you'd need to have n = m (m |
2025-04-15 22:22:36 +0200 | <mauke> | and that's a syntax error |
2025-04-15 22:23:02 +0200 | <EvanR> | oh |
2025-04-15 22:23:31 +0200 | <EvanR> | that is where n in first mentioned but it's not clear to me what it is |
2025-04-15 22:23:38 +0200 | <mauke> | or alternatively, n = m and a = m a |
2025-04-15 22:23:54 +0200 | <mauke> | but that's both boring and illegal because a would be infinitely deep |
2025-04-15 22:24:30 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 22:24:31 +0200 | Feuermagier_ | (~Feuermagi@user/feuermagier) Feuermagier |
2025-04-15 22:24:31 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) (Killed (mercury.libera.chat (Nickname regained by services))) |
2025-04-15 22:24:31 +0200 | Feuermagier_ | Feuermagier |
2025-04-15 22:27:00 +0200 | <monochrom> | BTW IIUC "choose n such that n a = m (m a)" is part of higher-order unification (because you are saying "first recognize that m (m a) = (m . m) a, then unify n with m . m") |
2025-04-15 22:27:46 +0200 | <mauke> | "we don't do that here" |
2025-04-15 22:27:49 +0200 | <monochrom> | (the "recognize m (m a) = (m . m) a" part is a higher-order step) |
2025-04-15 22:28:14 +0200 | <monochrom> | So yeah the short answer is HM simply doesn't do that. |
2025-04-15 22:28:55 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-15 22:28:59 +0200 | <EvanR> | now I get it |
2025-04-15 22:29:56 +0200 | <EvanR> | however (at least when classes and instances are global) you have a inference still finds the most general type |
2025-04-15 22:30:07 +0200 | <EvanR> | you're saying it's missing something? |
2025-04-15 22:30:14 +0200 | <EvanR> | or it's covered |
2025-04-15 22:31:05 +0200 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod |
2025-04-15 22:31:35 +0200 | <monochrom> | The definition of "most general" is carefully written to have the fine print "restricted to first-order only". |
2025-04-15 22:31:58 +0200 | <monochrom> | Once again, never trust "meaningful names"! |
2025-04-15 22:32:27 +0200 | <monochrom> | "conditions apply" is always true. |
2025-04-15 22:37:29 +0200 | <haskellbridge> | <sm> tomsmeding ooh, that looks like my (argument preserving..) |
2025-04-15 22:37:29 +0200 | <haskellbridge> | ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/dIwzLMBxDaLycgbYfWcCkhtz/kbzNeP-RDR0 (3 lines) |
2025-04-15 22:39:19 +0200 | alecs | (~alecs@61.pool85-58-154.dynamic.orange.es) alecs |
2025-04-15 22:42:12 +0200 | <tomsmeding> | sm: yes, :def is useful for little shorthands like these :) |
2025-04-15 22:42:24 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 22:46:45 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-15 22:58:50 +0200 | todi | (~todi@p57803331.dip0.t-ipconnect.de) (Remote host closed the connection) |
2025-04-15 22:59:41 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 23:01:40 +0200 | qeef | (~qeef@138-169-143-94.cust.centrio.cz) (Quit: Lost terminal) |
2025-04-15 23:04:30 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
2025-04-15 23:04:33 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-04-15 23:07:24 +0200 | <bwe> | Is there a visualisation like Graham Hutton uses in his book for explaining the Cont monad? |
2025-04-15 23:07:25 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) (Read error: Connection reset by peer) |
2025-04-15 23:08:11 +0200 | <[exa]> | tomsmeding: anyway looks like the reduction to multiple buckets must be done manually no matter what. Should be pretty much OK with runNWith or so. |
2025-04-15 23:08:39 +0200 | <EvanR> | monochrom, principle type, the details of which seems to be at the end of the making adhoc polymorphism less adhoc paper |
2025-04-15 23:09:04 +0200 | ljdarj1 | (~Thunderbi@user/ljdarj) ljdarj |
2025-04-15 23:09:41 +0200 | <tomsmeding> | [exa]: that might work, yes. Accelerate will obviously not do fusion across runN calls |
2025-04-15 23:10:03 +0200 | <[exa]> | more interesting case with PTX tho |
2025-04-15 23:10:09 +0200 | <tomsmeding> | also not sure how copying data back and forth to GPU would work with multiple runN calls |
2025-04-15 23:10:11 +0200 | <tomsmeding> | right |
2025-04-15 23:10:40 +0200 | <tomsmeding> | also on GPU you really want something more specific, like accumulating values in shared memory |
2025-04-15 23:10:47 +0200 | <[exa]> | yap |
2025-04-15 23:11:25 +0200 | <tomsmeding> | I spoke a bit with the accelerate guys after we chatted here, and the idea has come up before to do stuff like this with `permute`, but nobody ever got to implementing it |
2025-04-15 23:11:48 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
2025-04-15 23:11:48 +0200 | ljdarj1 | ljdarj |
2025-04-15 23:12:00 +0200 | <[exa]> | like, it could be pretty simple actually |
2025-04-15 23:12:47 +0200 | Pozyomka | (~pyon@user/pyon) (Ping timeout: 252 seconds) |
2025-04-15 23:12:48 +0200 | <[exa]> | given there would be some control of how the threadblocks get created |
2025-04-15 23:15:25 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 23:15:35 +0200 | <[exa]> | if I can make sure that different blocks of input indeed get to different threadblocks (and there's no surprising stuff like interleaving etc), then it's quite possible to do this with a simple permute which scatters to several target arrays based simply on indexes |
2025-04-15 23:16:54 +0200 | <[exa]> | s/threadblock/however cuda calls the group of warps running/ |
2025-04-15 23:17:52 +0200 | takuan | (~takuan@d8D86B601.access.telenet.be) (Remote host closed the connection) |
2025-04-15 23:20:01 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-04-15 23:30:23 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-04-15 23:30:55 +0200 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen |
2025-04-15 23:31:14 +0200 | todi | (~todi@p57803331.dip0.t-ipconnect.de) todi |
2025-04-15 23:33:16 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 23:34:09 +0200 | todi | (~todi@p57803331.dip0.t-ipconnect.de) (Max SendQ exceeded) |
2025-04-15 23:36:34 +0200 | Pozyomka | (~pyon@user/pyon) pyon |
2025-04-15 23:37:54 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-04-15 23:38:53 +0200 | todi | (~todi@p57803331.dip0.t-ipconnect.de) todi |
2025-04-15 23:41:42 +0200 | todi | (~todi@p57803331.dip0.t-ipconnect.de) (Max SendQ exceeded) |
2025-04-15 23:42:37 +0200 | <tomsmeding> | [exa]: "thread block" is actually the cuda term for it |
2025-04-15 23:42:44 +0200 | <tomsmeding> | Apple calls it a "threadgroup" |
2025-04-15 23:43:27 +0200 | <tomsmeding> | rejoice in consistency / rejoice inconsistency |
2025-04-15 23:46:15 +0200 | todi | (~todi@p57803331.dip0.t-ipconnect.de) todi |
2025-04-15 23:48:42 +0200 | todi | (~todi@p57803331.dip0.t-ipconnect.de) (Max SendQ exceeded) |
2025-04-15 23:49:04 +0200 | Googulator82 | (~Googulato@2a01-036d-0106-2077-315b-d519-517f-afe7.pool6.digikabel.hu) (Quit: Client closed) |
2025-04-15 23:49:05 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-15 23:49:19 +0200 | Googulator82 | (~Googulato@2a01-036d-0106-2077-315b-d519-517f-afe7.pool6.digikabel.hu) |
2025-04-15 23:52:59 +0200 | todi | (~todi@p57803331.dip0.t-ipconnect.de) todi |
2025-04-15 23:55:39 +0200 | pera | (~pera@user/pera) (Quit: leaving) |
2025-04-15 23:56:01 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-04-15 23:56:07 +0200 | todi | (~todi@p57803331.dip0.t-ipconnect.de) (Max SendQ exceeded) |
2025-04-15 23:57:37 +0200 | jacopovalanzano | (~jacopoval@cpc151911-cove17-2-0-cust105.3-1.cable.virginm.net) (Quit: Client closed) |
2025-04-15 23:59:37 +0200 | todi | (~todi@p57803331.dip0.t-ipconnect.de) todi |
2025-04-15 23:59:44 +0200 | Googulator82 | (~Googulato@2a01-036d-0106-2077-315b-d519-517f-afe7.pool6.digikabel.hu) (Quit: Client closed) |