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.