Home liberachat/#haskell: Logs Calendar

Logs on 2025-08-29 (liberachat/#haskell)

00:01:07 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
00:03:08 × ttybitnik quits (~ttybitnik@user/wolper) (Quit: Fading out...)
00:08:35 jreicher joins (~user@user/jreicher)
00:08:39 × karenw quits (~karenw@user/karenw) (Ping timeout: 260 seconds)
00:10:41 × Googulator quits (~Googulato@2a01-036d-0106-28ad-d14e-68ce-c41e-4464.pool6.digikabel.hu) (Quit: Client closed)
00:10:59 Googulator joins (~Googulato@2a01-036d-0106-28ad-d14e-68ce-c41e-4464.pool6.digikabel.hu)
00:11:51 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:13:19 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 260 seconds)
00:16:48 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
00:17:08 × trickard quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
00:17:22 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
00:17:24 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
00:25:20 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
00:27:38 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:27:53 arandombit joins (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6)
00:27:53 × arandombit quits (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) (Changing host)
00:27:53 arandombit joins (~arandombi@user/arandombit)
00:32:33 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
00:38:24 × davidlbowman quits (~dlb@user/davidlbowman) (Ping timeout: 260 seconds)
00:40:18 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 256 seconds)
00:43:05 Lycurgus joins (~juan@user/Lycurgus)
00:43:26 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:45:35 × Square3 quits (~Square4@user/square) (Ping timeout: 258 seconds)
00:48:19 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
00:53:59 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Quit: peterbecich)
00:54:16 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
00:58:44 L29Ah joins (~L29Ah@wikipedia/L29Ah)
00:59:13 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:02:46 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
01:06:23 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
01:06:57 × xff0x quits (~xff0x@2405:6580:b080:900:b44c:4dd6:a7f0:d125) (Ping timeout: 248 seconds)
01:07:22 × haskellbridge quits (~hackager@syn-096-028-224-214.res.spectrum.com) (Remote host closed the connection)
01:08:20 haskellbridge joins (~hackager@syn-096-028-224-214.res.spectrum.com)
01:08:20 ChanServ sets mode +v haskellbridge
01:10:15 × jmct quits (sid160793@id-160793.tinside.irccloud.com) (Server closed connection)
01:10:23 jmct joins (sid160793@id-160793.tinside.irccloud.com)
01:16:54 × itaipu quits (~itaipu@168.121.97.28) (Ping timeout: 260 seconds)
01:17:16 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:18:39 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
01:19:13 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 248 seconds)
01:19:30 × cherryramatisdev quits (~cherryram@user/cherryramatisdev) (Quit: WeeChat 4.7.1)
01:19:36 trickard_ is now known as trickard
01:20:42 × ThePenguin quits (~ThePengui@cust-95-80-28-221.csbnet.se) (Remote host closed the connection)
01:20:55 ThePenguin joins (~ThePengui@cust-95-80-28-221.csbnet.se)
01:22:09 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
01:22:25 × cyphase quits (~cyphase@user/cyphase) (Ping timeout: 245 seconds)
01:23:18 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 260 seconds)
01:30:46 itaipu joins (~itaipu@168.121.97.28)
01:33:03 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:37:53 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
01:40:01 × itaipu quits (~itaipu@168.121.97.28) (Ping timeout: 258 seconds)
01:41:11 cyphase joins (~cyphase@user/cyphase)
01:42:09 × vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 248 seconds)
01:43:15 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:43:52 vanishingideal joins (~vanishing@user/vanishingideal)
01:48:24 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
01:52:50 itaipu joins (~itaipu@168.121.97.28)
01:59:03 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:04:01 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
02:06:41 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
02:11:09 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
02:12:36 xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
02:14:49 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:19:19 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
02:26:30 iamsleepy joins (~weechat@static.89.129.21.65.clients.your-server.de)
02:27:31 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:29:37 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 248 seconds)
02:32:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
02:36:22 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
02:40:55 arandombit joins (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032)
02:40:55 × arandombit quits (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032) (Changing host)
02:40:55 arandombit joins (~arandombi@user/arandombit)
02:43:22 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:45:18 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
02:46:09 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
02:46:09 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 260 seconds)
02:48:15 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
02:49:18 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
02:56:51 arandombit joins (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032)
02:56:51 × arandombit quits (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032) (Changing host)
02:56:51 arandombit joins (~arandombi@user/arandombit)
02:57:29 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
02:59:06 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:01:10 × marinelli quits (~weechat@gateway/tor-sasl/marinelli) (Remote host closed the connection)
03:01:50 marinelli joins (~weechat@gateway/tor-sasl/marinelli)
03:01:53 × iamsleepy quits (~weechat@static.89.129.21.65.clients.your-server.de) (Changing host)
03:01:53 iamsleepy joins (~weechat@user/iamsleepy)
03:03:58 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
03:14:55 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:16:44 scysta joins (~tiara@152.173.218.186)
03:19:59 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
03:20:09 weary-traveler joins (~user@user/user363627)
03:24:13 × SoF quits (~skius@user/skius) (Ping timeout: 255 seconds)
03:28:12 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
03:30:25 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 248 seconds)
03:30:42 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:31:56 aforemny joins (~aforemny@i59F4C7D6.versanet.de)
03:32:12 SoF joins (~skius@user/skius)
03:32:18 × aforemny_ quits (~aforemny@2001:9e8:6ce1:6300:21a5:3c39:3acb:d09f) (Ping timeout: 256 seconds)
03:35:19 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Quit: Leaving)
03:36:56 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 258 seconds)
03:37:21 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
03:43:33 GdeVolpiano joins (~GdeVolpia@user/GdeVolpiano)
03:44:16 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:47:49 arandombit joins (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032)
03:47:49 × arandombit quits (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032) (Changing host)
03:47:49 arandombit joins (~arandombi@user/arandombit)
03:49:07 × scysta quits (~tiara@152.173.218.186) (Remote host closed the connection)
03:49:09 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
03:52:39 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 260 seconds)
04:00:03 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:00:29 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
04:01:24 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
04:03:05 arandombit joins (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032)
04:03:05 × arandombit quits (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032) (Changing host)
04:03:05 arandombit joins (~arandombi@user/arandombit)
04:04:53 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
04:10:49 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
04:15:51 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:16:58 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
04:18:25 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 248 seconds)
04:21:01 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
04:21:14 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
04:28:58 arandombit joins (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032)
04:28:58 × arandombit quits (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032) (Changing host)
04:28:58 arandombit joins (~arandombi@user/arandombit)
04:31:38 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:34:23 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
04:34:23 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
04:36:58 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
04:42:14 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 260 seconds)
04:43:24 × rekahsoft quits (~rekahsoft@bras-base-orllon1103w-grc-15-174-95-4-83.dsl.bell.ca) (Remote host closed the connection)
04:45:17 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:45:46 × constxd quits (~constxd@user/constxd) (Server closed connection)
04:46:36 constxd joins (~constxd@user/constxd)
04:47:21 rekahsoft joins (~rekahsoft@bras-base-orllon1103w-grc-15-174-95-4-83.dsl.bell.ca)
04:50:23 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
04:51:01 × rekahsoft quits (~rekahsoft@bras-base-orllon1103w-grc-15-174-95-4-83.dsl.bell.ca) (Remote host closed the connection)
04:59:39 arandombit joins (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032)
04:59:39 × arandombit quits (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032) (Changing host)
04:59:39 arandombit joins (~arandombi@user/arandombit)
05:01:03 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:02:02 amadaluzia joins (~amadaluzi@user/amadaluzia)
05:07:54 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
05:18:19 michalz joins (~michalz@185.246.207.197)
05:19:06 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:19:17 biberu joins (~biberu@user/biberu)
05:24:01 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
05:27:13 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 248 seconds)
05:29:03 takuan joins (~takuan@d8D86B9E9.access.telenet.be)
05:33:15 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
05:34:53 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:36:48 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
05:36:49 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 248 seconds)
05:36:56 omnifunctor parts (~omnifunct@user/semifunctor) (Leaving)
05:39:43 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
05:39:58 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
05:40:49 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
05:46:15 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:48:55 arandombit joins (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032)
05:48:55 × arandombit quits (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032) (Changing host)
05:48:55 arandombit joins (~arandombi@user/arandombit)
05:49:02 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
05:51:04 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
05:53:24 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 260 seconds)
06:00:54 arandombit joins (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032)
06:00:54 × arandombit quits (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032) (Changing host)
06:00:55 arandombit joins (~arandombi@user/arandombit)
06:02:00 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:05:12 chele joins (~chele@user/chele)
06:06:59 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
06:07:12 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
06:11:29 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
06:17:47 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:19:30 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
06:20:57 × ft quits (~ft@p4fc2a25a.dip0.t-ipconnect.de) (Quit: leaving)
06:22:09 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
06:26:34 mm_x_ joins (~mm@user/mm-x-:64963)
06:27:51 × mm_x_ quits (~mm@user/mm-x-:64963) (Client Quit)
06:28:42 × sclv quits (sid39734@haskell/developer/sclv) (Server closed connection)
06:28:57 sclv joins (sid39734@haskell/developer/sclv)
06:33:11 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:34:25 × haritz quits (~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
06:38:19 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
06:38:21 × edwardk quits (sid47016@haskell/developer/edwardk) (Server closed connection)
06:38:32 edwardk joins (sid47016@haskell/developer/edwardk)
06:39:45 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
06:47:15 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:47:22 × jmcantrell_ quits (~weechat@user/jmcantrell) (Quit: WeeChat 4.7.0)
06:47:45 × amadaluzia quits (~amadaluzi@user/amadaluzia) (Quit: ZNC 1.9.1 - https://znc.in)
06:48:39 tromp joins (~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b)
06:49:00 jmcantrell_ joins (~weechat@user/jmcantrell)
06:54:04 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
06:55:49 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 260 seconds)
06:56:24 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
06:57:39 × Putonlalla quits (~Putonlall@it-cyan.it.jyu.fi) (Server closed connection)
06:58:08 Putonlalla joins (~Putonlall@it-cyan.it.jyu.fi)
06:59:18 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
07:00:00 × caconym747 quits (~caconym@user/caconym) (Quit: bye)
07:00:40 caconym747 joins (~caconym@user/caconym)
07:01:31 × Googulator quits (~Googulato@2a01-036d-0106-28ad-d14e-68ce-c41e-4464.pool6.digikabel.hu) (Ping timeout: 250 seconds)
07:01:54 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
07:02:19 × pandeyan quits (~pandeyan@23-93-125-220.fiber.dynamic.sonic.net) (Ping timeout: 248 seconds)
07:05:18 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:05:44 × jmcantrell_ quits (~weechat@user/jmcantrell) (Ping timeout: 260 seconds)
07:08:12 arandombit joins (~arandombi@user/arandombit)
07:10:27 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
07:21:07 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:21:29 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
07:26:09 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
07:29:55 anpad joins (~pandeyan@user/anpad)
07:36:51 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:41:54 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
07:48:15 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:50:34 internatetional joins (~nate@2001:448a:20a3:c2e5:263d:9954:d25c:a29b)
07:51:54 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
07:53:23 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
07:53:31 × TMA quits (tma@twin.jikos.cz) (Ping timeout: 248 seconds)
07:55:28 TMA joins (tma@twin.jikos.cz)
07:56:01 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 248 seconds)
08:03:20 fp joins (~Thunderbi@wireless-86-50-141-108.open.aalto.fi)
08:04:03 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
08:08:17 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
08:08:20 × zarakshR quits (~Thunderbi@0542a05a.skybroadband.com) (Ping timeout: 258 seconds)
08:08:49 × internatetional quits (~nate@2001:448a:20a3:c2e5:263d:9954:d25c:a29b) (Ping timeout: 248 seconds)
08:10:06 zarakshR joins (~Thunderbi@0542a05a.skybroadband.com)
08:11:24 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
08:11:29 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 248 seconds)
08:15:16 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
08:20:13 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
08:22:39 arandombit joins (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032)
08:22:39 × arandombit quits (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032) (Changing host)
08:22:39 arandombit joins (~arandombi@user/arandombit)
08:27:24 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 260 seconds)
08:27:33 × tromp quits (~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b) (Quit: My iMac has gone to sleep. ZZZzzz…)
08:27:43 × Adran quits (~adran@botters/adran) (Server closed connection)
08:29:02 × fp quits (~Thunderbi@wireless-86-50-141-108.open.aalto.fi) (Ping timeout: 258 seconds)
08:31:03 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
08:33:49 × trickard quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Ping timeout: 260 seconds)
08:36:57 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
08:37:28 × zarakshR quits (~Thunderbi@0542a05a.skybroadband.com) (Ping timeout: 258 seconds)
08:37:54 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
08:39:05 Adran joins (~adran@botters/adran)
08:39:45 <Leary> What would cause an otherwise flat heap profile to have big spikes attributed to `STACK` and `BLACKHOLE` in `-hT` and `SYSTEM` in `-hc`/`-hr`?
08:49:06 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
08:51:40 fp joins (~Thunderbi@wireless-86-50-141-108.open.aalto.fi)
08:52:15 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
08:54:09 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
08:55:35 trickard_ is now known as trickard
09:01:34 <jreicher> If you have lots of blackholes it's because you have lots of new thunk evaluations, and the creation of the new thunks alone would cause spikes on the heap profile
09:01:36 Lycurgus joins (~juan@user/Lycurgus)
09:04:28 arandombit joins (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032)
09:04:28 × arandombit quits (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032) (Changing host)
09:04:28 arandombit joins (~arandombi@user/arandombit)
09:04:55 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
09:07:41 zarakshR joins (~Thunderbi@0542a05a.skybroadband.com)
09:09:59 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
09:13:29 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
09:17:30 × tinjamin47 quits (~tinjamin@banshee.h4x0r.space) (Quit: The Lounge - https://thelounge.chat)
09:18:35 tinjamin477 joins (~tinjamin@banshee.h4x0r.space)
09:20:06 × zarakshR quits (~Thunderbi@0542a05a.skybroadband.com) (Remote host closed the connection)
09:20:19 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
09:20:23 zarakshR joins (~Thunderbi@0542a05a.skybroadband.com)
09:20:41 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
09:24:34 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
09:24:37 × zarakshR quits (~Thunderbi@0542a05a.skybroadband.com) (Ping timeout: 258 seconds)
09:25:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
09:36:30 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
09:38:56 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
09:41:29 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
09:41:42 × apache2 quits (apache2@anubis.0x90.dk) (Server closed connection)
09:41:51 apache2 joins (apache2@anubis.0x90.dk)
09:45:16 × chele quits (~chele@user/chele) (Remote host closed the connection)
09:45:21 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 248 seconds)
09:49:45 × tzh_ quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
09:50:06 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
09:50:09 tromp joins (~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b)
09:54:19 × xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 260 seconds)
09:55:17 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
09:55:30 Square2 joins (~Square@user/square)
09:55:31 Square3 joins (~Square4@user/square)
09:56:38 <Leary> jreicher: Thanks. A couple of `SPECIALISE` pragmata and some extra strictness shrank the spikes down pretty well.
10:05:37 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 248 seconds)
10:05:53 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
10:10:28 zarakshR joins (~Thunderbi@0542a05a.skybroadband.com)
10:11:11 <sajenim> what's a good into to haskell/functional programming book?
10:11:29 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
10:13:07 __monty__ joins (~toonn@user/toonn)
10:13:38 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
10:15:54 × Square3 quits (~Square4@user/square) (Ping timeout: 260 seconds)
10:17:54 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 258 seconds)
10:19:54 trickard__ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
10:20:34 × trickard quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Ping timeout: 260 seconds)
10:20:35 trickard__ is now known as trickard
10:23:26 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
10:24:10 <haskellbridge> <sm> what's your background, what style do you like sajenim ?
10:28:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
10:35:38 <[exa]> sajenim: the good choices usually vary a lot depending on what you already know (mostly, what programming languages you did before)
10:35:59 × nshepperd quits (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) (Server closed connection)
10:36:17 nshepperd joins (nshepperd@2600:3c03::f03c:92ff:fe28:92c9)
10:36:39 × mcfrdy quits (~mcfrdy@user/mcfrdy) (Quit: quit)
10:37:33 <chromoblob> sajenim: mine was "Learn you a Haskell for great good", it worked for me
10:37:42 arandombit joins (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032)
10:37:42 × arandombit quits (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032) (Changing host)
10:37:43 arandombit joins (~arandombi@user/arandombit)
10:39:16 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
10:42:44 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 260 seconds)
10:42:53 <haskellbridge> <sm> https://www.extrema.is/articles/haskell-books > beginner has a list; there's no comprehensive review of all of them. https://joyful.com/Haskell+minimap has some other book-like things.
10:43:54 × zarakshR quits (~Thunderbi@0542a05a.skybroadband.com) (Ping timeout: 260 seconds)
10:44:00 Googulator joins (~Googulato@81.183.235.203)
10:44:07 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
10:45:37 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
10:48:24 arandombit joins (~arandombi@user/arandombit)
10:51:08 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
10:51:30 × marinelli quits (~weechat@gateway/tor-sasl/marinelli) (Remote host closed the connection)
10:52:28 ars23 joins (~user@user/ars23)
10:52:33 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 248 seconds)
10:53:36 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
10:55:45 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
10:57:54 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
10:58:08 ars23 parts (~user@user/ars23) (ERC 5.6.0.30.1 (IRC client for GNU Emacs 30.1))
10:58:32 haritz joins (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8)
10:58:33 × haritz quits (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host)
10:58:33 haritz joins (~hrtz@user/haritz)
11:06:35 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 258 seconds)
11:06:53 hjj123 joins (~hjj123@178.155.116.235)
11:06:53 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
11:07:16 ljdarj joins (~Thunderbi@user/ljdarj)
11:07:24 chromoblob joins (~chromoblo@user/chromob1ot1c)
11:07:32 arandombit joins (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032)
11:07:32 × arandombit quits (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032) (Changing host)
11:07:32 arandombit joins (~arandombi@user/arandombit)
11:07:55 × hjj123 quits (~hjj123@178.155.116.235) (Client Quit)
11:08:04 hjj123 joins (~hjj123@178.155.116.235)
11:08:33 × Zowlyfon quits (sid346067@user/Zowlyfon) (Server closed connection)
11:08:44 Zowlyfon joins (sid346067@user/Zowlyfon)
11:11:54 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
11:13:32 × hjj123 quits (~hjj123@178.155.116.235) (Quit: Client closed)
11:13:52 hjj123 joins (~hjj123@178.155.116.235)
11:14:33 hjj123 is now known as NaTuRal
11:18:27 × tromp quits (~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b) (Quit: My iMac has gone to sleep. ZZZzzz…)
11:21:00 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
11:22:41 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
11:25:42 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
11:26:41 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 248 seconds)
11:27:03 Lord_of_Life_ is now known as Lord_of_Life
11:27:51 × tritlo quits (sid58727@id-58727.hampstead.irccloud.com) (Server closed connection)
11:28:01 tritlo joins (sid58727@id-58727.hampstead.irccloud.com)
11:29:35 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
11:29:35 tredecime joins (~textual@2a10:3781:4826:1:ddec:2626:afe1:ae36)
11:30:26 ft joins (~ft@p4fc2a25a.dip0.t-ipconnect.de)
11:31:06 × tredecime quits (~textual@2a10:3781:4826:1:ddec:2626:afe1:ae36) (Client Quit)
11:36:48 tromp joins (~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b)
11:40:43 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
11:41:19 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
11:43:13 Kiran joins (~Kiran@183.83.155.215)
11:43:58 × Kiran quits (~Kiran@183.83.155.215) (Client Quit)
11:44:29 theluckiestsoul joins (~theluckie@183.83.155.215)
11:44:33 davidlbowman joins (~dlb@user/davidlbowman)
11:45:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
11:52:06 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
11:52:42 × trickard quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
11:52:49 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 248 seconds)
11:52:55 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
11:57:05 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
11:57:57 × itaipu quits (~itaipu@168.121.97.28) (Ping timeout: 258 seconds)
12:07:43 × NaTuRal quits (~hjj123@178.155.116.235) (Quit: Client closed)
12:07:54 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
12:08:58 × theluckiestsoul quits (~theluckie@183.83.155.215) (Quit: Client closed)
12:09:04 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 260 seconds)
12:12:24 Guest43 joins (~Guest43@147.161.138.83)
12:13:09 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
12:18:21 itaipu joins (~itaipu@168.121.97.28)
12:18:57 × trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Ping timeout: 248 seconds)
12:19:12 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
12:20:16 xff0x joins (~xff0x@2405:6580:b080:900:cd2b:541b:f532:66b1)
12:23:41 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
12:24:17 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 248 seconds)
12:26:48 × trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
12:28:54 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
12:29:34 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
12:35:08 × tromp quits (~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b) (Quit: My iMac has gone to sleep. ZZZzzz…)
12:37:02 Googulator43 joins (~Googulato@81.183.235.203)
12:38:42 × ouilemur quits (~jgmerritt@user/ouilemur) (Quit: WeeChat 4.7.0)
12:39:23 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
12:39:29 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
12:40:23 × Googulator quits (~Googulato@81.183.235.203) (Ping timeout: 250 seconds)
12:44:39 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
12:46:58 tromp joins (~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b)
12:47:42 arandombit joins (~arandombi@user/arandombit)
12:49:57 × davidlbowman quits (~dlb@user/davidlbowman) (Quit: WeeChat 4.1.1)
12:51:54 tbahne joins (~tbahne@user/tbahne)
12:52:33 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 248 seconds)
12:53:06 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
12:54:41 ttybitnik joins (~ttybitnik@user/wolper)
12:55:07 × Googulator43 quits (~Googulato@81.183.235.203) (Ping timeout: 250 seconds)
12:57:31 × Franciman quits (~Franciman@mx1.fracta.dev) (Server closed connection)
12:57:45 Franciman joins (~Franciman@mx1.fracta.dev)
13:00:01 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
13:08:44 × trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
13:08:58 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
13:10:14 trickard_ is now known as trickard
13:11:09 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
13:14:59 × trickard quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Ping timeout: 260 seconds)
13:16:09 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
13:19:07 trickard joins (~trickard@cpe-53-98-47-163.wireline.com.au)
13:21:17 arandombit joins (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032)
13:21:18 × arandombit quits (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032) (Changing host)
13:21:18 arandombit joins (~arandombi@user/arandombit)
13:26:04 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 260 seconds)
13:26:35 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
13:26:56 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
13:31:53 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
13:32:24 ouilemur joins (~jgmerritt@user/ouilemur)
13:35:23 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 260 seconds)
13:37:47 chromoblob joins (~chromoblo@user/chromob1ot1c)
13:39:06 arandombit joins (~arandombi@user/arandombit)
13:41:14 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
13:42:43 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
13:44:17 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 248 seconds)
13:44:22 gmg joins (~user@user/gehmehgeh)
13:47:35 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
13:54:06 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
13:57:25 amadaluzia joins (~amadaluzi@user/amadaluzia)
13:59:13 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
14:06:35 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
14:07:02 × tbahne quits (~tbahne@user/tbahne) (Remote host closed the connection)
14:08:04 Googulator43 joins (~Googulato@81.183.235.203)
14:09:53 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
14:10:57 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 248 seconds)
14:12:17 GdeVolpi1 joins (~GdeVolpia@user/GdeVolpiano)
14:12:36 × GdeVolpiano quits (~GdeVolpia@user/GdeVolpiano) (Read error: Connection reset by peer)
14:14:41 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
14:20:28 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
14:23:00 × mange quits (~mange@user/mange) (Quit: Zzz...)
14:23:47 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
14:25:33 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
14:28:32 × trickard quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
14:28:47 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
14:29:35 × Googulator43 quits (~Googulato@81.183.235.203) (Ping timeout: 250 seconds)
14:34:43 Sgeo joins (~Sgeo@user/sgeo)
14:36:03 × fp quits (~Thunderbi@wireless-86-50-141-108.open.aalto.fi) (Ping timeout: 260 seconds)
14:36:16 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
14:37:28 arandombit joins (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032)
14:37:28 × arandombit quits (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032) (Changing host)
14:37:28 arandombit joins (~arandombi@user/arandombit)
14:43:04 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 260 seconds)
14:43:04 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
14:44:22 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
14:44:25 pavonia joins (~user@user/siracusa)
14:45:59 × Square2 quits (~Square@user/square) (Ping timeout: 260 seconds)
14:50:39 arandombit joins (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032)
14:50:39 × arandombit quits (~arandombi@2603:7000:4600:ffbe:5c85:5ea1:d11b:5032) (Changing host)
14:50:39 arandombit joins (~arandombi@user/arandombit)
14:53:05 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
14:57:19 antti_ joins (~antti@user/anttih-:66400)
14:58:03 × bramh quits (~bramh@user/bramh) (Quit: Ping timeout (120 seconds))
14:58:18 bramh joins (~bramh@user/bramh)
15:00:33 × jreicher quits (~user@user/jreicher) (Ping timeout: 260 seconds)
15:00:46 jreicher joins (~user@user/jreicher)
15:03:04 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.5.2)
15:03:22 × tomsmeding quits (~tomsmedin@user/tomsmeding) (Server closed connection)
15:03:40 tomsmeding joins (~tomsmedin@user/tomsmeding)
15:04:12 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
15:04:53 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
15:09:18 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
15:12:39 × Guest43 quits (~Guest43@147.161.138.83) (Quit: Client closed)
15:12:51 × biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer)
15:15:43 ljdarj joins (~Thunderbi@user/ljdarj)
15:20:00 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
15:25:07 × trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
15:25:19 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
15:26:08 × poscat quits (~poscat@user/poscat) (Remote host closed the connection)
15:26:52 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
15:29:05 poscat joins (~poscat@user/poscat)
15:31:21 × ttybitnik quits (~ttybitnik@user/wolper) (Remote host closed the connection)
15:34:27 × priime quits (~priime@2a01:4ff:f0:7ccc::1) (Quit: The Lounge - https://thelounge.chat)
15:37:33 priime joins (~priime@2a01:4ff:f0:7ccc::1)
15:38:02 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
15:41:07 trickard_ is now known as trickard
15:43:08 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
15:50:51 cherryramatisdev joins (~cherryram@user/cherryramatisdev)
15:53:50 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
15:58:41 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
16:05:01 × trickard quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
16:05:14 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
16:09:36 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
16:10:25 × rvalue quits (~rvalue@about/hackers/rvalue) (Ping timeout: 248 seconds)
16:14:39 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
16:15:55 × tromp quits (~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:16:02 lightspell joins (~lightspel@50.218.25.218)
16:24:42 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
16:25:24 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
16:30:30 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
16:33:40 × divlamir quits (~divlamir@user/divlamir) (Read error: Connection reset by peer)
16:34:05 divlamir joins (~divlamir@user/divlamir)
16:41:12 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
16:41:35 Lycurgus joins (~juan@user/Lycurgus)
16:42:47 tromp joins (~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b)
16:46:08 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
16:46:18 × yaroot quits (~yaroot@p3747022-ipxg13101souka.saitama.ocn.ne.jp) (Server closed connection)
16:46:32 yaroot joins (~yaroot@2400:4052:ac0:d901:1cf4:2aff:fe51:c04c)
16:48:17 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds)
16:50:39 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
16:54:58 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
17:05:23 rvalue joins (~rvalue@about/hackers/rvalue)
17:05:57 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
17:09:29 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
17:12:40 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
17:23:24 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
17:23:58 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
17:28:09 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
17:28:46 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
17:31:03 × cherryramatisdev quits (~cherryram@user/cherryramatisdev) (Ping timeout: 260 seconds)
17:32:22 cherryramatisdev joins (~cherryram@user/cherryramatisdev)
17:34:45 jmcantrell_ joins (~weechat@user/jmcantrell)
17:37:02 hjj123 joins (~hjj123@178.155.116.235)
17:38:39 × cherryramatisdev quits (~cherryram@user/cherryramatisdev) (Ping timeout: 260 seconds)
17:39:45 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
17:44:46 cherryramatisdev joins (~cherryram@user/cherryramatisdev)
17:45:03 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
17:45:15 target_i joins (~target_i@user/target-i/x-6023099)
17:51:06 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
17:56:09 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
17:56:46 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
18:02:33 × hjj123 quits (~hjj123@178.155.116.235) (Quit: Client closed)
18:03:37 × jmcantrell_ quits (~weechat@user/jmcantrell) (Quit: WeeChat 4.7.1)
18:05:41 jmcantrell_ joins (~weechat@user/jmcantrell)
18:05:41 jmcantrell_ is now known as jmcantrell
18:06:55 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
18:12:05 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
18:15:51 × ouilemur quits (~jgmerritt@user/ouilemur) (Quit: WeeChat 4.7.1)
18:17:10 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
18:17:24 <lightspell> I was on here yesterday asking about getting a StateT wrapped around a StatefulGen working. I've fixed my connection issues and I've tried to understand the suggestion from @absence. I think I need to declare my GameState type something like this: `type GameState a = (StatefulGen g m) => StateT Game (m g) a`. However, that and a number of other variations I've tried all lead to different errors.
18:17:37 <lightspell> Here's the updated code: https://play.haskell.org/saved/bhdquoHn
18:19:33 <lightspell> `g` and `m` are not in scope, so I tried `type GameState g m a = (StatefulGen g m) => StateT Game (m g) a` and `type GameState g m a = (StatefulGen g m) => StateT Game m a` but neither of them worked either. I'd like to actually understand what I'm doing wrong, instead of just randomly trying different variations to see if it works.
18:22:42 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
18:23:03 ouilemur joins (~jgmerritt@user/ouilemur)
18:25:59 <lightspell> I thought I could make it more concrete with `type GameState a = StateT Game (State StdGen) a`, but then I get "Couldn't match type ‘m’ with ‘State StdGen’"
18:27:29 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
18:31:32 <lightspell> Hm, this seems the closest to working: `type GameState g m a = (StatefulGen g m) => StateT Game (State g) a`. Here's what that looks like: https://play.haskell.org/saved/JPa8opVe
18:33:00 <lightspell> But that still doesn't work, and then every function has to have a type signature like `getPlayer :: (StatefulGen g m) => PlayerId -> GameState g m Player`, which seems like it's not right.
18:34:18 zarakshR joins (~Thunderbi@0542a05a.skybroadband.com)
18:38:29 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
18:41:38 × cherryramatisdev quits (~cherryram@user/cherryramatisdev) (Ping timeout: 260 seconds)
18:43:31 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
18:44:52 × trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
18:44:55 × ames quits (~amelia@offtopia/offtopian/amelia) (Server closed connection)
18:45:05 ames joins (~amelia@offtopia/offtopian/amelia)
18:45:06 trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au)
18:45:23 sprotte24 joins (~sprotte24@p200300d16f05a9000cb0d4b3f4edd851.dip0.t-ipconnect.de)
18:45:52 × vetkat quits (~vetkat@user/vetkat) (Read error: Connection reset by peer)
18:46:12 vetkat joins (~vetkat@user/vetkat)
18:50:51 sw4n joins (~sw4n@2605:59c0:413f:3110:e59f:e0ff:6b6e:883b)
18:52:09 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
18:54:31 emperori joins (~emperori@223.187.118.137)
18:58:57 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
19:00:03 × caconym747 quits (~caconym@user/caconym) (Quit: bye)
19:00:43 caconym747 joins (~caconym@user/caconym)
19:02:00 × sw4n quits (~sw4n@2605:59c0:413f:3110:e59f:e0ff:6b6e:883b) (Quit: sw4n)
19:02:16 sw4n joins (~sw4n@2605:59c0:413f:3110:e59f:e0ff:6b6e:883b)
19:03:04 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 258 seconds)
19:03:44 × emperori quits (~emperori@223.187.118.137) (Read error: Connection reset by peer)
19:07:50 Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
19:10:12 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:14:44 <tomsmeding> lightspell: is there a reason you don't want the random state in your Game state?
19:15:20 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
19:17:30 <tomsmeding> lightspell: isn't your problem that neither StateT nor State is an instance of StatefulGen
19:17:44 <tomsmeding> then you can declare constraints as much as you like, but if the instance isn't there, it isn't there
19:20:42 × tjbc quits (~tjbc@user/fliife) (Server closed connection)
19:21:00 tjbc joins (~tjbc@user/fliife)
19:21:23 <tomsmeding> lightspell: do you need the monad to be polymorphic in the generator type?
19:24:55 <EvanR> explicitly including RNG state in the game state lets you replay a game without recording every step
19:25:13 <EvanR> the history of the game is generated from the game state and the user's inputs
19:25:59 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:26:31 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
19:28:19 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 260 seconds)
19:30:57 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
19:33:41 <tomsmeding> lightspell: okay the StatefulGen API works like this: there is a monad (m) and a handle type (g); the functions for generating random values take a handle and run in the monad, and the monad (m) is responsible for storing the actual random generator data
19:34:07 <tomsmeding> if you want to make your game monad polymorphic over both g and m, you're making your life difficult
19:34:22 <lightspell> There's no particular reason not to include the random state in the game state. I just didn't know how to do that. I'm struggling to understand the System.Random docks.
19:34:43 <lightspell> *docs
19:34:45 <tomsmeding> are you fine with a non-polymorphic solution?
19:36:36 <lightspell> Yes, non-polymorphic would be fine. I'm just trying to figure out how all this fits together. I thought from reading the docs that I could use StatefulGen in such a way to make the random number generator update itself in a State monad as it's used, so I wouldn't have to do it manually. Everything else is just my failing to understand how to do that.
19:37:25 <EvanR> just using the stdlib RNG normally would be a good starting point
19:37:32 <EvanR> before using some weird library
19:37:37 <tomsmeding> EvanR: this _is_ the stdlib rng
19:37:42 <tomsmeding> it's System.Random.Stateful
19:37:43 <EvanR> StatefulGen ?
19:37:45 <tomsmeding> I've never liked the API
19:37:49 <lightspell> yeah, fair enough
19:37:54 <EvanR> never heard of it
19:37:58 <tomsmeding> https://hackage-content.haskell.org/package/random-1.3.1/docs/System-Random-Stateful.html#t:StatefulGen
19:38:45 <tomsmeding> the requirement for the MonadState constraint on the `StatefulGen (StateGenM g) m` instance is a bother
19:38:50 <EvanR> random :: RandomGen g => g -> (a, g)
19:39:01 <EvanR> I guess this is "non-stateful" xD
19:39:14 <tomsmeding> yes, the idea of the stateful API is that the random generator is stored in a state monad
19:39:14 fp joins (~Thunderbi@89-27-10-140.bb.dnainternet.fi)
19:39:17 <tomsmeding> and that handling is done for you
19:39:36 <tomsmeding> but the API is polymorphic over various kinds of state monads; it also allows an IORef in IO, for example
19:39:40 <tomsmeding> and that makes it cumbersome to work with
19:41:08 <lightspell> Yeah, that's exactly what I'm struggling with. I have no idea how to make it non-polymorphic, or how to store its state inside the Game type alongside the rest of the game state. Either approach would be fine.
19:41:12 <tomsmeding> damn and they don't even export all methods of StatefulGen from the public module so you can't make an optimally performing manual instance without importing Internal
19:41:15 <tomsmeding> that feels like a bug
19:41:48 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:42:07 <EvanR> smh
19:42:32 weary-traveler joins (~user@user/user363627)
19:43:44 <lightspell> If I just cared about getting the game working I'd just store a regular rng in the game state and manage it manually. But I'd like to figure out how to do it with monads because the whole point is to teach myself how all this works.
19:43:54 <lightspell> Everything you guys have said is already really helpful, thank you.
19:44:02 <tomsmeding> this StatefulGen API is kind of crappy
19:44:06 <tomsmeding> not a good example to learn from :p
19:44:18 × amadaluzia quits (~amadaluzi@user/amadaluzia) (Quit: ZNC 1.9.1 - https://znc.in)
19:44:18 <lightspell> Yeah I've been bouncing off it pretty hard.
19:44:40 <tomsmeding> I'll hack up what feels to me like the neatest way to use this API
19:44:43 cherryramatisdev joins (~cherryram@user/cherryramatisdev)
19:46:59 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
19:48:14 <lightspell> That would be amazing, thank you.
19:49:10 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
19:50:50 arandombit joins (~arandombi@2603:7000:4600:ffbe:ec4b:ec92:8e15:b25a)
19:50:50 × arandombit quits (~arandombi@2603:7000:4600:ffbe:ec4b:ec92:8e15:b25a) (Changing host)
19:50:50 arandombit joins (~arandombi@user/arandombit)
19:53:05 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Remote host closed the connection)
19:53:10 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:53:21 chromoblob joins (~chromoblo@user/chromob1ot1c)
19:53:48 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection timed out)
19:55:44 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 260 seconds)
19:58:16 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
19:58:52 × ZLima12 quits (~zlima12@user/meow/ZLima12) (Ping timeout: 256 seconds)
19:59:38 ZLima12 joins (~zlima12@user/meow/ZLima12)
20:06:12 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
20:07:41 × cherryramatisdev quits (~cherryram@user/cherryramatisdev) (Quit: WeeChat 4.7.1)
20:08:32 × fgarcia quits (~lei@user/fgarcia) (Quit: Remote host closed the connection)
20:08:57 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:11:07 × ZLima12 quits (~zlima12@user/meow/ZLima12) (Quit: No Ping reply in 180 seconds.)
20:12:16 ZLima12 joins (~zlima12@user/meow/ZLima12)
20:12:35 <tomsmeding> lightspell: https://play.haskell.org/saved/grshBtBn
20:12:37 <tomsmeding> blegh
20:12:40 <tomsmeding> it works though
20:13:48 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
20:14:07 <tomsmeding> I removed the Read derive for Game because StdGen doesn't implement Read; in general, Read was a nice idea back in 1998 but it's slow and not recommended these days
20:15:16 <tomsmeding> if you want hacky show/read working, you'll either need to implement Read for StdGen yourself, or split the data type in two parts, one of which is Read, the other of which has the StdGen
20:15:49 <tomsmeding> lightspell: also I cargo-culted the lens code in the StatefulGen instance; I know ~zero about lens
20:15:57 <tomsmeding> there is probably a way to do this more nicely
20:16:59 L29Ah joins (~L29Ah@wikipedia/L29Ah)
20:17:45 cherryramatisdev joins (~cherryram@user/cherryramatisdev)
20:19:30 <lightspell> This is amazing, thank you so much. I wouldn't have thought to make our own custom StatefulGen. I thought the whole point of a general library was that you could avoid doing that.
20:20:47 <lightspell> As I learn more, if I figure out a way to do it more nicely, I'll share it on here.
20:21:00 <monochrom> But then meta-ly the point of FOSS is that the users help make that happen rather than just voting for "someone else should do it".
20:21:57 <monochrom> (I did my tiny share. https://github.com/haskell/random/pull/183/commits/090f457125d33d8b7b0be4870cf089f344e6360d )
20:22:23 × cherryramatisdev quits (~cherryram@user/cherryramatisdev) (Client Quit)
20:24:31 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:26:12 arandombit joins (~arandombi@2603:7000:4600:ffbe:ec4b:ec92:8e15:b25a)
20:26:12 × arandombit quits (~arandombi@2603:7000:4600:ffbe:ec4b:ec92:8e15:b25a) (Changing host)
20:26:12 arandombit joins (~arandombi@user/arandombit)
20:26:43 × rvalue quits (~rvalue@about/hackers/rvalue) (Read error: Connection reset by peer)
20:27:09 rvalue joins (~rvalue@about/hackers/rvalue)
20:27:57 <monochrom> The general bridge required is likely of the form: If StatefulGen g m, and type r has a lens to g, then StatefulGen r m.
20:28:18 <monochrom> But I would not be happy if random depended on lens.
20:29:37 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
20:30:13 × michalz quits (~michalz@185.246.207.197) (Remote host closed the connection)
20:30:19 <monochrom> No no no.
20:30:38 <monochrom> The proper solution is to have a proper effect language! >:)
20:32:31 ljdarj1 joins (~Thunderbi@user/ljdarj)
20:35:29 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 248 seconds)
20:36:01 Googulator43 joins (~Googulato@2a01-036d-0106-28ad-f9f3-8649-eb89-633c.pool6.digikabel.hu)
20:36:01 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds)
20:36:01 ljdarj1 is now known as ljdarj
20:38:19 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
20:38:50 <tomsmeding> monochrom: even if you'd make random depend on lens, there's no way to write that instance
20:39:07 <tomsmeding> I guess you could introduce a special newtype for this and attach the instance to that
20:39:32 <tomsmeding> I guess that does work, yes
20:40:17 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:40:19 <tomsmeding> monochrom: no, that doesn't work, because the 'g' there is the _handle_ type, not the generator type that's being modified
20:41:09 <tomsmeding> to wit: if m ~ State StdGen, then g ~ StateGenM StdGen, and StateGenM is a data type with zero fields
20:41:19 <tomsmeding> because there is only one generator in 'State StdGen', so the handle is trivial
20:41:39 <tomsmeding> for m ~ IO, the handle is (a newtype over) an IORef
20:42:17 × poscat quits (~poscat@user/poscat) (Remote host closed the connection)
20:42:28 poscat joins (~poscat@user/poscat)
20:42:55 <tomsmeding> the haddocks make this even more confusing because they use "g" as a type variable name both for this handle (`StatefulGen g m`, where e.g. g ~ StateGenM StdGen) and for the underlying generator (`StateGenM g`, where e.g. g ~ StdGen)
20:42:56 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
20:43:37 <tomsmeding> the solution _is_, of course, to have a proper effect language indeed
20:47:03 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
20:47:14 <lightspell> I was reading about effects libraries but they were over my head for now. I figured I'd get this working with simpler methods first then try to refactor it with effects later as another exercise.
20:47:19 <lightspell> tomsmeding: That example you sent works in the Haskell playground with v9.10.2, but not with my local compiler with the same version. It suggested turning on MultiParamTypeClasses, which I did, but now I'm still getting this error "Couldn't match type ‘MutableGen f0 GameM’ with ‘()’ arising from a use of ‘System.Random.Internal.$dmuniformByteArrayM’ The type variable ‘f0’ is ambiguous"
20:47:36 <tomsmeding> lightspell: that remark about effect languages was mostly in jest, by both of us
20:48:07 <tomsmeding> lightspell: right, the MultiParamTypeClasses is because you're probably in a project with Haskell2010 set as the default language
20:48:16 <tomsmeding> the playground has ghc's default which is more
20:48:27 <lightspell> Ah, thank you. I figured it had to be a config difference of some kind.
20:48:28 <tomsmeding> the uniformByteArrayM is random-1.3
20:48:35 <tomsmeding> let me check
20:50:52 <tomsmeding> okay so for some inane reason the `random` maintainers decided that in adding the uniformByteArrayM method to StatefulGen, they wanted to _not_ expose this method from the public API
20:52:51 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
20:54:11 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:54:35 <monochrom> There is some chance that it's just forgetfulness. I speak from the anecdotal experience that last time it was newtype StateGen forgetting to say "deriving SplitGen". (Hence the one time I knew how to make a tiny PR heh.)
20:55:04 <tomsmeding> monochrom: it is not, they explicitly added an export list in the same commit https://github.com/haskell/random/commit/8267ce861aef525937e949e49496d0b39598d93f#diff-fe93ae678c398cfea72ff60186cc2cee27bd752aad99d8fd1ece059c912f0104R23-R41
20:57:07 <tomsmeding> lightspell: I _think_ you need to replace () by a custom data type (with zero fields, say `data GameRandomHandle = GameRandomHandle`), then write `instance FrozenGen StdGen GameM where { type MutableGen StdGen GameM = GameRandomHandle ; freezeGen _ = gets (^. randomGen) ; thawGen gen = modify (\s -> s & randomGen .~ gen) }`
20:57:17 <tomsmeding> but this is mentally type-checked, I did not run this through a compiler
20:59:19 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
21:01:20 ljdarj1 joins (~Thunderbi@user/ljdarj)
21:01:25 <monochrom> I am currently OK with: If I can't extend StatefulGen g m to StatefulGen (g,s) m, I can settle with StateT g (State s) or StateT s (State g). (Or the polymorphic MonadState this MonadTrans that version.)
21:02:09 <tomsmeding> yes you can do that, but with the first option your monad is not MonadState s, and with the second option your monad is not StatefulGen
21:02:13 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 260 seconds)
21:02:13 ljdarj1 is now known as ljdarj
21:02:27 <tomsmeding> I guess you can newtype-wrap your monad and write your own MonadState s instance
21:03:01 <tomsmeding> or you can lift the StatefulGen methods over the StateT s, with the second option
21:03:27 <tomsmeding> you can't be MonadState s and MonadState g at the same time because MonadState has a functional dependency on m -> s
21:03:48 <tomsmeding> all approaches are messy in _some_ way
21:04:01 <monochrom> I'm very prepared to write like either "lift get" or "lift (uniformRM (0,1) g)" actually. (I have low standards. :) )
21:04:03 <tomsmeding> it's true that maybe the one I chose is not the least messy
21:04:26 <tomsmeding> fair
21:04:28 <tomsmeding> lightspell: exercise :)
21:05:02 <monochrom> Well I'm bipolar. On prime numbered days I would be like "a real effect language already".
21:05:05 <tomsmeding> type GameM = StateT Game (State StdGen)
21:05:16 arandombit joins (~arandombi@2603:7000:4600:ffbe:ec4b:ec92:8e15:b25a)
21:05:16 × arandombit quits (~arandombi@2603:7000:4600:ffbe:ec4b:ec92:8e15:b25a) (Changing host)
21:05:16 arandombit joins (~arandombi@user/arandombit)
21:05:26 <tomsmeding> monochrom: does that mean that this becomes less common as you get older?
21:06:01 <monochrom> Yeah gotta give up and compromise.
21:07:25 <monochrom> What they say about "if you're 20 and you don't root for dependent typing / algebraic effects / linear types, you don't have a heart. If you're 50 and you still root for them, you don't have a grip." >:)
21:07:43 <tomsmeding> :)
21:08:15 <tomsmeding> I'm 27 and I'm not even sure if I'm "rooting for them"
21:08:18 <tomsmeding> they have their uses
21:08:53 <tomsmeding> sometimes I'd like some dependent types in my haskell code, but then if haskell gets actual proper dependent types, people will write _dependent_ code, and all will be hell
21:09:14 <tomsmeding> the amount of masochism required to do dependent programming in haskell today puts a natural limit on it
21:09:43 <geekosaur> you'd be surprised. there's an awful lot of "Hasochism" (`singletons`) out there
21:09:59 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:10:03 <tomsmeding> I write very hasochistic code, although with manual singletons, not with the package
21:10:23 <tomsmeding> doesn't mean that I think it's a good idea if everyone starts doing that
21:10:24 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 260 seconds)
21:10:59 <monochrom> I have the opposite opinion. Real dependent types in Haskell will be OK. Current horror is because using singletons to fake it.
21:11:28 <tomsmeding> then there will never be real dependent types in haskell, because the language was not designed for it and it will always be a retrofit
21:11:33 × fp quits (~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Ping timeout: 260 seconds)
21:11:35 <monochrom> OK OK type inference will be problematic with real dependent types. I concede.
21:11:54 <tomsmeding> not just that, I was mostly thinking about syntax
21:11:57 <tomsmeding> too much syntax has been stolen
21:12:37 <tomsmeding> I actually have more confidence in people figuring out a way to make code that infers now, still infer with the dependent features added -- as long as you don't use them
21:12:53 <monochrom> (I speak out of having tried Lean, on both counts. Apart from needing more type annotations, Lean dependent typing is OK.)
21:12:55 <tomsmeding> if you want proper dependent types in a language where they are at home, use agda or idris
21:13:03 <tomsmeding> I guess also lean, yes
21:14:56 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
21:15:54 <monochrom> Ooohhh I understand TypeInType now.
21:16:23 <monochrom> Lean doesn't have impredicativity because it can't do TypeInType. Haskell will do fine in this regard. Well, "fine". :)
21:17:27 <monochrom> (I have a soft spot for impredicativity because it helps System F cover all algebraic types for free.)
21:17:37 <monochrom> (It's so beautiful.)
21:24:28 <monochrom> Or to narrow down, nesting algebraic types, e.g., [Maybe X] --- If you encode Maybe X as "forall r. r -> (X -> r) -> r", then [Maybe X] because [forall r. ... that ...].
21:24:42 <monochrom> s/because/becomes/
21:25:46 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:26:09 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
21:31:02 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
21:31:48 × TMA quits (tma@twin.jikos.cz) (Ping timeout: 258 seconds)
21:35:57 arandombit joins (~arandombi@2603:7000:4600:ffbe:ec4b:ec92:8e15:b25a)
21:35:57 × arandombit quits (~arandombi@2603:7000:4600:ffbe:ec4b:ec92:8e15:b25a) (Changing host)
21:35:57 arandombit joins (~arandombi@user/arandombit)
21:37:00 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
21:37:09 <lightspell> tomsmeding: I switched to GHC2024, but it's still not working like it is on playground. I'm trying to get the instance FrozenGen you recommended working. I had to enable TypeFamilies, and for some reason on my machine I have to define `overwriteGen` even though on the playground it's `thawGen`. Here's what I did: https://play.haskell.org/saved/bO5hp2ha
21:37:40 × lightspell quits (~lightspel@50.218.25.218) (Quit: lightspell)
21:37:51 lightspell joins (~lightspel@50.218.25.218)
21:38:34 <lightspell> I'm curious why any of that was necesary even after switching to GHC0204. I would have thought the local version would work then.
21:41:19 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 260 seconds)
21:41:23 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 258 seconds)
21:41:55 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:42:50 × sw4n quits (~sw4n@2605:59c0:413f:3110:e59f:e0ff:6b6e:883b) (Ping timeout: 256 seconds)
21:45:59 Garbanzo joins (~Garbanzo@2602:304:6eac:dc10::49)
21:47:08 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
21:50:38 <lightspell> Huh. It actually works when I replace GameRandomHandle with (): https://play.haskell.org/saved/m78Qrr9Y
21:53:08 arandombit joins (~arandombi@2603:7000:4600:ffbe:ec4b:ec92:8e15:b25a)
21:53:08 × arandombit quits (~arandombi@2603:7000:4600:ffbe:ec4b:ec92:8e15:b25a) (Changing host)
21:53:08 arandombit joins (~arandombi@user/arandombit)
21:55:11 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:55:49 × tromp quits (~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:57:37 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 248 seconds)
22:00:33 × ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
22:00:34 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
22:01:05 ec joins (~ec@gateway/tor-sasl/ec)
22:01:33 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
22:02:01 TMA joins (tma@twin.jikos.cz)
22:02:06 ChaiTRex joins (~ChaiTRex@user/chaitrex)
22:02:27 sw4n joins (~sw4n@2605:59c0:413f:3110:e59f:e0ff:6b6e:883b)
22:05:49 × lightspell quits (~lightspel@50.218.25.218) (Ping timeout: 260 seconds)
22:06:18 lightspell joins (~lightspel@dhcp-143-103-27-110.gobrightspeed.net)
22:07:30 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
22:09:19 × sw4n quits (~sw4n@2605:59c0:413f:3110:e59f:e0ff:6b6e:883b) (Ping timeout: 260 seconds)
22:10:59 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:14:34 × TMA quits (tma@twin.jikos.cz) (Ping timeout: 260 seconds)
22:16:16 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
22:16:33 sw4n joins (~sw4n@2605:59c0:413f:3110:e59f:e0ff:6b6e:883b)
22:18:13 × takuan quits (~takuan@d8D86B9E9.access.telenet.be) (Remote host closed the connection)
22:19:05 trickard_ is now known as trickard
22:22:10 TMA joins (tma@twin.jikos.cz)
22:23:00 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:26:14 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
22:26:51 × zarakshR quits (~Thunderbi@0542a05a.skybroadband.com) (Quit: zarakshR)
22:27:01 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:27:11 zarakshR joins (~Thunderbi@0542a05a.skybroadband.com)
22:31:45 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
22:33:04 arandombit joins (~arandombi@2603:7000:4600:ffbe:ec4b:ec92:8e15:b25a)
22:33:04 × arandombit quits (~arandombi@2603:7000:4600:ffbe:ec4b:ec92:8e15:b25a) (Changing host)
22:33:04 arandombit joins (~arandombi@user/arandombit)
22:39:16 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
22:42:49 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:46:27 × sw4n quits (~sw4n@2605:59c0:413f:3110:e59f:e0ff:6b6e:883b) (Remote host closed the connection)
22:46:51 sw4n joins (~sw4n@2605:59c0:413f:3110:e59f:e0ff:6b6e:883b)
22:47:42 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
22:48:58 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 260 seconds)
22:51:19 × sw4n quits (~sw4n@2605:59c0:413f:3110:e59f:e0ff:6b6e:883b) (Ping timeout: 260 seconds)
22:54:44 sw4n joins (~sw4n@2605:59c0:413f:3110:e59f:e0ff:6b6e:883b)
22:55:10 ljdarj joins (~Thunderbi@user/ljdarj)
22:56:13 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:59:29 × sw4n quits (~sw4n@2605:59c0:413f:3110:e59f:e0ff:6b6e:883b) (Ping timeout: 248 seconds)
23:01:49 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
23:02:34 sw4n joins (~sw4n@2605:59c0:413f:3110:e59f:e0ff:6b6e:883b)
23:10:27 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
23:10:34 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
23:12:13 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:14:05 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Ping timeout: 256 seconds)
23:17:33 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
23:28:00 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:31:34 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
23:33:18 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
23:35:32 Square2 joins (~Square@user/square)
23:43:49 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:48:33 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
23:48:50 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
23:57:14 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:58:29 × sprotte24 quits (~sprotte24@p200300d16f05a9000cb0d4b3f4edd851.dip0.t-ipconnect.de) (Read error: Connection reset by peer)

All times are in UTC on 2025-08-29.