2024/09/07

2024-09-07 00:04:34 +0200EarlPitts(~EarlPitts@20014C4C1C6E670010D8FFE22A66D832.catv.pool.telekom.hu)
2024-09-07 00:07:10 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2024-09-07 00:08:13 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 00:09:01 +0200EarlPitts(~EarlPitts@20014C4C1C6E670010D8FFE22A66D832.catv.pool.telekom.hu) (Ping timeout: 256 seconds)
2024-09-07 00:13:02 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-09-07 00:17:48 +0200misterfish(~misterfis@84.53.85.146) (Ping timeout: 252 seconds)
2024-09-07 00:17:51 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2024-09-07 00:20:48 +0200weary-traveler(~user@user/user363627)
2024-09-07 00:24:00 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 00:25:51 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-09-07 00:28:48 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-09-07 00:36:16 +0200pavonia(~user@user/siracusa)
2024-09-07 00:36:53 +0200EarlPitts(~EarlPitts@20014C4C1C6E670010D8FFE22A66D832.catv.pool.telekom.hu)
2024-09-07 00:39:48 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 00:41:19 +0200EarlPitts(~EarlPitts@20014C4C1C6E670010D8FFE22A66D832.catv.pool.telekom.hu) (Ping timeout: 256 seconds)
2024-09-07 00:42:10 +0200causal(~eric@50.35.88.207) (Quit: WeeChat 4.3.1)
2024-09-07 00:43:43 +0200sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 245 seconds)
2024-09-07 00:44:34 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-09-07 00:49:25 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2024-09-07 00:55:35 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 01:00:19 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-09-07 01:00:33 +0200athan(~athan@syn-098-153-145-140.biz.spectrum.com) (Quit: Konversation terminated!)
2024-09-07 01:01:08 +0200stef204(~stef204@user/stef204)
2024-09-07 01:02:54 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2024-09-07 01:07:14 +0200Guest77(~Guest90@104.221.28.25) (Quit: Client closed)
2024-09-07 01:11:21 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 01:16:44 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-09-07 01:26:54 +0200neuroevolutus(~neuroevol@146.70.211.88)
2024-09-07 01:27:08 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 01:32:27 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-09-07 01:34:52 +0200ZharMeny(~ZharMeny@user/ZharMeny) (Read error: Connection reset by peer)
2024-09-07 01:42:56 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 01:43:10 +0200EarlPitts(~EarlPitts@20014C4C1C6E670010D8FFE22A66D832.catv.pool.telekom.hu)
2024-09-07 01:47:37 +0200EarlPitts(~EarlPitts@20014C4C1C6E670010D8FFE22A66D832.catv.pool.telekom.hu) (Ping timeout: 256 seconds)
2024-09-07 01:48:14 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-09-07 01:49:08 +0200EarlPitts(~EarlPitts@20014C4C1C6E670010D8FFE22A66D832.catv.pool.telekom.hu)
2024-09-07 01:53:12 +0200athan(~athan@syn-098-153-145-140.biz.spectrum.com)
2024-09-07 01:54:42 +0200acidjnk_new(~acidjnk@p200300d6e72cfb18d599a27a2741de4e.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2024-09-07 01:57:54 +0200athan(~athan@syn-098-153-145-140.biz.spectrum.com) (Ping timeout: 252 seconds)
2024-09-07 01:58:23 +0200EarlPitts(~EarlPitts@20014C4C1C6E670010D8FFE22A66D832.catv.pool.telekom.hu) (Ping timeout: 256 seconds)
2024-09-07 01:58:43 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 02:03:44 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-09-07 02:14:30 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 02:19:24 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-09-07 02:21:21 +0200ZharMeny(~ZharMeny@user/ZharMeny)
2024-09-07 02:22:31 +0200gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2024-09-07 02:23:16 +0200gmg(~user@user/gehmehgeh)
2024-09-07 02:32:16 +0200califax(~califax@user/califx) (Remote host closed the connection)
2024-09-07 02:33:17 +0200EarlPitts(~EarlPitts@20014C4C1C6E670010D8FFE22A66D832.catv.pool.telekom.hu)
2024-09-07 02:33:24 +0200califax(~califax@user/califx)
2024-09-07 02:37:29 +0200EarlPitts(~EarlPitts@20014C4C1C6E670010D8FFE22A66D832.catv.pool.telekom.hu) (Ping timeout: 256 seconds)
2024-09-07 02:46:05 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 02:50:54 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-09-07 02:56:21 +0200spew(~spew@201.141.99.170) (Quit: spew)
2024-09-07 03:01:52 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 03:06:49 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-09-07 03:10:12 +0200poscat(~poscat@user/poscat) (Read error: Connection reset by peer)
2024-09-07 03:10:35 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-09-07 03:13:20 +0200Spawns_Carpeting(~mobile@user/spawns-carpeting/x-6969421)
2024-09-07 03:13:43 +0200poscat(~poscat@user/poscat)
2024-09-07 03:14:43 +0200poscat(~poscat@user/poscat) (Read error: Connection reset by peer)
2024-09-07 03:14:48 +0200poscat0x04(~poscat@user/poscat)
2024-09-07 03:21:57 +0200EarlPitts(~EarlPitts@20014C4C1C6E670010D8FFE22A66D832.catv.pool.telekom.hu)
2024-09-07 03:26:13 +0200EarlPitts(~EarlPitts@20014C4C1C6E670010D8FFE22A66D832.catv.pool.telekom.hu) (Ping timeout: 256 seconds)
2024-09-07 03:29:23 +0200whatsupdoc(uid509081@id-509081.hampstead.irccloud.com)
2024-09-07 03:33:26 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 03:35:15 +0200poscat(~poscat@user/poscat)
2024-09-07 03:38:08 +0200EarlPitts(~EarlPitts@20014C4C1C6E670010D8FFE22A66D832.catv.pool.telekom.hu)
2024-09-07 03:38:22 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-09-07 03:38:30 +0200poscat0x04(~poscat@user/poscat) (Ping timeout: 246 seconds)
2024-09-07 03:39:15 +0200neuroevolutus(~neuroevol@146.70.211.88) (Ping timeout: 256 seconds)
2024-09-07 03:42:00 +0200poscat(~poscat@user/poscat) (Ping timeout: 246 seconds)
2024-09-07 03:42:39 +0200EarlPitts(~EarlPitts@20014C4C1C6E670010D8FFE22A66D832.catv.pool.telekom.hu) (Ping timeout: 256 seconds)
2024-09-07 03:44:06 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 246 seconds)
2024-09-07 03:44:51 +0200califax(~califax@user/califx) (Ping timeout: 260 seconds)
2024-09-07 03:45:00 +0200califax_(~califax@user/califx)
2024-09-07 03:46:14 +0200califax_califax
2024-09-07 03:46:39 +0200weary-traveler(~user@user/user363627) (Ping timeout: 260 seconds)
2024-09-07 03:46:55 +0200stef204(~stef204@user/stef204) (Quit: WeeChat 4.2.1)
2024-09-07 03:49:13 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 03:51:59 +0200poscat(~poscat@user/poscat)
2024-09-07 03:54:08 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-09-07 03:55:28 +0200dsrt^(~dsrt@c-98-242-74-66.hsd1.ga.comcast.net)
2024-09-07 04:05:01 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 04:05:58 +0200weary-traveler(~user@user/user363627)
2024-09-07 04:10:11 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-09-07 04:11:53 +0200EarlPitts(~EarlPitts@20014C4C1C6E670010D8FFE22A66D832.catv.pool.telekom.hu)
2024-09-07 04:16:05 +0200EarlPitts(~EarlPitts@20014C4C1C6E670010D8FFE22A66D832.catv.pool.telekom.hu) (Ping timeout: 256 seconds)
2024-09-07 04:16:18 +0200ZharMeny(~ZharMeny@user/ZharMeny) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4))
2024-09-07 04:20:47 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 04:23:31 +0200dyniec(~dyniec@dybiec.info) (Quit: WeeChat 4.2.2)
2024-09-07 04:25:39 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-09-07 04:36:33 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 04:41:04 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-09-07 04:44:06 +0200sroso(~sroso@user/SrOso)
2024-09-07 04:45:40 +0200EarlPitts(~EarlPitts@20014C4C1C6E670010D8FFE22A66D832.catv.pool.telekom.hu)
2024-09-07 04:47:37 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 04:50:05 +0200EarlPitts(~EarlPitts@20014C4C1C6E670010D8FFE22A66D832.catv.pool.telekom.hu) (Ping timeout: 256 seconds)
2024-09-07 04:51:33 +0200td_(~td@i53870938.versanet.de) (Ping timeout: 248 seconds)
2024-09-07 04:52:34 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-09-07 04:53:09 +0200td_(~td@i5387091F.versanet.de)
2024-09-07 05:03:04 +0200EarlPitts(~EarlPitts@20014C4C1C6E670010D8FFE22A66D832.catv.pool.telekom.hu)
2024-09-07 05:03:22 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 05:05:00 +0200paddymahoney(~paddymaho@pool-99-250-10-137.cpe.net.cable.rogers.com) (Ping timeout: 276 seconds)
2024-09-07 05:07:39 +0200EarlPitts(~EarlPitts@20014C4C1C6E670010D8FFE22A66D832.catv.pool.telekom.hu) (Ping timeout: 256 seconds)
2024-09-07 05:08:14 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-09-07 05:15:25 +0200paddymahoney(~paddymaho@pool-99-250-10-137.cpe.net.cable.rogers.com)
2024-09-07 05:19:09 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 05:23:51 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-09-07 05:28:00 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
2024-09-07 05:28:56 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2024-09-07 05:34:56 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 05:37:08 +0200EarlPitts(~EarlPitts@20014C4C1C6E670010D8FFE22A66D832.catv.pool.telekom.hu)
2024-09-07 05:37:30 +0200aforemny(~aforemny@2001:9e8:6cfb:d00:89c3:59d4:5ce3:af24) (Ping timeout: 246 seconds)
2024-09-07 05:37:38 +0200aforemny_(~aforemny@i59F516CB.versanet.de)
2024-09-07 05:39:43 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-09-07 05:41:39 +0200EarlPitts(~EarlPitts@20014C4C1C6E670010D8FFE22A66D832.catv.pool.telekom.hu) (Ping timeout: 256 seconds)
2024-09-07 05:42:57 +0200EarlPitts(~EarlPitts@20014C4C1C6E670010D8FFE22A66D832.catv.pool.telekom.hu)
2024-09-07 05:44:37 +0200EarlPitts(~EarlPitts@20014C4C1C6E670010D8FFE22A66D832.catv.pool.telekom.hu) (Remote host closed the connection)
2024-09-07 05:47:07 +0200gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2024-09-07 05:47:52 +0200gmg(~user@user/gehmehgeh)
2024-09-07 05:49:06 +0200Mateon1(~Thunderbi@user/meow/Mateon1) (Quit: Mateon1)
2024-09-07 05:50:43 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 05:55:21 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-09-07 06:06:09 +0200amjoseph(~amjoseph@static-198-44-128-146.cust.tzulo.com) ()
2024-09-07 06:06:31 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 06:11:33 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-09-07 06:16:21 +0200EarlPitts(~EarlPitts@20014C4C1C6E670010D8FFE22A66D832.catv.pool.telekom.hu)
2024-09-07 06:20:45 +0200EarlPitts(~EarlPitts@20014C4C1C6E670010D8FFE22A66D832.catv.pool.telekom.hu) (Ping timeout: 256 seconds)
2024-09-07 06:22:44 +0200madariaga(~madariaga@user/madariaga)
2024-09-07 06:28:24 +0200EarlPitts(~EarlPitts@20014C4C1C6E670010D8FFE22A66D832.catv.pool.telekom.hu)
2024-09-07 06:33:29 +0200vglfr(~vglfr@2601:14d:4e01:1370:3909:c471:2d0b:32f9) (Ping timeout: 260 seconds)
2024-09-07 06:33:46 +0200vglfr(~vglfr@c-73-163-164-68.hsd1.md.comcast.net)
2024-09-07 06:35:18 +0200youthlic(~Thunderbi@user/youthlic)
2024-09-07 06:38:05 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 06:42:57 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-09-07 06:48:37 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 06:51:14 +0200vglfr(~vglfr@c-73-163-164-68.hsd1.md.comcast.net) (Ping timeout: 252 seconds)
2024-09-07 06:53:27 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-09-07 07:04:24 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 07:09:49 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-09-07 07:16:58 +0200madariaga(~madariaga@user/madariaga) (Quit: madariaga)
2024-09-07 07:17:35 +0200machinedgod(~machinedg@d50-99-47-73.abhsia.telus.net)
2024-09-07 07:18:06 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 07:21:49 +0200meritamen(~meritamen@user/meritamen)
2024-09-07 07:22:24 +0200meritamen(~meritamen@user/meritamen) (Client Quit)
2024-09-07 07:23:04 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-09-07 07:23:40 +0200weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-09-07 07:28:39 +0200youthlic(~Thunderbi@user/youthlic) (Ping timeout: 276 seconds)
2024-09-07 07:31:58 +0200fireking04(~user@36-227-86-135.dynamic-ip.hinet.net)
2024-09-07 07:33:27 +0200weary-traveler(~user@user/user363627)
2024-09-07 07:33:53 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 07:34:45 +0200fireking04(~user@36-227-86-135.dynamic-ip.hinet.net) (Remote host closed the connection)
2024-09-07 07:35:54 +0200harveypwca(~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288)
2024-09-07 07:40:20 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-09-07 07:44:56 +0200youthlic(~Thunderbi@user/youthlic)
2024-09-07 07:46:33 +0200neuroevolutus(~neuroevol@146.70.211.88)
2024-09-07 07:48:42 +0200athan(~athan@syn-098-153-145-140.biz.spectrum.com)
2024-09-07 07:49:18 +0200 <dminuoso> Now a world in which you could not only get first-class and guaranteed support for utf8 literals as well as first-class support for interned strings - that I would like.
2024-09-07 07:49:37 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 07:55:00 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-09-07 07:55:09 +0200Pixi`(~Pixi@user/pixi) (Quit: Leaving)
2024-09-07 08:01:47 +0200Pixi(~Pixi@user/pixi)
2024-09-07 08:05:25 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 08:07:45 +0200 <fr33domlover> tomsmeding: Thanks for the update. Interesting. How GHC works is magic to me :p
2024-09-07 08:10:06 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-09-07 08:10:57 +0200 <fr33domlover> Q: I want to do DB transaction queries (using the persistent package) inside STM - i.e. atomic transaction allowed to do both TVar edits and SQL updates - is it safe to use unsafeIOinSTM? Or better to run the DB connection in separate thread and communicate with it via a TChan/TVar/TQueue?
2024-09-07 08:11:53 +0200RedFlamingos(~RedFlamin@user/RedFlamingos) (Ping timeout: 252 seconds)
2024-09-07 08:12:45 +0200briandaed(~root@185.234.210.211)
2024-09-07 08:14:06 +0200 <dsal> fr33domlover: STM and databases are incompatible concepts.
2024-09-07 08:15:47 +0200 <dsal> Communicating via TChans is probably sensible. You do need to communicate every possible final state on the other end of the channel.
2024-09-07 08:17:05 +0200 <dminuoso> "is it safe to use unsafeIOinSTM" :-)
2024-09-07 08:17:18 +0200 <dminuoso> Only if you use safeUnsafeIOinSTM.
2024-09-07 08:19:39 +0200 <dsal> I'm not sure where I'd use something like that. Maybe something like a log or even get a timestamp for something, but even those seem like pretty bad ideas.
2024-09-07 08:19:44 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-09-07 08:20:47 +0200 <dminuoso> Oh you wouldn't use it because such a thing does not exist.
2024-09-07 08:21:11 +0200 <dminuoso> unsafeIOinSTM is roughly as safe as unsafePerformIO
2024-09-07 08:21:13 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 08:21:49 +0200 <dminuoso> If you're fine with the IO action potentially being executed many times, its fine.
2024-09-07 08:22:11 +0200 <dsal> Yeah, it just clashes with my mental model of how to use STM.
2024-09-07 08:22:50 +0200 <dsal> I've used unsafePerformIO to initialize a TVar for a cache, I think.
2024-09-07 08:23:32 +0200uli-fem(~lambdapin@203.221.238.251) (Ping timeout: 255 seconds)
2024-09-07 08:23:57 +0200 <dminuoso> Though unsafePerformIO can be more dangerous, because it can lead to some interesting parts. I once created a Map of IORef with unsafePerfomIO, and the compiler after floating aliased all those IORefs together.
2024-09-07 08:24:20 +0200 <dminuoso> Was a fun debugging session.
2024-09-07 08:24:54 +0200machinedgod(~machinedg@d50-99-47-73.abhsia.telus.net) (Ping timeout: 260 seconds)
2024-09-07 08:26:30 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-09-07 08:35:44 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2024-09-07 08:37:00 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 08:41:58 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-09-07 08:43:58 +0200misterfish(~misterfis@84.53.85.146)
2024-09-07 08:50:38 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 08:56:00 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-09-07 08:56:35 +0200 <aljustiet> [hello](https://iernathsi.com)
2024-09-07 09:00:21 +0200JamesMowery(~JamesMowe@ip98-167-207-182.ph.ph.cox.net) (Quit: Goodbye)
2024-09-07 09:00:38 +0200JamesMowery(~JamesMowe@ip98-167-207-182.ph.ph.cox.net)
2024-09-07 09:03:59 +0200AlexZenon(~alzenon@94.233.240.119) (Ping timeout: 260 seconds)
2024-09-07 09:05:04 +0200AlexNoo(~AlexNoo@94.233.240.119) (Ping timeout: 252 seconds)
2024-09-07 09:06:25 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 09:07:26 +0200briandaed(~root@185.234.210.211) (Remote host closed the connection)
2024-09-07 09:09:19 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-09-07 09:11:21 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-09-07 09:11:26 +0200raym(~ray@user/raym) (Quit: rebooting...)
2024-09-07 09:14:43 +0200EarlPitts(~EarlPitts@20014C4C1C6E670010D8FFE22A66D832.catv.pool.telekom.hu) (Ping timeout: 256 seconds)
2024-09-07 09:18:49 +0200ash3en(~Thunderbi@2a01:c23:8d00:4c00:b6d6:b186:b213:6e89)
2024-09-07 09:19:59 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-09-07 09:21:46 +0200misterfish(~misterfis@84.53.85.146) (Read error: Connection reset by peer)
2024-09-07 09:22:12 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 09:25:58 +0200misterfish(~misterfis@84.53.85.146)
2024-09-07 09:26:01 +0200neuroevolutus(~neuroevol@146.70.211.88) (Quit: Client closed)
2024-09-07 09:26:29 +0200causal(~eric@50.35.88.207)
2024-09-07 09:27:01 +0200ash3en(~Thunderbi@2a01:c23:8d00:4c00:b6d6:b186:b213:6e89) (Quit: ash3en)
2024-09-07 09:27:21 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-09-07 09:31:48 +0200uli-fem(~lambdapin@203.221.238.251)
2024-09-07 09:32:23 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-09-07 09:32:44 +0200Square(~Square@user/square) (Ping timeout: 260 seconds)
2024-09-07 09:36:04 +0200harveypwca(~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288) (Quit: Leaving)
2024-09-07 09:36:54 +0200Square(~Square@user/square)
2024-09-07 09:38:00 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 09:43:11 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-09-07 09:44:34 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-09-07 09:51:39 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 09:54:22 +0200sourcetarius(~sourcetar@user/sourcetarius)
2024-09-07 09:56:24 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-09-07 09:58:15 +0200 <fr33domlover> I see there's the stm-io-hooks package, which hasnt had updates in a long time. But I guess it's enough to start the STM transaction by sending via the TChan a command to start the DB transaction. And at the end, similar command to commit the DB transaction? Which synchronously waits for DB to approve, and throws otherwise (I'll try that... am I
2024-09-07 09:58:15 +0200 <fr33domlover> missing something? :p)
2024-09-07 09:59:34 +0200 <tomsmeding> fr33domlover: not sure if you were planning to do this, but just in case: never block manually inside an STM transaction
2024-09-07 10:00:04 +0200 <tomsmeding> blocking via existing STM combinators is fine, such as `readTChan` or `retry`, but don't `unsafeIOToSTM` a blocking thing into STM
2024-09-07 10:00:50 +0200 <fr33domlover> Ah cool, yes, I meant blocking via existing STM functions
2024-09-07 10:01:13 +0200 <fr33domlover> like waiting on a TMVar etc
2024-09-07 10:01:49 +0200 <tomsmeding> also, note that STM transactions are intended to be small: in the implementation, whenever something happens during your transaction that invalidates your progress so far, the transaction is simply restarted
2024-09-07 10:03:20 +0200 <tomsmeding> if you do a `readTVar` at the beginning of a transaction, and try to `writeTVar` to that same variable at the end, and someone else got in between with their own `writeTVar`, then your transaction is aborted and tried again
2024-09-07 10:04:07 +0200 <tomsmeding> this semantics is good for small atomic transactions on data structures; it is very bad if you e.g. `writeTChan` and then later `readTChan` a response
2024-09-07 10:04:28 +0200 <tomsmeding> because that might take a long time, and in between you probably got invalidated, so you'll get restarted and you writeTChan again, etc.
2024-09-07 10:04:36 +0200 <fr33domlover> yeah that's a challenge.. I mean, their side in my case would be roughly like in a web app that runs some db transaction in a request handler. OTOH there's no (or barely any) concurrent access in my case, im using STM for the atomicity
2024-09-07 10:05:13 +0200 <tomsmeding> an action that requires someone else to do something halfway through (such as responding to a message on a TChan) is not atomic
2024-09-07 10:05:23 +0200 <fr33domlover> The only concurrency is sending commands to db thread via a TChan
2024-09-07 10:05:29 +0200 <tomsmeding> right
2024-09-07 10:05:47 +0200 <fr33domlover> Hmm I see
2024-09-07 10:05:47 +0200 <tomsmeding> that's fine, but the receipt of a response to those commands must be a _separate_ transaction
2024-09-07 10:05:57 +0200 <tomsmeding> because it can't be atomic if someone else has to do something in the meantime!
2024-09-07 10:06:24 +0200 <tomsmeding> you can't "undo"/"abort" someone else's actions
2024-09-07 10:07:01 +0200acidjnk_new(~acidjnk@p200300d6e72cfb079527f265a4c52d61.dip0.t-ipconnect.de)
2024-09-07 10:07:26 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 10:07:41 +0200 <tomsmeding> in particular, doing a DB query (even if by proxy) inside 1 STM transaction is not going to work
2024-09-07 10:07:54 +0200 <tomsmeding> you might _send_ the query in one transaction and then _receive_ the response in another
2024-09-07 10:09:39 +0200 <fr33domlover> If I try to send actions via TChan and wait on the TMVars that return the results - how will GHCr/untime tell me that I shouldnt?
2024-09-07 10:10:10 +0200fr33domlovershould try and see when reunites with his laptop :p
2024-09-07 10:11:36 +0200 <tomsmeding> fr33domlover: a write to a TVar (and thus to a TChan, which is composed of TVars) is not actually committed until the STM transaction completes
2024-09-07 10:11:48 +0200Square(~Square@user/square) (Ping timeout: 276 seconds)
2024-09-07 10:11:55 +0200 <tomsmeding> other threads will block reading the channel until the write is committed
2024-09-07 10:12:54 +0200 <fr33domlover> Hm I see, so it has to be one-sided communication
2024-09-07 10:12:54 +0200 <tomsmeding> so this will deadlock (absent any other activity): [thread A: atomically $ do writeTChan chan1 x ; readTChan chan2] [thread B: atomically $ do readTChan chan1 >>= writeTChan chan2]
2024-09-07 10:13:14 +0200 <tomsmeding> because the `readTChan chan1` won't complete until thread A has completed their transaction -> deadlock
2024-09-07 10:13:20 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-09-07 10:13:22 +0200 <tomsmeding> indeed
2024-09-07 10:14:03 +0200 <tomsmeding> (which makes sense: if other threads could observe intermediate states of A's transaction, namely chan1 being written to but chan2 not yet being read from, then A's transaction was not atomic!)
2024-09-07 10:16:58 +0200 <fr33domlover> Hm conclusion: If I wanted to combine SQL DB with in-memory atomic variables (non concurrent in my case) I need to do it manually, implementing the reversibility in IO instead of using STM
2024-09-07 10:17:25 +0200 <fr33domlover> Or just stick to SQL only (I do need the disk persistence)
2024-09-07 10:17:59 +0200 <tomsmeding> stm is cool but it isn't magic :)
2024-09-07 10:18:56 +0200 <davean> I mean you just need to combine disk paxos with STM and you can do it ...
2024-09-07 10:19:08 +0200 <tomsmeding> reproducer of the deadlock: https://play.haskell.org/saved/P40xVNIP
2024-09-07 10:19:12 +0200 <tomsmeding> (GHC even detects it)
2024-09-07 10:20:00 +0200 <tomsmeding> oh uh, oops, forgot the done signal
2024-09-07 10:20:27 +0200 <tomsmeding> https://play.haskell.org/saved/6PxY784l that's better
2024-09-07 10:20:41 +0200 <tomsmeding> if you split up the transaction in threadA in two parts, then the program does work
2024-09-07 10:23:28 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2024-09-07 10:24:14 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 10:28:02 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
2024-09-07 10:29:01 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-09-07 10:31:29 +0200TonyStone(~TonyStone@user/TonyStone) (Ping timeout: 260 seconds)
2024-09-07 10:33:43 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds)
2024-09-07 10:39:02 +0200euleritian(~euleritia@dynamic-176-006-133-190.176.6.pool.telefonica.de)
2024-09-07 10:39:39 +0200misterfish(~misterfis@84.53.85.146) (Ping timeout: 252 seconds)
2024-09-07 10:40:01 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 10:41:30 +0200misterfish(~misterfis@84.53.85.146)
2024-09-07 10:42:30 +0200simendsjo(~user@84.211.91.108)
2024-09-07 10:45:36 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-09-07 10:45:51 +0200weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-09-07 10:46:22 +0200__monty__(~toonn@user/toonn)
2024-09-07 10:52:41 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 10:57:22 +0200youthlic(~Thunderbi@user/youthlic) (Ping timeout: 248 seconds)
2024-09-07 10:57:44 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-09-07 10:57:46 +0200uli-fem(~lambdapin@203.221.238.251) (Quit: Lost terminal)
2024-09-07 11:00:38 +0200tcard_(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
2024-09-07 11:01:13 +0200tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Read error: Connection reset by peer)
2024-09-07 11:08:28 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 11:15:26 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-09-07 11:24:36 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds)
2024-09-07 11:26:15 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 11:31:34 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-09-07 11:34:01 +0200youthlic(~Thunderbi@user/youthlic)
2024-09-07 11:34:55 +0200Pixi`(~Pixi@user/pixi)
2024-09-07 11:35:47 +0200hgolden__(~hgolden@23.162.40.69)
2024-09-07 11:36:03 +0200ell9(~ellie@user/ellie)
2024-09-07 11:36:09 +0200oo_miguel1(~Thunderbi@78.10.207.45)
2024-09-07 11:36:18 +0200kimiamania20(~65804703@user/kimiamania)
2024-09-07 11:36:27 +0200m5zs7k_(aquares@web10.mydevil.net)
2024-09-07 11:36:28 +0200siers69(~ij@user/ij)
2024-09-07 11:36:29 +0200driib318(~driib@vmi931078.contaboserver.net)
2024-09-07 11:36:32 +0200kitaleth_(23bd17ddc6@sourcehut/user/alethkit)
2024-09-07 11:36:40 +0200aforemny(~aforemny@2001:9e8:6cdd:cc00:e18:f1bd:8977:4cc7)
2024-09-07 11:36:40 +0200pounce_(~pounce@user/cute/pounce)
2024-09-07 11:36:48 +0200CrunchyFlakes_(~CrunchyFl@ip1f126623.dynamic.kabel-deutschland.de)
2024-09-07 11:36:53 +0200jonrh_(sid5185@id-5185.ilkley.irccloud.com)
2024-09-07 11:37:00 +0200b20n_(sid115913@id-115913.uxbridge.irccloud.com)
2024-09-07 11:37:09 +0200shawwwn_(sid6132@id-6132.helmsley.irccloud.com)
2024-09-07 11:37:15 +0200connrs_(~connrs@user/connrs)
2024-09-07 11:37:15 +0200zlqrvx_(~zlqrvx@101.175.150.247)
2024-09-07 11:37:25 +0200whatsupdoc_(uid509081@id-509081.hampstead.irccloud.com)
2024-09-07 11:37:30 +0200berberman_(~berberman@user/berberman)
2024-09-07 11:38:06 +0200Fijxu_(~Fijxu@user/fijxu)
2024-09-07 11:38:23 +0200dequbed(~dequbed@banana-new.kilobyte22.de)
2024-09-07 11:39:13 +0200dostoyev1ky2(~sck@user/dostoyevsky2)
2024-09-07 11:39:21 +0200solution_(~Solution@78-131-74-9.pool.digikabel.hu)
2024-09-07 11:39:38 +0200mstksg(~jle`@2603:8001:3b02:84d4:a690:69a1:4e16:510b)
2024-09-07 11:39:40 +0200mml_(~mml@157-131-53-74.fiber.dynamic.sonic.net)
2024-09-07 11:39:47 +0200misterfi1h(~misterfis@84.53.85.146)
2024-09-07 11:39:55 +0200cross_(~cross@spitfire.i.gajendra.net)
2024-09-07 11:39:55 +0200takuan_dozo(~takuan@178-116-218-225.access.telenet.be)
2024-09-07 11:42:02 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 11:44:28 +0200misterfish(~misterfis@84.53.85.146) (*.net *.split)
2024-09-07 11:44:28 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (*.net *.split)
2024-09-07 11:44:28 +0200Pixi(~Pixi@user/pixi) (*.net *.split)
2024-09-07 11:44:28 +0200aforemny_(~aforemny@i59F516CB.versanet.de) (*.net *.split)
2024-09-07 11:44:28 +0200whatsupdoc(uid509081@id-509081.hampstead.irccloud.com) (*.net *.split)
2024-09-07 11:44:28 +0200kimiamania2(~65804703@user/kimiamania) (*.net *.split)
2024-09-07 11:44:28 +0200shawwwn(sid6132@id-6132.helmsley.irccloud.com) (*.net *.split)
2024-09-07 11:44:28 +0200wz1000(~zubin@static.11.113.47.78.clients.your-server.de) (*.net *.split)
2024-09-07 11:44:28 +0200hgolden_(~hgolden@23.162.40.69) (*.net *.split)
2024-09-07 11:44:28 +0200m5zs7k(aquares@web10.mydevil.net) (*.net *.split)
2024-09-07 11:44:28 +0200itaipu(~itaipu@168.121.99.162) (*.net *.split)
2024-09-07 11:44:28 +0200b20n(sid115913@id-115913.uxbridge.irccloud.com) (*.net *.split)
2024-09-07 11:44:28 +0200ell(~ellie@user/ellie) (*.net *.split)
2024-09-07 11:44:28 +0200driib31(~driib@vmi931078.contaboserver.net) (*.net *.split)
2024-09-07 11:44:28 +0200oo_miguel(~Thunderbi@78.10.207.45) (*.net *.split)
2024-09-07 11:44:28 +0200CrunchyFlakes(~CrunchyFl@31.18.102.35) (*.net *.split)
2024-09-07 11:44:28 +0200mml(~mml@157-131-53-74.fiber.dynamic.sonic.net) (*.net *.split)
2024-09-07 11:44:28 +0200yahb2(~yahb2@user/tomsmeding/bot/yahb2) (*.net *.split)
2024-09-07 11:44:28 +0200Fijxu(~Fijxu@user/fijxu) (*.net *.split)
2024-09-07 11:44:28 +0200nadja(~dequbed@banana-new.kilobyte22.de) (*.net *.split)
2024-09-07 11:44:28 +0200solution(~Solution@78-131-74-9.pool.digikabel.hu) (*.net *.split)
2024-09-07 11:44:28 +0200kitaleth(23bd17ddc6@sourcehut/user/alethkit) (*.net *.split)
2024-09-07 11:44:29 +0200pounce(~pounce@user/cute/pounce) (*.net *.split)
2024-09-07 11:44:29 +0200jle`(~jle`@2603:8001:3b02:84d4:2fca:bfe0:41f4:4c2b) (*.net *.split)
2024-09-07 11:44:29 +0200berberman(~berberman@user/berberman) (*.net *.split)
2024-09-07 11:44:29 +0200zlqrvx(~zlqrvx@user/zlqrvx) (*.net *.split)
2024-09-07 11:44:29 +0200cross(~cross@spitfire.i.gajendra.net) (*.net *.split)
2024-09-07 11:44:29 +0200motherfsck(~motherfsc@user/motherfsck) (*.net *.split)
2024-09-07 11:44:29 +0200dostoyevsky2(~sck@user/dostoyevsky2) (*.net *.split)
2024-09-07 11:44:29 +0200siers(~ij@user/ij) (*.net *.split)
2024-09-07 11:44:29 +0200jonrh(sid5185@id-5185.ilkley.irccloud.com) (*.net *.split)
2024-09-07 11:44:29 +0200tomboy64(~tomboy64@user/tomboy64) (*.net *.split)
2024-09-07 11:44:29 +0200connrs(~connrs@user/connrs) (*.net *.split)
2024-09-07 11:44:29 +0200kitaleth_kitaleth
2024-09-07 11:44:29 +0200whatsupdoc_whatsupdoc
2024-09-07 11:44:29 +0200kimiamania20kimiamania2
2024-09-07 11:44:29 +0200driib318driib31
2024-09-07 11:44:29 +0200b20n_b20n
2024-09-07 11:44:32 +0200shawwwn_shawwwn
2024-09-07 11:44:35 +0200oo_miguel1oo_miguel
2024-09-07 11:44:35 +0200ell9ell
2024-09-07 11:44:35 +0200jonrh_jonrh
2024-09-07 11:44:35 +0200connrs_connrs
2024-09-07 11:44:41 +0200yahb2(~yahb2@user/tomsmeding/bot/yahb2)
2024-09-07 11:44:41 +0200ChanServ+v yahb2
2024-09-07 11:44:54 +0200m5zs7k_m5zs7k
2024-09-07 11:46:35 +0200pounce_pounce
2024-09-07 11:46:45 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-09-07 11:50:27 +0200wz1000(~zubin@static.11.113.47.78.clients.your-server.de)
2024-09-07 11:50:34 +0200motherfsck(~motherfsc@user/motherfsck)
2024-09-07 11:51:13 +0200itaipu(~itaipu@168.121.99.162)
2024-09-07 11:51:51 +0200tomboy64(~tomboy64@user/tomboy64)
2024-09-07 11:53:42 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 11:58:10 +0200pavonia_(~user@user/siracusa)
2024-09-07 11:58:30 +0200pavonia(~user@user/siracusa) (Read error: Connection reset by peer)
2024-09-07 11:58:48 +0200pavonia_pavonia
2024-09-07 11:58:55 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds)
2024-09-07 12:01:21 +0200ash3en(~Thunderbi@2a01:c23:8d00:4c00:b6d6:b186:b213:6e89)
2024-09-07 12:01:40 +0200sawilagar(~sawilagar@user/sawilagar)
2024-09-07 12:09:29 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 12:09:42 +0200raym(~ray@user/raym)
2024-09-07 12:13:51 +0200srazkvt(~sarah@user/srazkvt)
2024-09-07 12:17:03 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2024-09-07 12:24:40 +0200JuanDaugherty(~juan@user/JuanDaugherty)
2024-09-07 12:28:43 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 12:33:56 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
2024-09-07 12:44:31 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 12:45:18 +0200nickiminjaj(~kvirc@user/laxhh)
2024-09-07 12:47:57 +0200emmanuelux(~emmanuelu@user/emmanuelux)
2024-09-07 12:49:08 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2024-09-07 12:52:54 +0200ash3en(~Thunderbi@2a01:c23:8d00:4c00:b6d6:b186:b213:6e89) (Ping timeout: 244 seconds)
2024-09-07 12:54:51 +0200michalz(~michalz@185.246.207.203)
2024-09-07 12:56:33 +0200athan(~athan@syn-098-153-145-140.biz.spectrum.com) (Quit: Konversation terminated!)
2024-09-07 12:57:00 +0200MeteHAN(~MeteHAN@159.146.64.69)
2024-09-07 12:57:07 +0200MeteHAN(~MeteHAN@159.146.64.69) ()
2024-09-07 13:00:18 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 13:03:55 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-09-07 13:05:36 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
2024-09-07 13:10:06 +0200srazkvt(~sarah@user/srazkvt) (Quit: Konversation terminated!)
2024-09-07 13:11:25 +0200ZharMeny(~ZharMeny@user/ZharMeny)
2024-09-07 13:16:06 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 13:16:11 +0200ash3en(~Thunderbi@2a01:c23:8d00:4c00:b6d6:b186:b213:6e89)
2024-09-07 13:16:35 +0200ash3en(~Thunderbi@2a01:c23:8d00:4c00:b6d6:b186:b213:6e89) (Client Quit)
2024-09-07 13:21:14 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-09-07 13:22:56 +0200sroso(~sroso@user/SrOso) (Quit: Leaving :))
2024-09-07 13:26:57 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2024-09-07 13:31:53 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 13:36:53 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-09-07 13:41:15 +0200JuanDaugherty(~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
2024-09-07 13:47:39 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 13:52:11 +0200euleritian(~euleritia@dynamic-176-006-133-190.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-09-07 13:52:29 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-09-07 13:52:54 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-09-07 14:03:26 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 14:08:29 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-09-07 14:09:51 +0200 <haskellbridge> <thirdofmay18081814goya> where can I find a formalization of inductive types?
2024-09-07 14:11:07 +0200yaroot(~yaroot@2400:4052:ac0:d901:1cf4:2aff:fe51:c04c) (Remote host closed the connection)
2024-09-07 14:11:48 +0200yaroot(~yaroot@2400:4052:ac0:d901:1cf4:2aff:fe51:c04c)
2024-09-07 14:13:29 +0200 <albet70> a <- getLine; how to turn that a to normal haskell code? like if I input ["1"], and turn that a to ["1"]?
2024-09-07 14:14:34 +0200 <Rembane> albet70: read perhaps?
2024-09-07 14:15:54 +0200alexherbo2(~alexherbo@2a02-8440-310c-7e00-64ae-a5ed-c8ef-c4bf.rev.sfr.net)
2024-09-07 14:17:40 +0200 <albet70> I find that ast.literal_eval can do something like this in python
2024-09-07 14:18:02 +0200 <albet70> I don't know if haskell has similar function
2024-09-07 14:18:55 +0200misterfi1h(~misterfis@84.53.85.146) (Ping timeout: 252 seconds)
2024-09-07 14:19:13 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 14:19:23 +0200xff0x(~xff0x@2405:6580:b080:900:c1a4:8f81:9151:7c9c)
2024-09-07 14:20:37 +0200ss4(~wootehfoo@user/wootehfoot)
2024-09-07 14:21:25 +0200 <Rembane> albet70: Lets X/Y this, why do you want to evaluate Haskell code that comes from the user?
2024-09-07 14:24:04 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 252 seconds)
2024-09-07 14:26:23 +0200 <albet70> for example, there is a string in code, but you'd like user to input delimeters to split the string, different user like different delimeters
2024-09-07 14:27:37 +0200 <Rembane> What does "string in code" mean in this context?
2024-09-07 14:28:13 +0200srazkvt(~sarah@user/srazkvt)
2024-09-07 14:28:14 +0200 <Rembane> Also, here, have something fun: https://hackage.haskell.org/package/plugins-1.6.2.1
2024-09-07 14:28:28 +0200 <albet70> like read a csv file to a string, use ',' to split it
2024-09-07 14:28:50 +0200 <albet70> but other file types, they may have different delimeters
2024-09-07 14:29:12 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
2024-09-07 14:29:15 +0200ss4(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2024-09-07 14:29:19 +0200 <albet70> let user decide the delimeters is better than let programmer to guess
2024-09-07 14:29:32 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2024-09-07 14:30:24 +0200 <albet70> like a text file , you may want to use '\n' to split the content
2024-09-07 14:30:38 +0200 <haskellbridge> <thirdofmay18081814goya> anyone know of communities where you can ask about type theory?
2024-09-07 14:30:54 +0200 <Rembane> albet70: This is true, then it's possible to input the delimiter and give it to your split function
2024-09-07 14:31:44 +0200 <tomsmeding> it's a good exercise to write a `splitOn :: Eq a => a -> [a] -> [[a]]` function ;)
2024-09-07 14:31:58 +0200 <tomsmeding> (somehow there is no such function in base yet)
2024-09-07 14:32:00 +0200 <albet70> yes, so I ask how to let the string from getLine to become a list code which contain delimeters
2024-09-07 14:32:26 +0200 <tomsmeding> there is no general function which parses Haskell code, but there is `readMaybe`
2024-09-07 14:32:31 +0200 <tomsmeding> :t Text.Read.readMaybe
2024-09-07 14:32:32 +0200 <lambdabot> Read a => String -> Maybe a
2024-09-07 14:32:45 +0200 <tomsmeding> > readMaybe "[1,2,3]" :: Maybe [Int]
2024-09-07 14:32:46 +0200 <lambdabot> error:
2024-09-07 14:32:46 +0200 <lambdabot> Variable not in scope: readMaybe :: [Char] -> Maybe [Int]
2024-09-07 14:32:49 +0200 <tomsmeding> > Text.Read.readMaybe "[1,2,3]" :: Maybe [Int]
2024-09-07 14:32:51 +0200 <lambdabot> error:
2024-09-07 14:32:51 +0200 <lambdabot> Not in scope: ‘Text.Read.readMaybe’
2024-09-07 14:32:51 +0200 <lambdabot> No module named ‘Text.Read’ is imported.
2024-09-07 14:32:51 +0200 <albet70> someone suggest me to use eval
2024-09-07 14:32:59 +0200 <tomsmeding> eval does not exist in haskell
2024-09-07 14:33:06 +0200 <tomsmeding> @let import Text.Read (readMaybe)
2024-09-07 14:33:07 +0200 <lambdabot> Defined.
2024-09-07 14:33:10 +0200 <tomsmeding> > readMaybe "[1,2,3]" :: Maybe [Int]
2024-09-07 14:33:12 +0200 <lambdabot> Just [1,2,3]
2024-09-07 14:33:15 +0200 <tomsmeding> > readMaybe "1,2,3]" :: Maybe [Int]
2024-09-07 14:33:17 +0200 <lambdabot> Nothing
2024-09-07 14:33:24 +0200 <tomsmeding> > readMaybe "[1 ,2,3]" :: Maybe [Int]
2024-09-07 14:33:25 +0200 <lambdabot> Just [1,2,3]
2024-09-07 14:33:34 +0200 <tomsmeding> if this is what you need, it exist
2024-09-07 14:33:36 +0200 <tomsmeding> *exists
2024-09-07 14:33:43 +0200 <albet70> aha, why haskell do not has eval
2024-09-07 14:33:49 +0200 <tomsmeding> because haskell is a compiled language ;)
2024-09-07 14:34:03 +0200 <albet70> C has eval
2024-09-07 14:34:09 +0200 <tomsmeding> 'eval' would have to compile the given code live at runtime, i.e. you'd need to have a copy of GHC in your executable
2024-09-07 14:34:15 +0200 <tomsmeding> what's C's eval called?
2024-09-07 14:34:40 +0200 <albet70> I forget, its a long time ago I learned C
2024-09-07 14:34:41 +0200 <ski> > (reads :: ReadS [Int]) "[0,1,2]"
2024-09-07 14:34:42 +0200 <lambdabot> [([0,1,2],"")]
2024-09-07 14:34:44 +0200 <tomsmeding> (people would object to having GHC in their programs at all times, if only because GHC is >2GB)
2024-09-07 14:34:44 +0200misterfish(~misterfis@84.53.85.146)
2024-09-07 14:34:47 +0200 <tomsmeding> albet70: there is no such function :p
2024-09-07 14:35:01 +0200 <tomsmeding> python has one, as does javascript, and ruby -- but all those are interpreted languages
2024-09-07 14:35:24 +0200 <albet70> scheme has it too
2024-09-07 14:35:31 +0200 <tomsmeding> ... which is an interpreted language
2024-09-07 14:35:36 +0200 <ski> no
2024-09-07 14:35:50 +0200 <tomsmeding> then it bundles an interpreter :p
2024-09-07 14:35:56 +0200 <ski> or a compiler
2024-09-07 14:36:00 +0200 <tomsmeding> O.o
2024-09-07 14:36:14 +0200 <albet70> and that eval/apply in the famous wizard hand of a picture in the SICP
2024-09-07 14:37:14 +0200 <tomsmeding> in any case, other languages notwithstanding: every complete implementation of haskell ends up being a large amount of code, so it would be a waste to bundle that with everything just for 'eval' which nobody uses
2024-09-07 14:37:28 +0200 <tomsmeding> ('eval' is typically an anti-pattern anyway, except for particular scripting uses)
2024-09-07 14:37:52 +0200 <tomsmeding> if you really want, you can use https://hackage.haskell.org/package/hint which indeed pulls in GHC as a dependency
2024-09-07 14:38:00 +0200 <tomsmeding> but think really hard before you use that
2024-09-07 14:38:06 +0200 <ski> in Scheme, people say that you shouldn't use `eval', unless if you know why you shouldn't use it
2024-09-07 14:38:22 +0200 <tomsmeding> sounds like a truism
2024-09-07 14:39:27 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 14:43:14 +0200dostoyev1ky2(~sck@user/dostoyevsky2) (Quit: leaving)
2024-09-07 14:43:29 +0200dostoyevsky2(~sck@user/dostoyevsky2)
2024-09-07 14:44:12 +0200 <ski> "The generated code can be printed, stored in a file -- or compiled and linked-back to the running program, thus implementing run-time code optimization. MetaOCaml code without staging annotations, or with the annotations erased, is regular OCaml." <https://okmij.org/ftp/meta-programming/tutorial/index.html> ; "BER MetaOCaml, as MetaOCaml did long time ago, supports both byte-code and native compilation."
2024-09-07 14:44:18 +0200 <ski> <https://okmij.org/ftp/ML/MetaOCaml.html>
2024-09-07 14:44:48 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-09-07 14:49:41 +0200 <sprout> https://agda.club/objects/4e57d7ae-8fa3-40fd-a8c2-f8d5a4ecf06b
2024-09-07 14:49:54 +0200 <sprout> I will not claim to understand the above post
2024-09-07 14:53:53 +0200 <haskellbridge> <thirdofmay18081814goya> anyone know where I can find a formalization (or a semantics) for inductive types?
2024-09-07 14:55:16 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 14:57:04 +0200misterfish(~misterfis@84.53.85.146) (Ping timeout: 272 seconds)
2024-09-07 14:59:59 +0200rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2024-09-07 15:00:24 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-09-07 15:00:29 +0200rvalue(~rvalue@user/rvalue)
2024-09-07 15:07:25 +0200 <tomsmeding> thirdofmay: "initial algebras" is probably the correct search keyword
2024-09-07 15:08:03 +0200 <haskellbridge> <thirdofmay18081814goya> tomsmeding: ty! will get started on these
2024-09-07 15:11:03 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 15:15:46 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-09-07 15:26:50 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 15:27:37 +0200ski. o O ( "A Tutorial on (Co)Algebra and (Co)Induction" by Bart Jacbos,Jan Rutten in 1997 at <https://www.cs.ru.nl/B.Jacobs/PAPERS/JR.pdf> )
2024-09-07 15:28:04 +0200 <ski> (s/Jacbos/Jacobs/)
2024-09-07 15:28:29 +0200cattiesmommies
2024-09-07 15:28:55 +0200mommiescatties
2024-09-07 15:30:10 +0200 <haskellbridge> <thirdofmay18081814goya> ski: nice! thanks
2024-09-07 15:30:16 +0200ash3en(~Thunderbi@146.70.124.222)
2024-09-07 15:30:53 +0200CrunchyFlakes_(~CrunchyFl@ip1f126623.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-09-07 15:31:45 +0200oneeyedalien(~oneeyedal@user/oneeyedalien)
2024-09-07 15:32:13 +0200 <sprout> that never made much sense. constructors without destructors, or destructors without constructors, are pretty useless
2024-09-07 15:33:13 +0200alexherbo2(~alexherbo@2a02-8440-310c-7e00-64ae-a5ed-c8ef-c4bf.rev.sfr.net) (Remote host closed the connection)
2024-09-07 15:33:14 +0200CrunchyFlakes(~CrunchyFl@31.18.102.35)
2024-09-07 15:34:17 +0200 <ski> "that" ?
2024-09-07 15:35:13 +0200ash3en1(~Thunderbi@2a01:c23:8d00:4c00:b6d6:b186:b213:6e89)
2024-09-07 15:35:24 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-09-07 15:35:41 +0200 <sprout> the turorial. maybe it's just in the wording, I've never delved deep into it
2024-09-07 15:35:48 +0200 <sprout> *tutorial
2024-09-07 15:36:12 +0200 <sprout> it made sense to Jacobs, which was good enough
2024-09-07 15:36:27 +0200ash3en1(~Thunderbi@2a01:c23:8d00:4c00:b6d6:b186:b213:6e89) (Client Quit)
2024-09-07 15:37:09 +0200ash3en(~Thunderbi@146.70.124.222) (Ping timeout: 260 seconds)
2024-09-07 15:37:24 +0200 <ski> "constructors without destructors" -- presumably the "destructors" are the unique initial morphisms (the pattern-matching, possibly structurally recursive, functions)
2024-09-07 15:40:57 +0200 <sprout> the problem is that everything stated can also be stated for initial descriptions. i.e., 1+A*List(A)->List(A) is no different from List(A)->1+A*List(A) given your own interpretation of what that should mean
2024-09-07 15:41:23 +0200 <sprout> as witnessed by Haskell types even
2024-09-07 15:43:13 +0200 <ski> one would be the inverse of the other, yes
2024-09-07 15:43:21 +0200 <ski> (not sure what you're getting at)
2024-09-07 15:43:42 +0200 <sprout> that both equally serve well as description of intial or final algebras
2024-09-07 15:44:15 +0200 <sprout> it just doesn't matter, it just depends on what mean _you_ ascribe to the types
2024-09-07 15:44:16 +0200 <ski> both what and what ?
2024-09-07 15:44:51 +0200 <tomsmeding> List(A)->1+A*List(A) and its opposite, presumably
2024-09-07 15:44:58 +0200 <sprout> right
2024-09-07 15:46:52 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 15:46:57 +0200 <ski> with initial algebra of `F' (where `F(X) = 1 + A*X', for all `X'), you get finite lists of `A's. with final algebras of `F', you get potentially finite (and potentially infinite) streams of `A's
2024-09-07 15:47:09 +0200 <sprout> right
2024-09-07 15:47:15 +0200 <ski> er, s/final algebras/final coalgebras/
2024-09-07 15:47:19 +0200 <sprout> but that doesn't really depend on the types
2024-09-07 15:47:30 +0200 <sprout> it's just a very troublesome paper
2024-09-07 15:47:55 +0200 <ski> (still don't get your point, though)
2024-09-07 15:48:10 +0200 <sprout> no worries
2024-09-07 15:52:03 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-09-07 15:55:00 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2024-09-07 15:55:29 +0200mreh(~matthew@host86-160-168-12.range86-160.btcentralplus.com)
2024-09-07 15:56:27 +0200euleritian(~euleritia@dynamic-176-006-133-190.176.6.pool.telefonica.de)
2024-09-07 15:59:07 +0200 <mreh> typecheck: • Couldn't match expected type: forall os.
2024-09-07 15:59:07 +0200 <mreh> ContextT Handle os (SpiderHost Global) ()
2024-09-07 15:59:08 +0200 <mreh> with actual type: ContextT Handle os0 m0 ()
2024-09-07 15:59:13 +0200 <mreh> what might I have done here?
2024-09-07 16:00:18 +0200 <probie> <super unhelpful>Written some non-typing checking Haskell code</super unhelpful>
2024-09-07 16:00:37 +0200alexherbo2(~alexherbo@2a02-8440-310c-7e00-c55c-4fb4-8e88-b7ad.rev.sfr.net)
2024-09-07 16:01:41 +0200 <mreh> I think I'm lacking some understand of Rank-2 types
2024-09-07 16:01:55 +0200 <mreh> s/understand/understanding
2024-09-07 16:02:05 +0200 <probie> Can you provide a snippet in context? If it's a higher order function expecting something an argument of type `forall os . Context handle os m a -> Context handle os m a` and you've provided a function which makes `os` concrete, it's not going to work.
2024-09-07 16:02:39 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 16:03:17 +0200L29Ah(~L29Ah@wikipedia/L29Ah) ()
2024-09-07 16:03:20 +0200 <mreh> probie: it's that kind of thing
2024-09-07 16:03:35 +0200 <mreh> https://hackage.haskell.org/package/GPipe-2.2.5/docs/Graphics-GPipe-Context.html#t:ContextT
2024-09-07 16:04:26 +0200 <mreh> when you make a Buffer, or similar, it has this `os` parameter, like STRefs I guess, to stop them escaping the context.
2024-09-07 16:04:44 +0200 <mreh> It stands for object scope I think.
2024-09-07 16:05:13 +0200Smiles(uid551636@id-551636.lymington.irccloud.com)
2024-09-07 16:07:21 +0200simendsjo(~user@84.211.91.108) (Ping timeout: 276 seconds)
2024-09-07 16:08:04 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-09-07 16:11:16 +0200 <constxd> hey guys i wonder if you can come up with a slick way to solve this, haskell seems like a good language for it
2024-09-07 16:12:14 +0200 <constxd> for example: xs=[Just 'x', Nothing, Just 'x', Nothing, Nothing, Just 'x'] and ys=['a', 'b', 'c', 'd', 'e', 'f']. then you want the result: ['x', 'x', 'a', 'x', 'b', 'c', 'x', 'd', 'e', 'f']
2024-09-07 16:13:23 +0200 <constxd> f :: [Maybe a] -> [a] -> [a], where you fill in the Nothing values in xs with the values from ys, and then any extra ys just go at the end
2024-09-07 16:14:05 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-09-07 16:14:44 +0200 <probie> are you sure of the result you've given? I don't think it matches the description?
2024-09-07 16:15:15 +0200 <constxd> oops you're right sorry i copy/pasted the ruby version and hastily edited it to look like haskell
2024-09-07 16:15:47 +0200 <constxd> ['x', 'a', 'x', 'b', 'c', 'x', 'd', 'e', 'f']... i think
2024-09-07 16:16:46 +0200 <constxd> in ruby there's a pretty nice solution but it relies on mutating ys: xs.map { _1.nil ? ys.shift : _1 } + ys
2024-09-07 16:16:52 +0200 <yin> imagine i want to graph a step by step approximation of a continued fractional expansion. is it possible to turn something like x + 1 / xs into an efficient scanl ?
2024-09-07 16:17:40 +0200 <constxd> i am looking for a solution with no mutation so i figured this is a good place to ask
2024-09-07 16:18:19 +0200Alleria(~Alleria@user/alleria)
2024-09-07 16:18:26 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 16:18:36 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2024-09-07 16:18:40 +0200nickiminjaj(~kvirc@user/laxhh) (Quit: KVIrc 5.2.2 Quasar http://www.kvirc.net/)
2024-09-07 16:21:34 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-09-07 16:22:05 +0200 <sprout> ski: I wrote it down for you https://mathstodon.xyz/@sprout/113096710101394601
2024-09-07 16:23:03 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2024-09-07 16:23:31 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds)
2024-09-07 16:24:32 +0200 <tomsmeding> mreh: those 0 suffixes smell of ambiguous type variables
2024-09-07 16:24:40 +0200 <tomsmeding> does the error message say that "os0" and "m0" are ambiguous?
2024-09-07 16:25:58 +0200 <tomsmeding> constxd: what exactly do you want to do, stuff the ys where the Nothings in xs are? What if there are fewer Nothings in xs than elements in ys?
2024-09-07 16:26:06 +0200 <tomsmeding> oh you stuff them at the end
2024-09-07 16:26:34 +0200 <Leary> mreh: You've applied `runContextT` to an insufficiently polymorphic `ContextT` value, most likely due to `os0` being bound outside of the scope of the `runContextT` invocation.
2024-09-07 16:27:14 +0200 <constxd> Yeah, i guess if there are more Nothings than ys then the extra Nothings just get removed and not replaced with anything. but you don't have to worry about this case. it can be a partial function if you like
2024-09-07 16:29:20 +0200Natch(~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) (Remote host closed the connection)
2024-09-07 16:29:40 +0200 <tomsmeding> % let interfoo xs ys = uncurry (flip (++)) (mapAccumL (\ys -> maybe (tail ys, head ys) (ys,)) ys xs)
2024-09-07 16:29:40 +0200 <yahb2> <no output>
2024-09-07 16:29:50 +0200 <tomsmeding> % interfoo [Just 'x', Nothing, Just 'x', Nothing, Nothing, Just 'x'] "abcdef"
2024-09-07 16:29:50 +0200 <yahb2> "xaxbcxdef"
2024-09-07 16:30:06 +0200 <tomsmeding> % interfoo [Just 'x', Nothing, Just 'x', Nothing, Nothing, Just 'x'] "ab"
2024-09-07 16:30:06 +0200 <yahb2> *** Exception: Prelude.head: empty list ; CallStack (from HasCallStack): ; error, called at libraries/base/GHC/List.hs:1646:3 in base:GHC.List ; errorEmptyList, called at libraries/base/GHC/Lis...
2024-09-07 16:30:43 +0200 <tomsmeding> constxd: ^
2024-09-07 16:32:24 +0200 <Leary> I would just write that with direct recursion.
2024-09-07 16:33:35 +0200 <yin> > frac [] - 0 ; frac [x] - x ; frac (x:xs) = x + 1 % frac xs
2024-09-07 16:33:36 +0200 <lambdabot> <hint>:1:13: error: parse error on input ‘;’
2024-09-07 16:33:57 +0200 <yin> anyways... how can i make this typecheck?
2024-09-07 16:34:14 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 16:34:23 +0200 <tomsmeding> replace % by / ?
2024-09-07 16:38:27 +0200 <constxd> tomsmeding: very nice
2024-09-07 16:38:30 +0200 <Leary> @let foo (Just x:mxs) ys = x:foo mxs ys; foo (Nothing:mxs) (y:ys) = y:foo mxs ys; foo [] ys = ys; foo (Nothing:_) [] = error "foo (Nothing:_) []"
2024-09-07 16:38:31 +0200 <lambdabot> Defined.
2024-09-07 16:38:33 +0200 <Leary> :t foo
2024-09-07 16:38:35 +0200 <lambdabot> [Maybe a] -> [a] -> [a]
2024-09-07 16:38:53 +0200 <Leary> Longer, but dead simple.
2024-09-07 16:39:31 +0200 <tomsmeding> that is indeed more readable :)
2024-09-07 16:39:39 +0200 <tomsmeding> (when split over a few lines)
2024-09-07 16:39:40 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
2024-09-07 16:40:51 +0200 <constxd> yeah i was mostly looking for a golfed version, but that is definitely the version i'd put in my actual code
2024-09-07 16:45:36 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-09-07 16:49:51 +0200 <mreh> tomsmeding: it was a weird one where I was composing runContextT, switching for `$` fixed it
2024-09-07 16:50:01 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 16:54:54 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-09-07 17:00:05 +0200oneeyedalien(~oneeyedal@user/oneeyedalien) (Ping timeout: 248 seconds)
2024-09-07 17:01:57 +0200 <Leary> mreh: Without ImpredicativeTypes, the tyvars of `(.)` cannot be instantiated polymorphically; it won't do `(.) @(forall os. ...) f g`, so you get `forall os. (.) @(...) f g` instead. `($)` has magic ghc hax.
2024-09-07 17:05:47 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 17:06:47 +0200alexherbo2(~alexherbo@2a02-8440-310c-7e00-c55c-4fb4-8e88-b7ad.rev.sfr.net) (Remote host closed the connection)
2024-09-07 17:07:06 +0200alexherbo2(~alexherbo@2a02-8440-310c-7e00-c55c-4fb4-8e88-b7ad.rev.sfr.net)
2024-09-07 17:10:26 +0200 <mreh> Leary: okay, some bedtime reading required I think, thanks
2024-09-07 17:11:03 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-09-07 17:20:48 +0200petrichor(~znc-user@user/petrichor) (Ping timeout: 245 seconds)
2024-09-07 17:21:35 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 17:22:04 +0200machinedgod(~machinedg@d50-99-47-73.abhsia.telus.net)
2024-09-07 17:22:45 +0200mreh(~matthew@host86-160-168-12.range86-160.btcentralplus.com) (Ping timeout: 276 seconds)
2024-09-07 17:26:37 +0200 <tomsmeding> Leary: ($) _had_ magic ghc hax. Does it still, with quicklook?
2024-09-07 17:26:37 +0200 <c_wraith> :t \ys -> partsOf (traverse . filtered isNothing) .~ ys -- constxd how about lens silliness?
2024-09-07 17:26:38 +0200 <lambdabot> Traversable t => [Maybe a] -> t (Maybe a) -> t (Maybe a)
2024-09-07 17:27:10 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
2024-09-07 17:30:59 +0200 <dolio> The hack might be reduced to quicklook always happening for ($), if it isn't always on anyway.
2024-09-07 17:34:03 +0200 <tomsmeding> hm, seems dolio might be right; this compiles starting with 9.2: https://play.haskell.org/saved/7OJs7g7m
2024-09-07 17:34:14 +0200 <tomsmeding> if you remove the -XImpredicativeTypes, it doesn't compile with any GHC
2024-09-07 17:36:32 +0200 <geekosaur> yes, tht's right
2024-09-07 17:37:23 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 17:38:34 +0200spew(~spew@201.141.99.170)
2024-09-07 17:42:44 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-09-07 17:43:05 +0200 <mauke> `f do x` always works :-)
2024-09-07 17:46:47 +0200srazkvt(~sarah@user/srazkvt) (Quit: Konversation terminated!)
2024-09-07 17:48:29 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2024-09-07 17:53:10 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 18:00:24 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-09-07 18:08:29 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-09-07 18:10:36 +0200alexherbo2(~alexherbo@2a02-8440-310c-7e00-c55c-4fb4-8e88-b7ad.rev.sfr.net) (Remote host closed the connection)
2024-09-07 18:10:38 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2024-09-07 18:11:25 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 18:16:42 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-09-07 18:32:11 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net)
2024-09-07 18:34:15 +0200Smiles(uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-09-07 18:35:06 +0200srazkvt(~sarah@user/srazkvt)
2024-09-07 18:37:06 +0200 <raehik> I have a function `fillBuffer :: Ptr Word8 -> Int -> IO ()`. If I pack the pointer and its size into an unboxed tuple `type Buffer = (# Ptr Word8, Int #)`, can I expect pretty much the same code to be generated?
2024-09-07 18:37:26 +0200Smiles(uid551636@id-551636.lymington.irccloud.com)
2024-09-07 18:37:40 +0200simendsjo(~user@84.211.91.108)
2024-09-07 18:37:53 +0200 <raehik> context: I'm doing low-level data wrangling and am not happy with how C-like some parts look
2024-09-07 18:38:17 +0200 <EvanR> you might even first try a normal tuple
2024-09-07 18:38:30 +0200 <EvanR> and see what ghc does with it
2024-09-07 18:39:11 +0200 <raehik> EvanR: Yeah I know I could try regular boxed data. this code would ideally be consistently performant though
2024-09-07 18:39:44 +0200 <raehik> wouldn't want an unlucky optimization pass to slow down a loop
2024-09-07 18:39:55 +0200 <EvanR> since there's only 1 compiler, just seeing what ghc does basically guarantees it does that for anybody
2024-09-07 18:40:03 +0200 <EvanR> the behavior isn't random
2024-09-07 18:40:42 +0200 <mauke> https://well-typed.com/blog/2024/08/ghc-activities-report-june-august-2024/#object-determinism
2024-09-07 18:40:57 +0200 <raehik> I had been assuming if callbacks & inlining got involved, generated code is not as straightforward
2024-09-07 18:41:09 +0200 <EvanR> ok sometimes it's random lol
2024-09-07 18:42:46 +0200JuanDaugherty(~juan@user/JuanDaugherty)
2024-09-07 18:42:59 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 18:44:35 +0200 <raehik> I'll have to give it a go and compare Core at some point then. put off my ptr work because it started getting silly
2024-09-07 18:45:30 +0200weary-traveler(~user@user/user363627)
2024-09-07 18:47:49 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-09-07 18:49:51 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-09-07 18:58:46 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 19:02:25 +0200rncwnd(~quassel@2a01:4f8:221:27c6::1) (Quit: Later)
2024-09-07 19:03:03 +0200rncwnd(~quassel@2a01:4f8:221:27c6::1)
2024-09-07 19:03:43 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds)
2024-09-07 19:08:08 +0200 <monochrom> With Ptr, you cannot avoid C-like code.
2024-09-07 19:08:49 +0200 <monochrom> But I bet "Ptr Word8 -> Int ->" and "(# Ptr Word8, Int #) ->" will be similar at the low level.
2024-09-07 19:08:49 +0200misterfish(~misterfis@178.225.234.155)
2024-09-07 19:18:00 +0200athan(~athan@syn-098-153-145-140.biz.spectrum.com)
2024-09-07 19:18:39 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-09-07 19:21:35 +0200oneeyedalien(~oneeyedal@user/oneeyedalien)
2024-09-07 19:24:35 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 255 seconds)
2024-09-07 19:27:22 +0200qhong(~qhong@DN160vrd000d6k3g00000000009p.stanford.edu)
2024-09-07 19:30:20 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 19:30:28 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-09-07 19:33:35 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2024-09-07 19:35:19 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-09-07 19:35:51 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 19:37:14 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2024-09-07 19:38:21 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-09-07 19:38:47 +0200oneeyedalien(~oneeyedal@user/oneeyedalien) (Quit: Leaving)
2024-09-07 19:40:15 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2024-09-07 19:40:24 +0200Square(~Square@user/square)
2024-09-07 19:42:37 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-09-07 19:43:38 +0200JuanDaugherty(~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
2024-09-07 19:49:20 +0200machinedgod(~machinedg@d50-99-47-73.abhsia.telus.net) (Ping timeout: 255 seconds)
2024-09-07 19:50:24 +0200dsrt^(~dsrt@c-98-242-74-66.hsd1.ga.comcast.net) (Remote host closed the connection)
2024-09-07 19:55:44 +0200benjaminl(~benjaminl@user/benjaminl) (Ping timeout: 260 seconds)
2024-09-07 19:55:57 +0200benjaminl(~benjaminl@user/benjaminl)
2024-09-07 20:00:16 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-09-07 20:01:09 +0200euleritian(~euleritia@dynamic-176-006-133-190.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-09-07 20:01:27 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-09-07 20:03:38 +0200mreh(~matthew@host86-160-168-12.range86-160.btcentralplus.com)
2024-09-07 20:09:24 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 20:13:40 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-09-07 20:15:49 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-09-07 20:19:44 +0200rvalue-(~rvalue@user/rvalue)
2024-09-07 20:20:28 +0200rvalue(~rvalue@user/rvalue) (Ping timeout: 252 seconds)
2024-09-07 20:26:30 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 20:27:38 +0200rvalue-rvalue
2024-09-07 20:31:44 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-09-07 20:31:58 +0200alexherbo2(~alexherbo@178.13.23.93.rev.sfr.net)
2024-09-07 20:33:44 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-09-07 20:34:18 +0200dpren_(uid175126@id-175126.helmsley.irccloud.com)
2024-09-07 20:34:55 +0200misterfish(~misterfis@178.225.234.155) (Ping timeout: 264 seconds)
2024-09-07 20:39:30 +0200 <dpren_> Is there anyone free this weekend who I could pay $100 for an hour of pairing to help me fix the build on a personal project?
2024-09-07 20:39:30 +0200 <dpren_> I think I made the mistake of using haskell-stack back when... probably want to transition to good ol cabal. I use mac M1 but also have a linux machine.
2024-09-07 20:39:30 +0200 <dpren_> https://github.com/dpren/pitch-extractor
2024-09-07 20:42:17 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 20:42:50 +0200mreh(~matthew@host86-160-168-12.range86-160.btcentralplus.com) (Ping timeout: 252 seconds)
2024-09-07 20:47:14 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-09-07 20:49:36 +0200Natch(~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se)
2024-09-07 20:50:19 +0200 <haskellbridge> <thirdofmay18081814goya> what would be a formal way to state: system F cannot model universal quantification?
2024-09-07 20:51:58 +0200 <EvanR> isn't that what the forall symbol is
2024-09-07 20:54:13 +0200 <monochrom> System F can model universal quantification. :)
2024-09-07 20:54:57 +0200 <haskellbridge> <thirdofmay18081814goya> hm i thought you needed dependent types and the dependent sum?
2024-09-07 20:55:21 +0200 <monochrom> No.
2024-09-07 20:55:31 +0200 <haskellbridge> <thirdofmay18081814goya> i mean dependent product
2024-09-07 20:55:44 +0200 <monochrom> Still no.
2024-09-07 20:55:47 +0200 <haskellbridge> <thirdofmay18081814goya> dependent sum is for existential quantification
2024-09-07 20:56:22 +0200 <haskellbridge> <thirdofmay18081814goya> monochrom: hm what then would be forall intro and forall elim?
2024-09-07 20:56:43 +0200 <monochrom> Type abstraction and type application.
2024-09-07 20:57:23 +0200 <dolio> Universal quantificatiaon over what?
2024-09-07 20:57:39 +0200 <EvanR> everything obviously
2024-09-07 20:57:42 +0200 <EvanR> it's universal
2024-09-07 20:58:03 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 20:58:15 +0200 <monochrom> <joke>The universal quantification that quantifies over all universal quantifications</joke>
2024-09-07 20:58:25 +0200 <haskellbridge> <thirdofmay18081814goya> monochrom: don't those correspond to implication intro and elim?
2024-09-07 20:58:47 +0200 <monochrom> That would be term abstraction and term application.
2024-09-07 20:58:58 +0200 <haskellbridge> <thirdofmay18081814goya> dolio: uh, suppose just true/false
2024-09-07 20:59:05 +0200 <haskellbridge> <thirdofmay18081814goya> and propositions on them
2024-09-07 21:00:25 +0200simendsjo(~user@84.211.91.108) (Ping timeout: 265 seconds)
2024-09-07 21:00:39 +0200 <dolio> If you have just two cases, then universal quantification is ∧ and existential is ∨.
2024-09-07 21:02:02 +0200 <haskellbridge> <thirdofmay18081814goya> dolio: hm i'll think about this thanks
2024-09-07 21:02:42 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-09-07 21:05:47 +0200hgolden_(~hgolden@23.162.40.110)
2024-09-07 21:06:15 +0200 <haskellbridge> <thirdofmay18081814goya> dolio: what is the definition of universal quantification from which we could conclude this?
2024-09-07 21:06:40 +0200 <dolio> P false ∧ P true. That's all your cases, right?
2024-09-07 21:06:43 +0200Alleria(~Alleria@user/alleria) (Ping timeout: 264 seconds)
2024-09-07 21:07:00 +0200 <haskellbridge> <thirdofmay18081814goya> yeah
2024-09-07 21:08:39 +0200hgolden__(~hgolden@23.162.40.69) (Ping timeout: 260 seconds)
2024-09-07 21:13:50 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 21:15:34 +0200 <haskellbridge> <thirdofmay18081814goya> right ok
2024-09-07 21:17:10 +0200Natch(~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) (Ping timeout: 244 seconds)
2024-09-07 21:18:40 +0200Natch(~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se)
2024-09-07 21:20:14 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
2024-09-07 21:22:01 +0200neuroevolutus(~neuroevol@37.19.200.135)
2024-09-07 21:30:44 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 21:30:56 +0200Spawns_Carpeting(~mobile@user/spawns-carpeting/x-6969421) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
2024-09-07 21:32:25 +0200Spawns_Carpeting(~mobile@user/spawns-carpeting/x-6969421)
2024-09-07 21:34:01 +0200ash3en(~Thunderbi@2a01:c23:8d00:4c00:b6d6:b186:b213:6e89)
2024-09-07 21:34:03 +0200misterfish(~misterfis@84.53.85.146)
2024-09-07 21:34:08 +0200 <tomsmeding> dpren_: https://github.com/dpren/pitch-extractor/pull/5
2024-09-07 21:34:12 +0200 <tomsmeding> "it compiles"
2024-09-07 21:34:16 +0200 <tomsmeding> 0 more testing :p
2024-09-07 21:34:25 +0200 <tomsmeding> 'cabal build' works with 9.4.7
2024-09-07 21:36:15 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-09-07 21:36:45 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 21:39:13 +0200 <dpren_> <tomsmeding>: bless your heart. I'll give it a go. Does my hardware matter as long as I'm on 9.4.7?
2024-09-07 21:39:22 +0200 <tomsmeding> I don't think so?
2024-09-07 21:41:43 +0200 <dpren_> ok, we'll see. Apple silicon can be a wrench in the machine.
2024-09-07 21:41:54 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-09-07 21:41:59 +0200 <tomsmeding> it can be, but support has improved lately
2024-09-07 21:42:13 +0200 <tomsmeding> I think 9.4 is already good, you can always try 9.6 or later
2024-09-07 21:42:13 +0200 <dpren_> right
2024-09-07 21:42:51 +0200 <tomsmeding> that system-filepath package is deprecated and I even had to remove some of the references to it (not sure what 'turtle' did in the past)
2024-09-07 21:43:08 +0200 <tomsmeding> it may be worth removing that package from your dependencies altogether, or replacing it with 'filepath' which apparently replaces it
2024-09-07 21:43:17 +0200 <tomsmeding> but I'd first test if things work at all :p
2024-09-07 21:43:43 +0200 <tomsmeding> also, Turtle.FilePath is just Prelude.FilePath
2024-09-07 21:44:25 +0200neuroevolutus(~neuroevol@37.19.200.135) (Ping timeout: 256 seconds)
2024-09-07 21:46:22 +0200Goodbye_Vincent(cyvahl@freakshells.net) (Remote host closed the connection)
2024-09-07 21:46:53 +0200 <dpren_> >re:Turtle. yeah that was Gabriella439's library for attempting typed shell work. It was intriguing to me at the time as a learning project, but probably a bloated dep at this point maybe.
2024-09-07 21:47:03 +0200Goodbye_Vincent1(cyvahl@freakshells.net)
2024-09-07 21:47:24 +0200petrichor(~znc-user@user/petrichor)
2024-09-07 21:47:50 +0200 <geekosaur> still useful for typed shell work if you're doing a lot of shell-like stuff, otherwise maybe typed-process is worth a look?
2024-09-07 21:51:04 +0200 <dpren_> cool
2024-09-07 21:52:34 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 21:53:11 +0200 <haskellbridge> <thirdofmay18081814goya> monochrom: if we quantify over naturals then this isn't enough right?
2024-09-07 21:53:12 +0200 <dpren_> bleh this GHCup stuff in new...
2024-09-07 21:53:12 +0200 <dpren_> "Do you want to enable better integration of stack with GHCup?
2024-09-07 21:53:12 +0200 <dpren_> This means that stack won't install its own GHC versions, but uses GHCup's."
2024-09-07 21:53:13 +0200 <dpren_> which should I go for? y/n
2024-09-07 21:53:25 +0200 <tomsmeding> dpren_: you don't need to install stack at all
2024-09-07 21:53:34 +0200 <tomsmeding> but if you install stack, either is, I guess, fine
2024-09-07 21:53:35 +0200 <geekosaur> do it. stack installing its own ghcs is deprecated AIUI
2024-09-07 21:53:40 +0200 <tomsmeding> oh is it?
2024-09-07 21:53:45 +0200 <tomsmeding> that went quickly
2024-09-07 21:53:52 +0200 <tomsmeding> cool!
2024-09-07 21:54:11 +0200 <geekosaur> maintaining their own ghc distros is a lot of duplicated work
2024-09-07 21:54:24 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2024-09-07 21:54:35 +0200 <geekosaur> since ghcup already does it, the recommendation is to use ghcup's
2024-09-07 21:54:41 +0200 <tomsmeding> that's fair
2024-09-07 21:56:01 +0200 <dpren_> so to be clear, hit "yes"? (I have stack 2.15.3 installed.)
2024-09-07 21:56:06 +0200 <tomsmeding> yep
2024-09-07 21:56:07 +0200 <geekosaur> yes
2024-09-07 21:56:56 +0200 <tomsmeding> dpren_: my ghcup tells me that the latest stack is 3.1.1, not sure why it gave you an older one (but not much older, the v3 series is quite new)
2024-09-07 21:57:37 +0200ash3en(~Thunderbi@2a01:c23:8d00:4c00:b6d6:b186:b213:6e89) (Quit: ash3en)
2024-09-07 21:57:56 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-09-07 21:58:23 +0200 <dpren_> its from the last time I attempted this, not up to date. I should probably upgrade no
2024-09-07 21:58:44 +0200 <tomsmeding> ghcup makes it easy, so why not :)
2024-09-07 21:59:13 +0200 <geekosaur> I would, especially since ghcup marks the most recent stack as recommended
2024-09-07 21:59:34 +0200 <dpren_> i keep reading it as "cup", it's clearly "up" lol. I think I will learn to like this tool.
2024-09-07 21:59:45 +0200 <tomsmeding> you're not the only one :p
2024-09-07 21:59:59 +0200ash3en(~Thunderbi@2a01:c23:8d00:4c00:b6d6:b186:b213:6e89)
2024-09-07 22:00:00 +0200 <geekosaur> there will be a few changes, for example it refers to what used to be called "resolvers" as "snapshots"
2024-09-07 22:00:35 +0200 <monochrom> Oh, when a unix book explained "uucp stands for Unix-to-Unix CoPy" I wonder "what is co py?"
2024-09-07 22:00:45 +0200CiaoSen(~Jura@2a05:5800:459:6700:ca4b:d6ff:fec1:99da)
2024-09-07 22:01:15 +0200 <geekosaur> but you never wondered this about "cp"?
2024-09-07 22:01:35 +0200 <monochrom> No, because no one ever explained "cp stands for CoPy". :)
2024-09-07 22:02:10 +0200 <tomsmeding> this is why it's better to underline the acronymed letters if the context allows that :p
2024-09-07 22:02:45 +0200 <tomsmeding> unix-to-unix copy
2024-09-07 22:02:59 +0200spew(~spew@201.141.99.170) (Ping timeout: 255 seconds)
2024-09-07 22:03:29 +0200misterfish(~misterfis@84.53.85.146) (Ping timeout: 260 seconds)
2024-09-07 22:03:50 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2024-09-07 22:04:14 +0200petrichor(~znc-user@user/petrichor) (Ping timeout: 252 seconds)
2024-09-07 22:04:20 +0200 <monochrom> There was also a kid on youtube who mis-split "tracert" into "tracer t". https://www.youtube.com/watch?v=SXmv8quf_xM
2024-09-07 22:04:56 +0200 <monochrom> <joke>Haskell debugging tip: If you make a debugging monad transformer, you can call it TracerT</joke>
2024-09-07 22:05:15 +0200Fijxu_(~Fijxu@user/fijxu) (Quit: XD!!)
2024-09-07 22:07:05 +0200 <tomsmeding> bonus points if it calls backtraces "traceroutes"
2024-09-07 22:07:38 +0200athan(~athan@syn-098-153-145-140.biz.spectrum.com) (Quit: Konversation terminated!)
2024-09-07 22:08:21 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 22:08:27 +0200 <dpren_> you folks are awesome and hilarious, I'm remembering why I picked Haskell.
2024-09-07 22:08:54 +0200Fijxu(~Fijxu@user/fijxu)
2024-09-07 22:09:22 +0200 <tomsmeding> welcome back :)
2024-09-07 22:09:52 +0200ash3en(~Thunderbi@2a01:c23:8d00:4c00:b6d6:b186:b213:6e89) (Quit: ash3en)
2024-09-07 22:13:18 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2024-09-07 22:17:19 +0200 <dpren_> how do I upgrade stack with ghcup?
2024-09-07 22:18:02 +0200 <dpren_> oh nvm, it already did it for me
2024-09-07 22:18:19 +0200 <geekosaur> ghcup install stack latest
2024-09-07 22:18:25 +0200 <geekosaur> or use ghcup tui
2024-09-07 22:20:00 +0200 <dpren_> whoa tui is so cool, regardless
2024-09-07 22:20:48 +0200 <mauke> I wish ghcup tui would clear the screen when switching between alternates
2024-09-07 22:22:27 +0200 <dpren_> hm yeah, ig you get what you get with CLI GUIs.
2024-09-07 22:23:08 +0200 <dpren_> more of a vector guy myself
2024-09-07 22:24:08 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 22:26:03 +0200alexherbo2(~alexherbo@178.13.23.93.rev.sfr.net) (Remote host closed the connection)
2024-09-07 22:26:45 +0200 <dpren_> I feel dumb for asking but what are the commands for compiling and running my particular app?
2024-09-07 22:26:45 +0200 <dpren_> @<tomsmeding>
2024-09-07 22:26:45 +0200 <lambdabot> Unknown command, try @list
2024-09-07 22:29:16 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
2024-09-07 22:29:42 +0200 <dpren_> tomsmeding
2024-09-07 22:30:27 +0200 <haskellbridge> <Bowuigi> @pf \x y -> x
2024-09-07 22:31:26 +0200 <haskellbridge> <Bowuigi> I wonder which algorithm does lambdabot use for the pointfree converter
2024-09-07 22:32:42 +0200 <haskellbridge> <Bowuigi> @pl \x y -> x
2024-09-07 22:33:53 +0200infinity0(~infinity0@pwned.gg) (Ping timeout: 248 seconds)
2024-09-07 22:34:00 +0200 <geekosaur> the program / library it uses is on hackage
2024-09-07 22:34:01 +0200alexherbo2(~alexherbo@2a02-8440-3114-792e-ddff-112f-809e-f52d.rev.sfr.net)
2024-09-07 22:34:20 +0200 <geekosaur> @hackage pointfree
2024-09-07 22:34:20 +0200 <lambdabot> https://hackage.haskell.org/package/pointfree
2024-09-07 22:34:40 +0200spenat(~spenat@c-1125235c.012-6-62726f1.bbcust.telenor.se) (Ping timeout: 252 seconds)
2024-09-07 22:35:54 +0200 <haskellbridge> <Bowuigi> Thanks
2024-09-07 22:36:16 +0200 <EvanR> dpren_, cabal commands?
2024-09-07 22:36:38 +0200misterfish(~misterfis@84.53.85.146)
2024-09-07 22:36:42 +0200 <EvanR> if you're using stack, check the stack docs
2024-09-07 22:37:37 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-09-07 22:37:48 +0200 <dpren_> nah I got it with `stack build`. Just personal bugs from here.
2024-09-07 22:39:56 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 22:40:31 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-09-07 22:41:30 +0200spenat(~spenat@c-1125235c.012-6-62726f1.bbcust.telenor.se)
2024-09-07 22:41:49 +0200misterfish(~misterfis@84.53.85.146) (Ping timeout: 260 seconds)
2024-09-07 22:42:54 +0200weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-09-07 22:44:46 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-09-07 22:50:30 +0200Sgeo(~Sgeo@user/sgeo)
2024-09-07 22:54:40 +0200infinity0(~infinity0@pwned.gg)
2024-09-07 22:55:43 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 23:01:24 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-09-07 23:01:39 +0200SquareSquared
2024-09-07 23:03:09 +0200ash3en(~Thunderbi@p200300e7b71f94a141d1a48e69d98e7c.dip0.t-ipconnect.de)
2024-09-07 23:04:15 +0200Smiles(uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-09-07 23:04:28 +0200ash3en(~Thunderbi@p200300e7b71f94a141d1a48e69d98e7c.dip0.t-ipconnect.de) (Client Quit)
2024-09-07 23:05:19 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
2024-09-07 23:08:18 +0200hgolden_(~hgolden@23.162.40.110) (Ping timeout: 245 seconds)
2024-09-07 23:11:11 +0200 <haskellbridge> <sm> dpren_: haskell has been fine on apple silicon for quite a while.. don't let it run in x64 mode (can happen if you have an old x64 brew setup eg)
2024-09-07 23:11:30 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 23:12:46 +0200 <EvanR> what mode should it run in?
2024-09-07 23:13:07 +0200 <haskellbridge> <sm> native arm binaries are what you want
2024-09-07 23:13:27 +0200 <haskellbridge> <sm> Activity Monitor is one way to check, if there's a doubt
2024-09-07 23:13:59 +0200 <haskellbridge> <sm> if brew is using /opt/homebrew, that's the good arm one
2024-09-07 23:16:37 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-09-07 23:20:21 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-09-07 23:25:06 +0200michalz(~michalz@185.246.207.203) (Remote host closed the connection)
2024-09-07 23:26:05 +0200takuan_dozo(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2024-09-07 23:27:20 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 23:28:19 +0200JuanDaugherty(~juan@user/JuanDaugherty)
2024-09-07 23:32:00 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-09-07 23:34:51 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 260 seconds)
2024-09-07 23:35:39 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2024-09-07 23:38:40 +0200neuroevolutus(~neuroevol@37.19.200.135)
2024-09-07 23:43:04 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl)
2024-09-07 23:48:53 +0200srazkvt(~sarah@user/srazkvt) (Quit: Konversation terminated!)
2024-09-07 23:51:15 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2024-09-07 23:53:08 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)