Home liberachat/#haskell: Logs Calendar

Logs on 2025-10-19 (liberachat/#haskell)

00:00:24 × takuan quits (~takuan@d8D86B9E9.access.telenet.be) (Remote host closed the connection)
00:02:11 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:06:57 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
00:11:23 Sgeo joins (~Sgeo@user/sgeo)
00:15:08 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:15:45 × Sgeo quits (~Sgeo@user/sgeo) (Ping timeout: 252 seconds)
00:16:13 × jrm quits (~jrm@user/jrm) (Quit: ciao)
00:17:32 jrm joins (~jrm@user/jrm)
00:17:37 Sgeo joins (~Sgeo@user/sgeo)
00:20:07 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
00:21:43 × Sgeo quits (~Sgeo@user/sgeo) (Ping timeout: 240 seconds)
00:25:23 Sgeo joins (~Sgeo@user/sgeo)
00:27:38 × acidjnk quits (~acidjnk@p200300d6e7171983a9099d024dfa47e6.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
00:29:43 × Sgeo quits (~Sgeo@user/sgeo) (Ping timeout: 240 seconds)
00:30:30 trickard__ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
00:30:56 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:31:49 × trickard quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Ping timeout: 264 seconds)
00:35:43 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
00:41:05 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
00:41:18 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
00:43:46 × comonad1 quits (~comonad@p200300d02711d0004b6eb519787385cb.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
00:43:59 × otto_s quits (~user@p5b044368.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
00:45:37 otto_s joins (~user@p4ff274f9.dip0.t-ipconnect.de)
00:45:52 comonad joins (~comonad@p4fe5232a.dip0.t-ipconnect.de)
00:46:43 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:49:43 × haltsolver quits (~cmo@2604:3d09:207f:8000::d1dc) (Ping timeout: 246 seconds)
00:50:06 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 272 seconds)
00:51:07 Sgeo joins (~Sgeo@user/sgeo)
00:53:14 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
00:55:19 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
00:58:57 Tuplanolla1 joins (~Tuplanoll@91-159-187-167.elisa-laajakaista.fi)
01:00:42 × Tuplanolla quits (~Tuplanoll@91-159-187-167.elisa-laajakaista.fi) (Ping timeout: 248 seconds)
01:04:47 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:09:19 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
01:13:47 × trickard__ quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
01:14:00 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
01:18:46 × trickard_ quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Ping timeout: 246 seconds)
01:20:10 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:20:39 synchromesh joins (~john@2406:5a00:2412:2c00:3da8:1103:8261:15b5)
01:23:14 Lycurgus joins (~juan@user/Lycurgus)
01:24:29 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
01:26:05 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
01:26:13 Sgeo_ joins (~Sgeo@user/sgeo)
01:26:19 synchrom1 joins (~john@2406:5a00:2412:2c00:3da8:1103:8261:15b5)
01:26:50 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
01:28:50 × synchromesh quits (~john@2406:5a00:2412:2c00:3da8:1103:8261:15b5) (Ping timeout: 244 seconds)
01:29:30 × ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
01:30:41 ec joins (~ec@gateway/tor-sasl/ec)
01:31:20 × Tuplanolla1 quits (~Tuplanoll@91-159-187-167.elisa-laajakaista.fi) (Quit: Leaving.)
01:32:18 simplystuart joins (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net)
01:34:12 × trickard_ quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
01:34:37 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
01:37:45 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:40:17 × mhatta quits (~mhatta@www21123ui.sakura.ne.jp) (Quit: ZNC 1.10.1+deb1 - https://znc.in)
01:42:50 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
01:43:18 mhatta joins (~mhatta@www21123ui.sakura.ne.jp)
01:53:33 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:54:51 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
01:58:18 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
01:58:54 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
01:59:37 trickard_ is now known as trickard
02:05:02 × op_4 quits (~tslil@user/op-4/x-9116473) (Remote host closed the connection)
02:05:37 op_4 joins (~tslil@user/op-4/x-9116473)
02:09:21 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:14:50 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
02:24:54 × trickard quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
02:25:08 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
02:25:38 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:32:07 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
02:32:47 × td_ quits (~td@i53870927.versanet.de) (Ping timeout: 256 seconds)
02:34:41 td_ joins (~td@i5387091E.versanet.de)
02:43:41 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:48:39 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
02:50:42 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
02:59:10 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:03:54 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
03:04:14 gorignak joins (~gorignak@user/gorignak)
03:14:58 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:19:49 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
03:30:07 × rvalue quits (~rvalue@about/hackers/rvalue) (Read error: Connection reset by peer)
03:30:34 rvalue joins (~rvalue@about/hackers/rvalue)
03:31:22 × trickard_ quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
03:31:35 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
03:37:23 × jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 256 seconds)
03:38:29 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:39:16 trickard_ is now known as trickard
03:43:22 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
03:54:16 aforemny_ joins (~aforemny@2001:9e8:6cea:8700:cf12:fc7b:8ca1:78b9)
03:54:17 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:55:03 × aforemny quits (~aforemny@i577B12DA.versanet.de) (Ping timeout: 244 seconds)
03:58:00 bggd joins (~bgg@2a01:e0a:819:1510:963d:289d:e22:6ba0)
03:59:22 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
04:06:06 jmcantrell joins (~weechat@user/jmcantrell)
04:06:49 delu019 joins (~delu019@173.28.58.189)
04:08:26 <delu019> test
04:09:07 × delu019 quits (~delu019@173.28.58.189) (Remote host closed the connection)
04:10:05 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:16:24 × ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
04:16:48 ec joins (~ec@gateway/tor-sasl/ec)
04:16:58 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
04:23:37 × trickard quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
04:23:50 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
04:23:58 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:28:42 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
04:28:57 × gustrb quits (~gustrb@191.243.134.87) (Ping timeout: 260 seconds)
04:29:31 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 256 seconds)
04:30:25 chromoblob joins (~chromoblo@user/chromob1ot1c)
04:34:21 gustrb joins (~gustrb@191.243.134.87)
04:39:46 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:44:32 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
04:50:42 inline joins (~inline@2a02:8071:57a1:1260:2d6f:54d1:d2c4:b9b2)
04:54:03 inline_ joins (~inline@2a02:8071:57a1:1260:d82c:6b3f:958f:cc66)
04:55:33 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:55:33 × inline quits (~inline@2a02:8071:57a1:1260:2d6f:54d1:d2c4:b9b2) (Killed (zinc.libera.chat (Nickname regained by services)))
04:55:33 inline_ is now known as Inline
05:00:39 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
05:02:25 × trickard_ quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Ping timeout: 246 seconds)
05:02:49 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
05:11:21 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:16:10 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
05:20:16 × driib318 quits (~driib@vmi931078.contaboserver.net) (Ping timeout: 246 seconds)
05:22:22 × bggd quits (~bgg@2a01:e0a:819:1510:963d:289d:e22:6ba0) (Quit: std::move)
05:24:57 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:29:36 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
05:29:43 craunts795335385 joins (~craunts@136.158.7.194)
05:34:32 × synchrom1 quits (~john@2406:5a00:2412:2c00:3da8:1103:8261:15b5) (Read error: Connection reset by peer)
05:36:00 synchromesh joins (~john@2406:5a00:2412:2c00:3da8:1103:8261:15b5)
05:40:47 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:47:29 trickard_ is now known as trickard
05:47:38 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
05:54:28 takuan joins (~takuan@d8D86B9E9.access.telenet.be)
05:58:47 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:59:37 × jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 256 seconds)
06:03:40 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
06:14:38 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:19:47 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
06:25:57 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:30:51 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
06:35:46 Lycurgus joins (~juan@user/Lycurgus)
06:41:42 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:45:14 × Square2 quits (~Square@user/square) (Ping timeout: 248 seconds)
06:46:01 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
06:49:13 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
06:50:53 × poscat0x04 quits (~poscat@user/poscat) (Remote host closed the connection)
06:51:08 poscat joins (~poscat@user/poscat)
06:57:06 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:59:38 × gustrb quits (~gustrb@191.243.134.87) (Ping timeout: 248 seconds)
07:00:01 × caconym7478798 quits (~caconym@user/caconym) (Quit: bye)
07:00:07 × tt12310978324354 quits (~tt1231@2603:6010:8700:4a81:a4f6:acff:fe95:3803) (Quit: The Lounge - https://thelounge.chat)
07:00:41 caconym7478798 joins (~caconym@user/caconym)
07:02:25 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
07:05:12 tt12310978324354 joins (~tt1231@2603:6010:8700:4a81:a4f6:acff:fe95:3803)
07:12:54 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:17:46 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
07:23:39 × infinity0 quits (~infinity0@pwned.gg) (Ping timeout: 252 seconds)
07:26:12 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
07:26:57 bggd joins (~bgg@2a01:e0a:819:1510:71a9:d225:b66f:12bd)
07:28:59 gustrb joins (~gustrb@191.243.134.87)
07:35:35 jreicher joins (~user@user/jreicher)
07:35:36 × annamalai quits (~annamalai@157.49.239.48) (Read error: Connection reset by peer)
07:50:38 driib318 joins (~driib@vmi931078.contaboserver.net)
07:54:17 × gustrb quits (~gustrb@191.243.134.87) (Ping timeout: 260 seconds)
08:03:36 Lycurgus joins (~juan@user/Lycurgus)
08:09:38 mreh joins (~matthew@host86-146-25-125.range86-146.btcentralplus.com)
08:09:39 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
08:13:29 × bggd quits (~bgg@2a01:e0a:819:1510:71a9:d225:b66f:12bd) (Remote host closed the connection)
08:19:45 acidjnk joins (~acidjnk@p200300d6e71719659d28c4899d9c5d95.dip0.t-ipconnect.de)
08:21:24 × Vajb quits (~Vajb@n7o35ytoa19a9fdq6h6-1.v6.elisa-mobile.fi) (Remote host closed the connection)
08:22:40 Vajb joins (~Vajb@n7o35ytoa19a9fdq6h6-1.v6.elisa-mobile.fi)
08:27:56 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
08:33:11 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
08:33:27 × Hobbyboy quits (Hobbyboy@hobbyboy.co.uk) (Quit: The BNC has broken!)
08:35:07 Hobbyboy joins (Hobbyboy@hobbyboy.co.uk)
08:43:45 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
08:49:13 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
08:53:19 ljdarj joins (~Thunderbi@user/ljdarj)
08:58:33 fp joins (~Thunderbi@89-27-10-140.bb.dnainternet.fi)
08:59:33 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
09:04:32 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
09:07:00 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Read error: Connection reset by peer)
09:07:11 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
09:07:22 Tuplanolla joins (~Tuplanoll@91-159-187-167.elisa-laajakaista.fi)
09:15:20 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
09:16:55 AlexNoo_ joins (~AlexNoo@85.174.182.163)
09:18:50 × AlexZenon quits (~alzenon@85.174.180.124) (Ping timeout: 248 seconds)
09:20:37 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
09:20:47 × AlexNoo quits (~AlexNoo@85.174.180.124) (Ping timeout: 256 seconds)
09:21:07 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
09:22:17 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
09:22:44 × trickard quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
09:22:57 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
09:24:00 AlexZenon joins (~alzenon@85.174.182.163)
09:27:16 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 244 seconds)
09:27:38 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
09:28:57 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
09:29:32 bggd joins (~bgg@2a01:e0a:819:1510:71a9:d225:b66f:12bd)
09:35:20 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
09:42:13 × nurupo quits (~nurupo.ga@user/nurupo) (Quit: nurupo.ga)
09:44:17 nurupo joins (~nurupo.ga@user/nurupo)
09:44:57 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
09:47:00 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
09:51:33 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
09:52:13 × YuutaW quits (~YuutaW@alice.yuuta.moe) (Quit: ZNC 1.10.1 - https://znc.in)
09:53:18 annamalai joins (~annamalai@157.49.239.48)
09:58:07 fp1 joins (~Thunderbi@2001-14ba-6e24-3000--190.rev.dnainternet.fi)
09:58:47 × fp quits (~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Ping timeout: 244 seconds)
09:58:47 fp1 is now known as fp
10:01:32 × trickard_ quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
10:01:46 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
10:02:36 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
10:02:37 × GdeVolpiano quits (~GdeVolpia@user/GdeVolpiano) (Ping timeout: 260 seconds)
10:02:46 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
10:03:11 inline_ joins (~inline@2a02:8071:57a1:1260:d82c:6b3f:958f:cc66)
10:03:24 GdeVolpiano joins (~GdeVolpia@user/GdeVolpiano)
10:05:21 × Inline quits (~inline@2a02:8071:57a1:1260:d82c:6b3f:958f:cc66) (Ping timeout: 252 seconds)
10:07:49 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
10:07:52 × inline_ quits (~inline@2a02:8071:57a1:1260:d82c:6b3f:958f:cc66) (Ping timeout: 260 seconds)
10:10:40 × trickard_ quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
10:11:57 × fp quits (~Thunderbi@2001-14ba-6e24-3000--190.rev.dnainternet.fi) (Ping timeout: 252 seconds)
10:12:45 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
10:15:01 × Sgeo_ quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
10:16:33 YuutaW joins (~YuutaW@infornography.yta.moe)
10:18:36 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
10:21:15 × YuutaW quits (~YuutaW@infornography.yta.moe) (Client Quit)
10:22:09 YuutaW joins (~YuutaW@infornography.yta.moe)
10:23:22 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
10:23:22 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 246 seconds)
10:24:17 chromoblob joins (~chromoblo@user/chromob1ot1c)
10:25:12 SlackCoder joins (~SlackCode@208.26.91.234)
10:25:15 trickard_ is now known as trickard
10:27:09 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
10:28:14 × wbrawner quits (~wbrawner@static.56.224.132.142.clients.your-server.de) (Ping timeout: 244 seconds)
10:28:25 wbrawner joins (~wbrawner@static.56.224.132.142.clients.your-server.de)
10:28:42 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 248 seconds)
10:28:54 chromoblob joins (~chromoblo@user/chromob1ot1c)
10:29:57 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
10:32:11 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 256 seconds)
10:34:26 <ggVGc> sometimes I wonder if GHC may, in fact, have a few too many extensions
10:35:06 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
10:42:29 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
10:42:58 chromoblob joins (~chromoblo@user/chromob1ot1c)
10:43:38 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
10:45:44 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
10:50:53 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
10:52:25 JimL joins (~quassel@89.162.16.26)
11:01:32 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
11:04:26 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 272 seconds)
11:04:49 <Rembane> It probably does, the hard part is agreeing on which extensions aren't necessary.
11:05:11 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
11:08:08 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
11:08:10 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
11:14:07 <[exa]> ggVGc: why? (as in, I guess because of reimplementation overhead?)
11:19:34 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
11:24:53 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
11:25:41 <ggVGc> [exa]: more that it's hard to say what "Haskell" is, and that many extensions interact poorly with each-other, and several are iterative or parallel attempts at tackling the same/similar issues
11:26:15 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
11:31:00 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
11:34:35 __monty__ joins (~toonn@user/toonn)
11:35:54 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
11:36:07 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
11:36:58 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 248 seconds)
11:37:27 Lord_of_Life_ is now known as Lord_of_Life
11:38:37 × vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 246 seconds)
11:39:15 <[exa]> ggVGc: haskell is what the haskell standard says :)
11:39:27 <[exa]> the rest is nice extensions
11:41:12 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 260 seconds)
11:41:31 chromoblob joins (~chromoblo@user/chromob1ot1c)
11:46:23 karenw joins (~karenw@user/karenw)
11:46:46 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
11:48:31 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
11:48:57 chromoblob joins (~chromoblo@user/chromob1ot1c)
11:50:20 × hellwolf quits (~user@4587-67e8-8a9c-b55b-0f00-4d40-07d0-2001.sta.estpak.ee) (Ping timeout: 245 seconds)
11:51:42 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
11:51:43 fp joins (~Thunderbi@89-27-10-140.bb.dnainternet.fi)
11:53:29 hellwolf joins (~user@90cb-527a-e9a3-1c56-0f00-4d40-07d0-2001.sta.estpak.ee)
11:57:46 fp1 joins (~Thunderbi@2001-14ba-6e24-3000--190.rev.dnainternet.fi)
12:00:27 × fp quits (~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Ping timeout: 260 seconds)
12:01:34 × fp1 quits (~Thunderbi@2001-14ba-6e24-3000--190.rev.dnainternet.fi) (Client Quit)
12:02:31 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
12:07:22 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
12:17:57 fp joins (~Thunderbi@89-27-10-140.bb.dnainternet.fi)
12:18:21 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
12:22:25 × fp quits (~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Ping timeout: 244 seconds)
12:22:56 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
12:28:11 CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db)
12:34:09 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
12:34:45 <probie> You can always take GHC2021 as a pseudo-standard for "modern Haskell"
12:41:17 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
12:46:28 <mreh> doesn't Stack default to 2010 or something?
12:48:12 <mreh> or maybe it's hpack that does that
12:49:03 <mreh> yeah, it's hpack, what does cabal do I wonder
12:50:39 <mreh> https://cabal.readthedocs.io/en/stable/cabal-package-description-file.html#pkg-field-default-language
12:50:45 <mreh> it doesn't say! exciting...
12:52:11 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
12:53:27 ttybitnik joins (~ttybitnik@user/wolper)
12:57:19 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
12:57:40 × divlamir quits (~divlamir@user/divlamir) (Read error: Connection reset by peer)
12:57:55 divlamir joins (~divlamir@user/divlamir)
13:04:26 × SlackCoder quits (~SlackCode@208.26.91.234) (Ping timeout: 248 seconds)
13:07:59 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
13:08:34 SlackCoder joins (~SlackCode@64-94-63-8.ip.weststar.net.ky)
13:12:58 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
13:13:25 finsternis joins (~X@23.226.237.192)
13:13:33 AlexNoo_ is now known as AlexNoo
13:17:34 <davean> mreh: cabal doesn't default, its REQUIRED
13:17:40 inline joins (~inline@2a02:8071:57a1:1260:d82c:6b3f:958f:cc66)
13:19:47 <davean> Defaulting would ruin the required nature of it
13:21:02 × Rembane quits (~Rembane@user/Rembane) (Quit: WeeChat 4.1.1)
13:21:44 Rembane joins (~Rembane@user/Rembane)
13:22:11 <ggVGc> [exa]: yeah, I agree that is formally true, but in practice whatever GHC does is what Haskell is, in the same way that C is de-facto defined by extensions that GCC and clang both implement.
13:22:12 <davean> I know weirdly it is listed as optional in the field syntax reference, thats a bit missleading. Thats the base syntax, not the semantic syntax.
13:22:55 davean looks around at all the project you use regularly that have never been compiled with gcc or clang
13:22:58 <ggVGc> but yeah, GHC2021 is a nice attempt at collecting useful extensions into something coherent
13:23:23 <ggVGc> davean: I think those are few?
13:23:42 <davean> ggVGc: I'm not even sure you listed the most used C compilers
13:23:46 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
13:24:21 <ggVGc> interesting, would say it's intel or msvc?
13:24:32 <ggVGc> because I think I disagree with that for everyday software that I personally run
13:24:39 <davean> msvc is DEFINETLY huge
13:24:59 <davean> I didn't say it was common with what you run, I was saying you definately use stuff that is only compiled on msvc
13:25:00 <ggVGc> but it's widely accepted that msvc does not properly implement C?
13:25:25 <davean> icc is also a major compiler, and there are a bunch of others that are pretty major
13:25:33 <davean> C is a highly multi-compiler language
13:27:04 <davean> But a lot of stuff is embeded and neither gcc or clang is common in embeded at all
13:27:45 <davean> Haskell is not widely varied in compilers, though there are some others which you use for good reasons. C though? No C is not at all "what is implimended by gcc and clang"
13:28:26 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
13:28:26 × SlackCoder quits (~SlackCode@64-94-63-8.ip.weststar.net.ky) (Ping timeout: 248 seconds)
13:28:40 <davean> Seeing all the microhs patches come through is actually interesting ATM
13:29:33 <ggVGc> well, okay, I'm willing to retract what I said. But, for many people writing C on linux or osx, extensions to C implemented by GCC are seen by many as standard parts of the language, I think/
13:29:54 <ggVGc> but, anyway, my point was still about Haskell and GHC
13:32:04 SlackCoder joins (~SlackCode@208.26.91.234)
13:33:58 <ggVGc> I feel like GCC is quite common in embedded nowadays though? I've only done NXP, ESP and rp2050 stuff I guess, but those toolchains are gcc-based. And NXP is quite major?
13:34:13 × karenw quits (~karenw@user/karenw) (Ping timeout: 264 seconds)
13:34:17 <ggVGc> but. sure, my statement wasn't very well thought through
13:38:46 <ggVGc> anyway, I appreciate that GHC has a proper extension system. Unlike Scala, which I now writre for my day job, where everything just goes into trunk.
13:39:34 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
13:44:52 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
13:46:44 <davean> ooof I'm sorry
13:46:57 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
13:47:47 <haskellbridge> <magic_rb> We need a JVM backend in GHC :P
13:48:06 <ggVGc> I think it exists?
13:48:14 <ggVGc> or at least there was some project way back
13:48:19 <haskellbridge> <magic_rb> There was a external project
13:48:20 <ggVGc> unless I am making it up
13:48:26 <ggVGc> ah, right
13:48:40 <haskellbridge> <magic_rb> But it wasnt ever integrated into GHC proper, i think it was called etalang?
13:48:53 <haskellbridge> <magic_rb> Kinda died due the same reason ghcjs started dying, not upstream
13:48:55 <ggVGc> it may be heresy in here, but I actually would not like to write our backend in Haskell either.
13:49:09 <haskellbridge> <magic_rb> Heresy
13:49:11 <ggVGc> it's not the type of work I prefer to use Haskell for
13:49:28 <haskellbridge> <magic_rb> We're gonna string you up
13:50:30 <ggVGc> I appreciate it. Will give me a good excuse to leave my newborn twins with my wife for undefined duration?
13:50:53 × trickard quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
13:51:33 <ggVGc> to be fair, I've never worked at a company running Haskell in production, and I am still curious how that looks day-to-day. So, my mind could be changed.
13:51:51 <ggVGc> (specifically for web backend)
13:52:00 <ggVGc> which, arguably, is almost all work available right now
13:52:51 <ggVGc> (I am willfully ignoring anything inside the browser)
13:55:22 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
13:55:30 <davean> I do all my web backend in haskell
13:55:47 <davean> Easiest experience I've ever had
13:56:08 <Rembane> davean: Are there any libraries that makes things particularly easy?
13:56:30 <davean> Rembane: uh yes but also not sure what you'd be asking
13:56:42 × inline quits (~inline@2a02:8071:57a1:1260:d82c:6b3f:958f:cc66) (Ping timeout: 248 seconds)
13:57:14 × CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 248 seconds)
13:57:26 <davean> Like there are always libraries that make tasks easy - actually the reusability of code in haskell is rather important there (thank you laziness) but like thats SUPER general and I think you want something more specific
13:58:11 <Rembane> davean: Sorry, I had all the context in my head and not on the screen. Context: My web development becomes really nice because I use Django when I work in Python and Phoenix and Ash when I work in Elixir. Are there any libraries like those, or don't you need them?
13:58:31 <davean> defiantely don't need something like that
13:58:48 <davean> there are some good routing libraries, and there are some good applicitive form libraries
13:59:02 <Rembane> Give me names! :D
13:59:08 <davean> where form is generalized to be the form HTTP type, not HTML
13:59:36 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
13:59:44 <davean> reform is pretty cool
13:59:47 qqe joins (~qqq@185.54.23.200)
14:00:09 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
14:00:55 <Rembane> It looks cool, thank you
14:01:10 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
14:01:20 <ggVGc> what does your deployment setup look like, davean? And what do you use for metrics reporting?
14:01:51 <davean> deployment? Just have nix build the cabal package and create a systemd service
14:02:33 <davean> I have a little internal library for some graceful shutdown handling, but its nothing that isn't already supported but not like cleanly hooked up
14:03:43 <davean> As for metrics reporting, it depends on what metrics you care about. Like EKG is a pretty standard one.
14:04:51 <davean> I don't actually find metrics to be a thing I ever look at with haskell services. There isn't ever anything to track down and they're performant. I can't recall the last time I had to pay attention to any metrics for them
14:05:05 <davean> One of the nice parts of haskell is never having problems
14:05:30 <davean> god I spent so much time staring at metrics with python services ...
14:06:10 <ggVGc> Yeah, we also deploy as a systemd service at my current job, which I think is fine.
14:06:21 <ggVGc> how do you know if you have or don't have problems without metrics?
14:06:23 <davean> well the nix part is more significant
14:07:01 <ggVGc> what I mean is things like number of open DB connections, query times, HTTP response times, statistics on raturn codes etc.
14:07:07 <davean> ggVGc: well think about the sort of problems you might have, most of them are error logs. Like a DB is down or something
14:07:10 <ggVGc> concurrent request numbers
14:07:38 <davean> well, my haskell code already uses a fixed DB pool and trades them out, so the only issue that could happen there is a DB error, thats a log issue not a metric issue
14:08:20 morj joins (~morj@user/morj)
14:08:51 <davean> don't need metrics for "if this ever happens, trip an alert on the first occurence"
14:08:57 <ggVGc> for me, metrics is not something that has to do with errors/issues. It's a way to know things about the service
14:09:14 <ggVGc> how do you know how many users you have, for example, at during which hours?
14:10:12 <davean> I mean that would be a stats issue, though also why would I care? How many users I have overall might matter, but why do I care which hours generally? And if I did I can get that out of analytics, but which hour is never really relivent to me
14:10:16 <davean> personally
14:10:37 <davean> I'm actually SLIGHTLY interested in that for launches
14:10:47 <davean> to see service uptake rate
14:11:10 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
14:11:11 <davean> That I do look at some EKG based stuff for
14:11:43 inline joins (~inline@2a02:8071:57a1:1260:99b9:102d:fb79:f90b)
14:13:10 <davean> There is the standard tracing protocols if you want more detailed stuff
14:16:00 <davean> but like things like HTTP response times, they're well characturized, if it goes above 10ms its just instantly tripping an alert.
14:18:07 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
14:18:23 <davean> Actually the only service I run that *isn't* nice is hackage, and I REALLY REALLY want to finish a replacement for it
14:18:42 <davean> hatz hackage I does, hatz it
14:20:40 <davean> hackage reminds me of running python services :(
14:21:00 <davean> partially because it keeps all its data in memory, transactionally, and doesn't retire references until requests complete.
14:21:12 <davean> So modular, so very very bad code design
14:22:06 × Fijxu quits (~Fijxu@user/fijxu) (Quit: XD!!)
14:29:12 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
14:30:43 Fijxu joins (~Fijxu@user/fijxu)
14:31:19 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 256 seconds)
14:31:35 chromoblob joins (~chromoblo@user/chromob1ot1c)
14:33:43 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
14:39:29 × weary-traveler quits (~user@user/user363627) (Quit: Konversation terminated!)
14:39:51 weary-traveler joins (~user@user/user363627)
14:42:53 × Pozyomka quits (~pyon@user/pyon) (Quit: WeeChat 4.7.1)
14:44:59 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
14:50:02 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
15:00:33 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
15:00:47 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
15:01:52 img joins (~img@user/img)
15:04:19 Lycurgus joins (~juan@user/Lycurgus)
15:05:19 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
15:15:36 trickard_ is now known as trickard
15:15:45 × krei-se quits (~krei-se@p200300f1cfff1817000000000000c8c6.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
15:18:51 × GdeVolpiano quits (~GdeVolpia@user/GdeVolpiano) (Ping timeout: 252 seconds)
15:19:23 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
15:20:42 GdeVolpiano joins (~GdeVolpia@user/GdeVolpiano)
15:23:43 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
15:30:50 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
15:31:15 chromoblob joins (~chromoblo@user/chromob1ot1c)
15:34:45 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
15:39:38 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
15:43:22 × trickard quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
15:43:35 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
15:50:31 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
15:56:09 × synchromesh quits (~john@2406:5a00:2412:2c00:3da8:1103:8261:15b5) (Read error: Connection reset by peer)
15:57:14 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
15:57:41 synchromesh joins (~john@2406:5a00:2412:2c00:3da8:1103:8261:15b5)
16:01:40 jmcantrell joins (~weechat@user/jmcantrell)
16:08:34 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
16:13:37 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
16:16:44 Square2 joins (~Square@user/square)
16:24:21 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
16:24:39 krei-se joins (~krei-se@p200300f1cf412501000000000000c8c6.dip0.t-ipconnect.de)
16:24:58 × oxapentane quits (~oxapentan@user/oxapentane) (Remote host closed the connection)
16:27:39 oxapentane joins (~oxapentan@user/oxapentane)
16:28:49 × oxapentane quits (~oxapentan@user/oxapentane) (Remote host closed the connection)
16:29:07 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
16:30:20 oxapentane joins (~oxapentan@user/oxapentane)
16:36:03 × oxapentane quits (~oxapentan@user/oxapentane) (Remote host closed the connection)
16:37:02 oxapentane joins (~oxapentan@user/oxapentane)
16:40:08 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
16:46:11 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
16:52:38 × inline quits (~inline@2a02:8071:57a1:1260:99b9:102d:fb79:f90b) (Ping timeout: 244 seconds)
16:56:57 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
17:01:46 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
17:06:43 inline joins (~inline@2a02:8071:57a1:1260:504d:3076:81f0:8f9d)
17:08:51 <tabaqui> Do you know of a place where I can create an RSS feed or email notifications for selected package updates? I'm somewhat on the bleeding edge now, so I'd like to know whenever any of the dependencies are updated.
17:11:11 <tabaqui> hackage what's new isn't quite that - too much data
17:12:22 × SlackCoder quits (~SlackCode@208.26.91.234) (Ping timeout: 244 seconds)
17:12:44 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
17:13:29 Pozyomka joins (~pyon@user/pyon)
17:16:52 SlackCoder joins (~SlackCode@64-94-63-8.ip.weststar.net.ky)
17:18:01 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
17:20:32 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
17:20:38 <davean> tabaqui: see "The package feed feature" in the hackage API
17:20:52 <davean> /package/:package.rss
17:21:18 machinedgod joins (~machinedg@d75-159-126-101.abhsia.telus.net)
17:22:52 <tabaqui> davean: thanks, it will do
17:25:21 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
17:30:40 chexum_ joins (~quassel@gateway/tor-sasl/chexum)
17:30:46 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 272 seconds)
17:33:45 haltsolver joins (~cmo@2604:3d09:207f:8000::d1dc)
17:36:15 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
17:41:46 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
17:45:24 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
17:46:15 flipflops joins (~cmo@2604:3d09:207f:8000::d1dc)
17:47:37 Googulator18 is now known as Googulator
17:48:35 × haltsolver quits (~cmo@2604:3d09:207f:8000::d1dc) (Read error: Connection reset by peer)
17:48:36 × ThePenguin quits (~ThePengui@cust-95-80-28-221.csbnet.se) (Read error: Connection reset by peer)
17:48:36 × pie_ quits (~pie_bnc@user/pie/x-2818909) (Remote host closed the connection)
17:48:36 × SrPx quits (sid108780@id-108780.uxbridge.irccloud.com) (Ping timeout: 246 seconds)
17:48:36 × malte quits (~malte@mal.tc) (Ping timeout: 246 seconds)
17:48:36 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
17:48:36 × rubin55 quits (sid666180@id-666180.ilkley.irccloud.com) (Ping timeout: 246 seconds)
17:48:47 gabiruh_ joins (~gabiruh@vps19177.publiccloud.com.br)
17:48:47 ThePenguin joins (~ThePengui@cust-95-80-28-221.csbnet.se)
17:48:55 × DragonMaus quits (~dragonmau@user/dragonmaus) (Ping timeout: 246 seconds)
17:48:55 × gabiruh quits (~gabiruh@vps19177.publiccloud.com.br) (Ping timeout: 246 seconds)
17:48:58 malte joins (~malte@mal.tc)
17:48:59 wootehfoot joins (~wootehfoo@user/wootehfoot)
17:49:05 DragonMaus joins (~dragonmau@user/dragonmaus)
17:51:08 pie_ joins (~pie_bnc@user/pie/x-2818909)
17:51:31 rubin55 joins (sid666180@id-666180.ilkley.irccloud.com)
17:52:47 SrPx joins (sid108780@id-108780.uxbridge.irccloud.com)
17:53:02 Sgeo joins (~Sgeo@user/sgeo)
17:53:49 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
17:54:07 × wbrawner quits (~wbrawner@static.56.224.132.142.clients.your-server.de) (Ping timeout: 244 seconds)
17:55:26 karenw joins (~karenw@user/karenw)
17:58:22 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
18:04:40 infinity0 joins (~infinity0@pwned.gg)
18:09:21 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
18:11:29 × bggd quits (~bgg@2a01:e0a:819:1510:71a9:d225:b66f:12bd) (Remote host closed the connection)
18:14:35 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
18:18:21 × SlackCoder quits (~SlackCode@64-94-63-8.ip.weststar.net.ky) (Ping timeout: 250 seconds)
18:18:29 wbrawner joins (~wbrawner@static.56.224.132.142.clients.your-server.de)
18:25:03 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
18:28:56 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
18:29:52 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
18:30:42 wootehfoot joins (~wootehfoo@user/wootehfoot)
18:32:19 Haskeller0x00 joins (~Haskeller@38.49.92.193)
18:33:39 Haskeller0x00 parts (~Haskeller@38.49.92.193) ()
18:33:39 Haskeller0x00 joins (~Haskeller@38.49.92.193)
18:35:55 <Haskeller0x00> Hey y'all! I heard this was the place to go if one needs help with haskell?
18:38:21 <Rembane> Haskeller0x00: Hello! This is true!
18:39:53 <Haskeller0x00> Uh.. I need some help with my capstone project.
18:40:29 <Haskeller0x00> some background... I'm trying to implement the RGN monad discussed here: https://www.cs.cornell.edu/people/fluet/research/rgn-monad/JFP06/jfp06.pdf and I have basically hit a roadblock.
18:40:52 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
18:41:23 ss4 joins (~wootehfoo@user/wootehfoot)
18:41:41 <Haskeller0x00> I don't think I have enough haskell experience to implement it from scratch (i'm assuming I'll have to hack the compiler to do that) so I'm instead implementing this as a wrapper around ST.
18:42:08 target_i joins (~target_i@user/target-i/x-6023099)
18:42:37 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 250 seconds)
18:43:46 <Haskeller0x00> I have so far been able to define the basic functions, but haskell does not like it when I try to wrap runST
18:46:56 × trickard_ quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
18:47:18 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
18:47:22 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
18:49:02 <Haskeller0x00> Uh... can anyone help me with understanding what I'm doing wrong here?
18:50:48 <geekosaur> wrapping runST isn't generally a good idea, because if you wrap individual functions you'll find you can't carry anything between invocations of runST (by design)
18:51:05 × trickard_ quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
18:52:15 <geekosaur> right at the bottom of page 3 of the paper you linked, it tells you why runST won't work
18:53:17 <Haskeller0x00> Uh, even if I were to define RGN as newtype RGN s r a = RGN (ST s a)?
18:53:52 <Haskeller0x00> Also, if that is not going to work, then how would I go about implementing this?
18:54:42 wootehfoot joins (~wootehfoo@user/wootehfoot)
18:55:57 <geekosaur> see section 2 of the paper, they go into detail why encoding the RGN monad via ST won't work
18:56:07 × ss4 quits (~wootehfoo@user/wootehfoot) (Ping timeout: 246 seconds)
18:56:25 <geekosaur> (I suspect you took it as saying how to encode RGN via ST, but in fact it does so and then demonstrates why the result doesn't work)
18:57:22 <Haskeller0x00> Yes, I saw that but I thought that was at least a good starting point to understand what I need to do to encode this.
18:57:32 <geekosaur> "Does this suffice to encode region-based languages, where runRGN corresponds to letregion? In short, it does not."
18:57:56 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
18:58:13 <geekosaur> it's a starting point but it's one that demonstrates that soemthing else is needed; that something else not only modifies the compiler, it modifies System F (the type system)
18:58:53 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
18:59:08 <Haskeller0x00> hmm... because when my advisor emailed one of the authors of the paper, their response was this: "There wasn't ever an implementation of RGN. You could certainly write RGN (with all the types) as a wrapper around ST; it would essentially just treat the region parameter as phantom. The meaningful implementation would really all be in terms of the
18:59:09 <Haskeller0x00> memory management, but, AFAIK, even the ST monad doesn't actually eagerly delete STVar's at the end of runST; they are just "normal" heap allocated objects that will get garbage collected when unreachable. Although it seems as though they would necessarily be unreachable at the end of runST, it's a little more complicated with lazy evaluation,
18:59:09 <Haskeller0x00> because the ST computation may still be "running" as the runST result is lazily evaluated."
18:59:23 <geekosaur> note that runST and company do not require modifications to the type system! they just make everything polymorphic in an untouchable rank-2 value, which therefore can't escape runST
18:59:57 <Haskeller0x00> yup, it took me a couple hours, but. I understood how the "s" works.
19:00:02 × caconym7478798 quits (~caconym@user/caconym) (Quit: bye)
19:00:43 caconym7478798 joins (~caconym@user/caconym)
19:01:27 <Haskeller0x00> He (the author) explained that what he meant was regions will live within the same state meaning state won't itself be nested.
19:02:09 × morj quits (~morj@user/morj) (Quit: Konversation terminated!)
19:04:10 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
19:04:37 <geekosaur> a few other things: (1) even with eager evaluation, GC of values from runST won't necessarily happen immediately; only reference-counting GC implementations do that. so even strict values hang around (which regularly bites people relying on GC to free e.g. Handles and thereby close their associated files)
19:05:30 <geekosaur> (2) I'm not sure how that statement by one of the authors squares with the assertion in section 1 of the paper that ST isn't sufficient
19:05:51 <Haskeller0x00> yup, I think that's what he meant with the last sentence in his response.
19:06:22 <Haskeller0x00> So what he essentially explained was, if I were to have each region as a separate state, I'd be in trouble.
19:06:49 <Haskeller0x00> but, that does not mean I can have different regions within the same state.
19:06:54 <Haskeller0x00> *cannot
19:07:21 <Haskeller0x00> I think that's what he meant by "phantom region parameter".
19:08:27 <Haskeller0x00> What my understanding has been so far about his response is, the "region" will only be defined in the type system and will not have an actual memory definition.
19:12:31 × inline quits (~inline@2a02:8071:57a1:1260:504d:3076:81f0:8f9d) (Ping timeout: 250 seconds)
19:13:12 peterbecich joins (~Thunderbi@172.222.148.214)
19:13:40 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving)
19:14:41 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:15:22 inline joins (~inline@ip-178-202-059-161.um47.pools.vodafone-ip.de)
19:17:46 × flipflops quits (~cmo@2604:3d09:207f:8000::d1dc) (Ping timeout: 248 seconds)
19:18:08 <geekosaur> that part is correct, yes, as the "s" in "ST s a" is (effectively) a phantom tag with no data associated
19:18:18 × jreicher quits (~user@user/jreicher) (Ping timeout: 248 seconds)
19:18:31 × karenw quits (~karenw@user/karenw) (Ping timeout: 246 seconds)
19:18:50 jreicher joins (~user@user/jreicher)
19:19:00 <Haskeller0x00> So, we can do the same for region, no? It can all be essentially just within the same "s"?
19:19:34 <geekosaur> but "n a region-based language, it is critical to allocate locations in and read locations from an outer region while in the scope of an inner region. For example, an essential idiom in region-based languages is to enter a letregion in which temporary data is allocated, while reading input from and allocating output in an outer region; upon leaving the letregion, the temporary data is reclaimed, but the input and output data are still
19:19:34 <geekosaur> available."
19:19:45 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
19:20:29 <Haskeller0x00> Also, if we read further, they explain blockST and liftST (or at least RGN equivalents of these 2) which have their own little problems, the primary being that it'll only allow chaining in a certain sequence.
19:20:39 scula joins (~scula@user/scula)
19:20:43 <geekosaur> (there is no way to, using ST as RGN, give an inner runST the same "s" as an outer one)
19:21:12 <Haskeller0x00> but there is not "inner" runSt.
19:21:35 <Haskeller0x00> It is just one single runST. what is "inner" is region. That's what got me lol
19:21:55 × qqe quits (~qqq@185.54.23.200) (Quit: Lost terminal)
19:22:28 <geekosaur> let me rephrase that: the whole point of ST being that you can't pass "s" around, you cant have access to both an inner an an outer "s" at the same time
19:22:50 <geekosaur> the inner "letregion" would be replaced by an inner runST
19:22:58 <Haskeller0x00> oh?
19:23:02 <geekosaur> if you din't do that, you can't have nested regions/resources
19:23:09 <Haskeller0x00> see now that's the part I'm confused about.
19:23:20 <Haskeller0x00> I understand how the 's' would not be shareable
19:23:25 <geekosaur> but the paper asserts that doing that is critical to region-based allocation
19:24:07 × jreicher quits (~user@user/jreicher) (Ping timeout: 246 seconds)
19:24:09 × inline quits (~inline@ip-178-202-059-161.um47.pools.vodafone-ip.de) (Ping timeout: 252 seconds)
19:24:16 inline_ joins (~inline@2a02:8071:57a1:1260:d6a:132:a003:3008)
19:24:19 <geekosaur> you might be able to say "well, just use one bug region and put up with stuff remaining allocated beyond its lifetime", but you'll probably have to redo most f the paper to support that usage instead of the one they're using that assumes nested regions are possible
19:24:30 <geekosaur> *big region
19:24:39 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
19:24:43 <Haskeller0x00> I know :( ... that's why I'm confused about the author's response :(
19:25:55 × wbrawner quits (~wbrawner@static.56.224.132.142.clients.your-server.de) (Ping timeout: 265 seconds)
19:25:59 <geekosaur> also I just reached the part of the paper talking blockST/importST/liftST… and why they aren't sufficient either
19:26:10 wbrawner joins (~wbrawner@static.56.224.132.142.clients.your-server.de)
19:26:22 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
19:26:23 <geekosaur> so yeh, I'm also confused by that response, as I said earlier. it directly contradicts the paper
19:26:30 <geekosaur> in at least two places
19:27:32 <Haskeller0x00> I'm completely lost at this point.
19:27:51 <Haskeller0x00> (and worried that I might fail my capstone :()
19:30:51 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:31:57 <int-e> I think I get the response. IIUC, this is purely for operational semantics, after all type checking is complete and types are erased.
19:32:36 <Haskeller0x00> Yes, I thought this was the case
19:32:40 <int-e> So you still can't do it inside Haskell, well, not without unsafeCoerce.
19:32:47 <Haskeller0x00> drat
19:33:26 CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db)
19:33:32 inline_ is now known as Inline
19:34:12 fp joins (~Thunderbi@2001-14ba-6e24-3000--190.rev.dnainternet.fi)
19:35:40 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
19:36:20 <geekosaur> yeh, I was thinking that the assertion that liftST wouldn't help meant that something more fundamental was wrong
19:36:45 <geekosaur> with the whole idea of using ST to simulate regions
19:37:03 <geekosaur> you might get something that behaved on the surface like it, but underneath was doing the wrong things
19:37:17 <Haskeller0x00> Is that what he was hinting at?
19:37:28 <geekosaur> dunno
19:37:38 × myxokephale quits (~myxos@syn-065-025-110-175.res.spectrum.com) (Remote host closed the connection)
19:38:28 <geekosaur> but saying that regions via ST needed to access both ST contexts and then saying providing liftST or importST wouldn't be enough just really strongly hints that ST isn't strong enough to actually provide region support
19:39:49 <Haskeller0x00> I mean at this point I'll take something that works on the surface like regions 😅
19:43:44 <geekosaur> int-e: worth noting is that liftST was SPJ's suggestion (and yes, it'd be unsafeCoerce#… but so is unsafeSTtoIO)
19:44:11 × fp quits (~Thunderbi@2001-14ba-6e24-3000--190.rev.dnainternet.fi) (Remote host closed the connection)
19:44:38 <Shark8> Hi all. I'm working on a proposal for the Ada programming language, essentially adding a meta-language (or formalizing/generalizing the meta-language of the generic-formal parameter, turning them inside out). And Haskell's kinds/higher-kinded types seem to articulate what I want, though I'm not entirely sure, as my experience with Haskell is (a) reading about it, and (b) reading papers that use it.
19:46:29 SlackCoder joins (~SlackCode@64-94-63-8.ip.weststar.net.ky)
19:46:38 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:48:01 apache2 joins (apache2@anubis.0x90.dk)
19:50:27 yegor parts (~yegor@user/yegor) (WeeChat 4.6.3)
19:51:01 × Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 264 seconds)
19:51:01 × kaol quits (~kaol@94-237-45-144.nl-ams1.upcloud.host) (Ping timeout: 264 seconds)
19:51:01 × apache quits (apache2@anubis.0x90.dk) (Ping timeout: 264 seconds)
19:51:20 Maxdamantus joins (~Maxdamant@user/maxdamantus)
19:51:24 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
19:52:42 kaol joins (~kaol@94-237-45-144.nl-ams1.upcloud.host)
19:52:49 × int-e quits (~noone@int-e.eu) (Ping timeout: 264 seconds)
19:53:02 int-e joins (~noone@int-e.eu)
19:53:49 Lycurgus joins (~juan@user/Lycurgus)
19:54:37 × barrucadu quits (~barrucadu@carcosa.barrucadu.co.uk) (Ping timeout: 264 seconds)
19:55:06 barrucadu joins (~barrucadu@carcosa.barrucadu.co.uk)
19:55:42 <Haskeller0x00> So, so far, I have encoded the functions using ST (and type erasure). runRGN required me to use unsafeCoerce and I kind of have a bad feeling about it. In a related question, if I actually do decide to hack the compiler, where would I begin?
19:56:22 <Haskeller0x00> uh, except for letRGN that is... its definition still eludes my dumb ass 😅
19:56:40 × wbrawner quits (~wbrawner@static.56.224.132.142.clients.your-server.de) (Ping timeout: 246 seconds)
19:58:27 <geekosaur> I think you can't do this without unsafeCoerce. the best you can do is hide it in the implementation, with a type that prevents its use for anything but this
19:58:46 × CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 246 seconds)
19:59:14 <Lycurgus> hack the compiler? I'd master TH 1st.
19:59:42 <Haskeller0x00> hmm... related question: is it a good idea to post code here (and risk plagiarism)?
19:59:43 <Lycurgus> and then i still wouldn
19:59:54 <geekosaur> gonna take more than that, as I said earlier you need to modify the typechecker if you're implementing that paper
20:00:36 <monochrom> It's either unsafeCoerce or modify GHC source code.
20:00:39 <geekosaur> as for where you start, it's https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary
20:00:59 <monochrom> OK OK, or a plugin.
20:00:59 trickard_ is now known as trickard
20:01:07 <Lycurgus> maybe mastery and hacking are opposites
20:01:34 <geekosaur> between the Commentary and Notes in the source, ghc internals are very well documented
20:01:56 <Haskeller0x00> Thank you so much y'all!
20:02:17 <geekosaur> also re plagiarism, I think simply linking the paper as needed is sufficient
20:02:26 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:03:42 <Haskeller0x00> okay, gotchu :)
20:06:31 wbrawner joins (~wbrawner@static.56.224.132.142.clients.your-server.de)
20:06:53 <Lycurgus> is wiki.haskell.org down or moved?
20:07:20 fp joins (~Thunderbi@2001-14ba-6e24-3000--190.rev.dnainternet.fi)
20:07:29 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
20:07:56 <darkling> Down for me.
20:08:08 <geekosaur> likewise
20:08:31 <geekosaur> just asked in -infrastructure
20:08:46 <monochrom> It should not have moved. It's probably down.
20:09:10 <geekosaur> moved is somewhat possible, there were some rearrangements relatively recently due to a security issue
20:09:23 <Lycurgus> yes, i got a partical response b4 it went complelty belly up showing the detested nginx
20:09:23 <geekosaur> but there should be a redirect in that case
20:09:47 × Haskeller0x00 quits (~Haskeller@38.49.92.193) (Ping timeout: 250 seconds)
20:09:49 <geekosaur> right, load just got 502 finally
20:09:54 <Lycurgus> *partial
20:12:00 × gorignak quits (~gorignak@user/gorignak) (Read error: Connection reset by peer)
20:12:34 <geekosaur> here's another thing from the paper that says runST isn't enough: "The problem is that the explicit connection between the outer and inner regions in the product type enforces a total order on regions, which leaks into the types of region allocated values."
20:13:24 <geekosaur> if you use liftST instead of importST, this translates to "you must know exactly how many nested liftST are needed to reach the correct outer computation"
20:13:50 <Lycurgus> leak
20:14:36 <geekosaur> (unlike mtl, there's no way to infer it from the type the way e.g. liftIO does)
20:15:19 <Lycurgus> ok igess if 'leak' can be a shorthard for any vibe related concepts full nonun phrase
20:15:26 <Lycurgus> *noun
20:17:22 fp1 joins (~Thunderbi@89-27-10-140.bb.dnainternet.fi)
20:18:14 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:18:36 × fp quits (~Thunderbi@2001-14ba-6e24-3000--190.rev.dnainternet.fi) (Ping timeout: 252 seconds)
20:18:36 fp1 is now known as fp
20:18:51 <int-e> looks like the wiki is better now?
20:19:21 <geekosaur> if it's crawler overload, it probably depends on whether you can sneak in between the load
20:19:33 <Lycurgus> confirmed
20:20:05 <geekosaur> mm, also working here now
20:20:24 <geekosaur> so maybe it wasn't crawlers, just something that got missed during the recent move or sth
20:21:21 <geekosaur> btgw I am getting a strong sense of "an effects system-based ST might be able to do this"
20:21:36 <geekosaur> but ST in GHC is based on IO
20:21:48 esph joins (~weechat@user/esph)
20:22:49 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
20:22:58 <geekosaur> meaning any mechanism to access outer contexts will be some form of liftST (viz. liftIO), which isnt flexible enough
20:28:31 × malte quits (~malte@mal.tc) (Ping timeout: 246 seconds)
20:29:10 karenw joins (~karenw@user/karenw)
20:30:01 × fp quits (~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Ping timeout: 264 seconds)
20:31:10 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
20:31:19 fp joins (~Thunderbi@2001-14ba-6e24-3000--190.rev.dnainternet.fi)
20:31:34 × takuan quits (~takuan@d8D86B9E9.access.telenet.be) (Remote host closed the connection)
20:32:09 × fp quits (~Thunderbi@2001-14ba-6e24-3000--190.rev.dnainternet.fi) (Client Quit)
20:32:23 fp joins (~Thunderbi@89-27-10-140.bb.dnainternet.fi)
20:36:16 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:38:19 flipflops joins (~cmo@2604:3d09:207f:8000::d1dc)
20:38:29 × fp quits (~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Read error: Connection reset by peer)
20:40:18 malte joins (~malte@mal.tc)
20:40:36 pavonia joins (~user@user/siracusa)
20:41:09 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
20:47:27 fp joins (~Thunderbi@89-27-10-140.bb.dnainternet.fi)
20:47:46 × SlackCoder quits (~SlackCode@64-94-63-8.ip.weststar.net.ky) (Ping timeout: 246 seconds)
20:51:56 SlackCoder joins (~SlackCode@208.26.91.234)
20:52:01 qqe joins (~qqq@185.54.23.200)
20:54:13 nihilazo joins (~nihilazo@host86-150-176-16.range86-150.btcentralplus.com)
20:54:43 halloy9957 joins (~halloy995@ip72-208-127-103.ph.ph.cox.net)
20:54:51 <geekosaur> although I just realized that the only possible test for which context to use is to see if something is typeable within it, which can't be done at runtime (no type information) nor at compile time (may be dynamic)
20:57:25 <nihilazo> hi, I'm trying to use the sqlite-simple library to interface with a sqlite database from a haskell program (currently in the experimentation phase) and I'd like to convert from SQLite rows into my own types. The library provides a FromRow typeclass with a function that defines how to do this, using the `field` function to get each field. The
20:57:26 <nihilazo> examples on the hackage docs and their github (https://github.com/nurpax/sqlite-simple) use an applicative style for this, fromRow = TestField <$> field <*> field. But if the row contains eg. 12 columns (like in my project) would the best way to do this still be like, CustomType <$> field <*> field <*> field... (for 12 lines) or is there a better
20:57:26 <nihilazo> way?
20:57:58 <nihilazo> (the approach of doing it that way for 12 columns does work but feels notably messy. It seems to be what all other tutorials online for the library do though)
21:01:31 <nihilazo> although given that this is also how all the instances of fromRow in the library's own code are structured: https://github.com/nurpax/sqlite-simple/blob/master/Database/SQLite/Simple/FromRow.hs I'm unsure if there is a better way
21:01:33 fp1 joins (~Thunderbi@2001-14ba-6e24-3000--190.rev.dnainternet.fi)
21:02:26 Lycurgus joins (~juan@user/Lycurgus)
21:02:46 Lycurgus parts (~juan@user/Lycurgus) ()
21:04:13 × fp quits (~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Ping timeout: 246 seconds)
21:04:13 fp1 is now known as fp
21:07:21 <monochrom> The other option is to use GHC.Generics or Template Haskell to make the computer write those 12 lines for you.
21:07:52 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:07:57 inline_ joins (~inline@2a02:8071:57a1:1260:d6a:132:a003:3008)
21:08:34 jreicher joins (~user@user/jreicher)
21:10:49 × Inline quits (~inline@2a02:8071:57a1:1260:d6a:132:a003:3008) (Ping timeout: 250 seconds)
21:10:57 Lycurgus joins (~juan@user/Lycurgus)
21:12:19 inline joins (~inline@2a02:8071:57a1:1260:d4aa:fbec:e75d:918d)
21:12:31 × inline_ quits (~inline@2a02:8071:57a1:1260:d6a:132:a003:3008) (Ping timeout: 244 seconds)
21:13:13 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
21:14:32 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
21:14:32 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: dnsl)
21:17:00 <nihilazo> monochrom: there seems to be an implementation for generics in the code for fromrow, but I'm not sure how to then use it with my own types
21:19:57 <nihilazo> wait, it seems following their (slightly oddly worded so it didn't get it at first) advice to add deriving (Generic) on the type and add an empty instance of fromRow worked.
21:20:15 <nihilazo> apologies for my failure to correctly read documentation, re-reading it solved the problem
21:20:37 halloy9957 is now known as kk-strat
21:22:13 <nihilazo> thanks for the pointer to generics, got me to re-read that bit and found how it worked.
21:22:16 × nihilazo quits (~nihilazo@host86-150-176-16.range86-150.btcentralplus.com) (Quit: Client closed)
21:23:09 <monochrom> I wasn't saying it in a clear way either. :)
21:23:39 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:28:49 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
21:31:11 × fp quits (~Thunderbi@2001-14ba-6e24-3000--190.rev.dnainternet.fi) (Ping timeout: 250 seconds)
21:35:27 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
21:39:27 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:43:50 emmanuelux joins (~emmanuelu@user/emmanuelux)
21:44:07 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
21:44:49 inline_ joins (~inline@2a02:8071:57a1:1260:a5ae:17d3:b566:d327)
21:45:39 × inline_ quits (~inline@2a02:8071:57a1:1260:a5ae:17d3:b566:d327) (Read error: Connection reset by peer)
21:46:21 × inline quits (~inline@2a02:8071:57a1:1260:d4aa:fbec:e75d:918d) (Ping timeout: 250 seconds)
21:53:30 × jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 248 seconds)
21:55:14 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:02:25 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
22:10:30 × jreicher quits (~user@user/jreicher) (Read error: Connection reset by peer)
22:11:08 bggd joins (~bgg@2a01:e0a:819:1510:3eb5:dbc5:9370:da5d)
22:11:56 inline joins (~inline@2a02:8071:57a1:1260:5a1:e9a9:aa3a:fee6)
22:12:49 × peterbecich quits (~Thunderbi@172.222.148.214) (Quit: peterbecich)
22:13:17 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:13:22 peterbecich joins (~Thunderbi@172.222.148.214)
22:18:07 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
22:18:37 × karenw quits (~karenw@user/karenw) (Ping timeout: 264 seconds)
22:19:32 Guest57 joins (~Guest57@95.214.217.193)
22:22:52 × Guest57 quits (~Guest57@95.214.217.193) (Quit: Client closed)
22:23:25 × kk-strat quits (~halloy995@ip72-208-127-103.ph.ph.cox.net) (Quit: kk-strat)
22:23:29 inline_ joins (~inline@ip-178-202-059-161.um47.pools.vodafone-ip.de)
22:26:23 inline__ joins (~inline@2a02:8071:57a1:1260:1ce3:efcb:ed4f:9e96)
22:26:24 × inline quits (~inline@2a02:8071:57a1:1260:5a1:e9a9:aa3a:fee6) (Ping timeout: 244 seconds)
22:26:35 inline__ is now known as Inline
22:27:15 inline__ joins (~inline@ip-178-202-059-161.um47.pools.vodafone-ip.de)
22:29:02 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:29:43 × inline_ quits (~inline@ip-178-202-059-161.um47.pools.vodafone-ip.de) (Ping timeout: 240 seconds)
22:30:42 inline_ joins (~inline@2a02:8071:57a1:1260:7925:4f19:c6de:9865)
22:31:03 × Inline quits (~inline@2a02:8071:57a1:1260:1ce3:efcb:ed4f:9e96) (Ping timeout: 244 seconds)
22:32:25 × inline__ quits (~inline@ip-178-202-059-161.um47.pools.vodafone-ip.de) (Ping timeout: 264 seconds)
22:33:30 inline__ joins (~inline@ip-178-202-059-161.um47.pools.vodafone-ip.de)
22:34:02 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
22:35:39 × tromp quits (~textual@2001:1c00:3487:1b00:5da6:eb72:7bdc:37c8) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:37:19 × inline_ quits (~inline@2a02:8071:57a1:1260:7925:4f19:c6de:9865) (Ping timeout: 246 seconds)
22:41:36 × dolio quits (~dolio@130.44.140.168) (Quit: ZNC 1.9.1 - https://znc.in)
22:43:28 dolio joins (~dolio@130.44.140.168)
22:44:50 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:45:20 inline__ is now known as inline
22:47:46 × dolio quits (~dolio@130.44.140.168) (Client Quit)
22:48:24 jmcantrell joins (~weechat@user/jmcantrell)
22:49:01 dolio joins (~dolio@130.44.140.168)
22:49:49 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
22:55:24 × hololeap quits (~quassel@user/hololeap) (Quit: Bye)
22:56:07 hololeap joins (~quassel@user/hololeap)
23:00:13 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:02:23 Ram-Z joins (Ram-Z@2a01:7e01::f03c:91ff:fe57:d2df)
23:04:58 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
23:05:14 × Ram-Z_ quits (~Ram-Z@li1814-254.members.linode.com) (Ping timeout: 260 seconds)
23:07:38 × mreh quits (~matthew@host86-146-25-125.range86-146.btcentralplus.com) (Ping timeout: 248 seconds)
23:08:59 × qqe quits (~qqq@185.54.23.200) (Quit: Lost terminal)
23:15:59 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:16:23 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Remote host closed the connection)
23:16:39 chromoblob joins (~chromoblo@user/chromob1ot1c)
23:21:01 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
23:24:36 × ljdarj quits (~Thunderbi@user/ljdarj) (Quit: ljdarj)
23:31:48 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:33:37 × peterbecich quits (~Thunderbi@172.222.148.214) (Ping timeout: 264 seconds)
23:38:43 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
23:49:50 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:54:45 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)

All times are in UTC on 2025-10-19.