Logs on 2024-11-22 (liberachat/#haskell)
| 00:02:30 | × | bastelfreak quits (bastelfrea@libera/staff/VoxPupuli.bastelfreak) (Ping timeout: 604 seconds) |
| 00:07:55 | × | sawilagar quits (~sawilagar@user/sawilagar) (Ping timeout: 244 seconds) |
| 00:08:10 | × | gorignak quits (~gorignak@user/gorignak) (Quit: quit) |
| 00:18:49 | × | machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 265 seconds) |
| 00:21:45 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 00:22:46 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 272 seconds) |
| 00:22:59 | → | TonyStone31 joins (~TonyStone@user/TonyStone) |
| 00:23:08 | Lord_of_Life_ | is now known as Lord_of_Life |
| 00:23:42 | × | Alleria quits (~Alleria@user/alleria) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 00:25:18 | × | rini quits (~rini@user/rini) (Ping timeout: 272 seconds) |
| 00:28:17 | → | rini joins (~rini@user/rini) |
| 00:28:23 | × | sprotte24 quits (~sprotte24@p200300d16f0b150071d6bf12c0876fa2.dip0.t-ipconnect.de) (Quit: Leaving) |
| 00:28:44 | × | Everything quits (~Everythin@46-133-186-175.mobile.vf-ua.net) (Quit: Lost terminal) |
| 00:28:50 | → | _________ joins (~nobody@user/noodly) |
| 00:29:08 | → | Alleria joins (~Alleria@user/alleria) |
| 00:30:24 | → | Digitteknohippie joins (~user@user/digit) |
| 00:30:54 | × | Digit quits (~user@user/digit) (Ping timeout: 265 seconds) |
| 00:36:22 | → | Alleria__ joins (~Alleria@user/alleria) |
| 00:37:55 | × | Alleria quits (~Alleria@user/alleria) (Ping timeout: 264 seconds) |
| 00:55:09 | × | euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
| 00:58:21 | → | euleritian joins (~euleritia@77.22.252.159) |
| 01:02:54 | × | Digitteknohippie quits (~user@user/digit) (Ping timeout: 252 seconds) |
| 01:04:38 | → | son0p joins (~ff@2800:e2:f80:ee7::4) |
| 01:05:14 | × | tjbc quits (~tjbc@user/fliife) (Quit: ZNC - https://znc.in) |
| 01:09:09 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 01:12:37 | × | youthlic quits (~Thunderbi@user/youthlic) (Remote host closed the connection) |
| 01:13:03 | → | youthlic joins (~Thunderbi@user/youthlic) |
| 01:19:39 | → | tjbc joins (~tjbc@user/fliife) |
| 01:20:30 | × | Alleria__ quits (~Alleria@user/alleria) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 01:22:12 | × | Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
| 01:25:16 | → | joeyadams joins (~joeyadams@syn-184-054-105-097.res.spectrum.com) |
| 01:32:01 | × | euleritian quits (~euleritia@77.22.252.159) (Remote host closed the connection) |
| 01:32:27 | → | euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) |
| 01:32:33 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 01:35:13 | → | califax joins (~califax@user/califx) |
| 01:35:46 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Quit: leaving) |
| 01:39:26 | <ph88> | got examples with GHC.Generics, zippers, recursion schemes and lens working to do transformation on AST. Not sure yet if they fulfill my use case but at least it compiles and does something :D |
| 01:39:36 | <ph88> | only took 4 hours ^^ |
| 01:49:17 | × | TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Quit: So long and thanks for all the fish) |
| 01:49:41 | → | TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker) |
| 01:58:33 | → | Alleria joins (~Alleria@user/alleria) |
| 02:00:53 | → | user363627 joins (~user@user/user363627) |
| 02:04:07 | × | weary-traveler quits (~user@user/user363627) (Ping timeout: 252 seconds) |
| 02:09:00 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds) |
| 02:22:03 | → | Snapache joins (~Snapache@223.31.218.223) |
| 02:22:17 | <Snapache> | Hello :) |
| 02:22:19 | × | ph88 quits (~ph88@2a02:8109:9e26:c800:442e:9ffe:6749:6de1) (Remote host closed the connection) |
| 02:26:56 | → | falafel joins (~falafel@2600:1700:99f4:2050:8052:30c0:c63e:5055) |
| 02:27:07 | <joeyadams> | Greetings |
| 02:29:54 | × | Snapache quits (~Snapache@223.31.218.223) (Quit: Client closed) |
| 02:32:29 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 03:03:38 | × | RedNifre quits (~RedNifre@dslb-002-201-038-124.002.201.pools.vodafone-ip.de) (Ping timeout: 272 seconds) |
| 03:06:23 | × | chiselfuse quits (~chiselfus@user/chiselfuse) (Remote host closed the connection) |
| 03:07:03 | → | chiselfuse joins (~chiselfus@user/chiselfuse) |
| 03:12:51 | → | Digit joins (~user@user/digit) |
| 03:21:16 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 03:27:47 | → | RedNifre joins (~RedNifre@dslb-090-186-054-194.090.186.pools.vodafone-ip.de) |
| 03:28:47 | → | gdr3941 joins (~user@12.215.51.5) |
| 03:36:25 | × | Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 03:38:20 | → | gorignak joins (~gorignak@user/gorignak) |
| 03:46:04 | × | myxos quits (~myxos@syn-065-028-251-121.res.spectrum.com) (Ping timeout: 252 seconds) |
| 03:49:45 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 03:50:12 | → | myxos joins (~myxos@syn-065-028-251-121.res.spectrum.com) |
| 03:50:45 | × | cyphase quits (~cyphase@user/cyphase) (Ping timeout: 252 seconds) |
| 03:57:06 | → | weary-traveler joins (~user@user/user363627) |
| 04:01:05 | × | user363627 quits (~user@user/user363627) (Ping timeout: 252 seconds) |
| 04:05:34 | × | mantraofpie quits (~mantraofp@user/mantraofpie) (Remote host closed the connection) |
| 04:05:53 | → | mantraofpie joins (~mantraofp@user/mantraofpie) |
| 04:15:03 | × | falafel quits (~falafel@2600:1700:99f4:2050:8052:30c0:c63e:5055) (Ping timeout: 276 seconds) |
| 04:16:26 | × | son0p quits (~ff@2800:e2:f80:ee7::4) (Ping timeout: 244 seconds) |
| 04:32:05 | × | j1n37 quits (j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 04:35:42 | → | j1n37 joins (j1n37@user/j1n37) |
| 05:00:39 | × | gdr3941 quits (~user@12.215.51.5) (Ping timeout: 260 seconds) |
| 05:01:34 | × | RedNifre quits (~RedNifre@dslb-090-186-054-194.090.186.pools.vodafone-ip.de) (Ping timeout: 265 seconds) |
| 05:08:33 | → | werneta joins (~werneta@syn-071-083-160-242.res.spectrum.com) |
| 05:09:41 | × | troydm quits (~troydm@user/troydm) (Ping timeout: 248 seconds) |
| 05:11:13 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds) |
| 05:14:00 | → | RedNifre joins (~RedNifre@dslb-088-075-093-154.088.075.pools.vodafone-ip.de) |
| 05:17:53 | → | werneta_ joins (~werneta@syn-071-083-160-242.res.spectrum.com) |
| 05:21:28 | → | falafel joins (~falafel@2600:1700:99f4:2050:a547:ca79:96d1:4) |
| 05:23:12 | × | philopsos quits (~caecilius@user/philopsos) (Quit: Lost terminal) |
| 05:57:04 | → | michalz joins (~michalz@185.246.207.203) |
| 05:59:42 | × | euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 246 seconds) |
| 06:00:36 | → | euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) |
| 06:05:09 | × | euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds) |
| 06:05:09 | × | j1n37 quits (j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 06:05:21 | → | euleritian joins (~euleritia@dynamic-176-004-004-243.176.4.pool.telefonica.de) |
| 06:10:00 | → | j1n37 joins (j1n37@user/j1n37) |
| 06:10:58 | → | JuanDaugherty joins (~juan@user/JuanDaugherty) |
| 06:11:39 | × | Flow quits (~none@gentoo/developer/flow) (Ping timeout: 244 seconds) |
| 06:12:56 | × | werneta_ quits (~werneta@syn-071-083-160-242.res.spectrum.com) (Quit: leaving) |
| 06:13:11 | × | j1n37 quits (j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 06:17:53 | → | j1n37 joins (j1n37@user/j1n37) |
| 06:17:57 | × | falafel quits (~falafel@2600:1700:99f4:2050:a547:ca79:96d1:4) (Ping timeout: 248 seconds) |
| 06:19:39 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 06:20:41 | → | Flow joins (~none@gentoo/developer/flow) |
| 06:21:16 | × | j1n37 quits (j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 06:21:25 | × | joeyadams quits (~joeyadams@syn-184-054-105-097.res.spectrum.com) (Quit: Leaving) |
| 06:23:10 | × | szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 06:25:03 | → | j1n37 joins (j1n37@user/j1n37) |
| 06:27:33 | × | euleritian quits (~euleritia@dynamic-176-004-004-243.176.4.pool.telefonica.de) (Ping timeout: 248 seconds) |
| 06:28:06 | → | euleritian joins (~euleritia@dynamic-176-006-129-078.176.6.pool.telefonica.de) |
| 06:33:26 | × | werneta quits (~werneta@syn-071-083-160-242.res.spectrum.com) (Ping timeout: 255 seconds) |
| 06:34:44 | → | Ram-Z_ joins (Ram-Z@2a01:7e01::f03c:91ff:fe57:d2df) |
| 06:35:40 | × | JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
| 06:36:41 | → | cyphase joins (~cyphase@user/cyphase) |
| 06:37:54 | × | Ram-Z quits (Ram-Z@2a01:7e01::f03c:91ff:fe57:d2df) (Remote host closed the connection) |
| 06:38:09 | × | Perseverance_ quits (~Persevera@2.219.56.221) (Quit: Connection error?!) |
| 06:51:13 | × | Flow quits (~none@gentoo/developer/flow) (Ping timeout: 252 seconds) |
| 06:53:54 | → | acidjnk_new3 joins (~acidjnk@p200300d6e7283f07512390ce63ebc194.dip0.t-ipconnect.de) |
| 06:55:44 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds) |
| 06:56:54 | × | euleritian quits (~euleritia@dynamic-176-006-129-078.176.6.pool.telefonica.de) (Ping timeout: 260 seconds) |
| 06:57:43 | → | euleritian joins (~euleritia@dynamic-176-004-182-175.176.4.pool.telefonica.de) |
| 06:58:39 | → | Flow joins (~none@gentoo/developer/flow) |
| 07:12:11 | → | Guest878 joins (~Guest878@80-186-163-16.elisa-mobile.fi) |
| 07:16:00 | × | ft quits (~ft@p508dbc6e.dip0.t-ipconnect.de) (Quit: leaving) |
| 07:16:02 | → | briandaed joins (~jaroslawj@user/briandaed) |
| 07:23:58 | → | Snapache joins (~Snapache@2401:4900:883a:3591:51f1:9f6a:f5bd:a3b6) |
| 07:30:10 | × | tcard quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving) |
| 07:40:30 | → | tcard joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
| 07:42:11 | → | falafel joins (~falafel@2600:1700:99f4:2050:d199:9326:25ba:1e95) |
| 07:45:46 | → | CiaoSen joins (~Jura@2a05:5800:20a:3000:ca4b:d6ff:fec1:99da) |
| 07:49:50 | → | kenran joins (~void@user/kenran) |
| 07:54:48 | → | JuanDaugherty joins (~juan@user/JuanDaugherty) |
| 07:57:01 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 07:59:52 | × | briandaed quits (~jaroslawj@user/briandaed) (Remote host closed the connection) |
| 08:00:01 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 08:00:44 | → | caconym joins (~caconym@user/caconym) |
| 08:01:12 | → | Perseverance joins (~Persevera@2.219.56.221) |
| 08:04:37 | × | JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
| 08:04:58 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
| 08:05:02 | → | briandaed joins (~root@user/briandaed) |
| 08:07:06 | → | kuribas joins (~user@ptr-17d51eptprfopgif7d6.18120a2.ip6.access.telenet.be) |
| 08:08:42 | × | Perseverance quits (~Persevera@2.219.56.221) (Ping timeout: 252 seconds) |
| 08:14:13 | × | Flow quits (~none@gentoo/developer/flow) (Ping timeout: 248 seconds) |
| 08:14:54 | × | CiaoSen quits (~Jura@2a05:5800:20a:3000:ca4b:d6ff:fec1:99da) (Ping timeout: 276 seconds) |
| 08:16:38 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 08:21:24 | → | Enviosity joins (~Enviosity@2.219.56.221) |
| 08:23:19 | × | euleritian quits (~euleritia@dynamic-176-004-182-175.176.4.pool.telefonica.de) (Read error: Connection reset by peer) |
| 08:23:37 | → | euleritian joins (~euleritia@ip2504f9cf.dynamic.kabel-deutschland.de) |
| 08:25:42 | → | Flow joins (~none@gentoo/developer/flow) |
| 08:26:10 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 08:35:49 | → | bastelfreak joins (bastelfrea@libera/staff/VoxPupuli.bastelfreak) |
| 08:37:03 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 08:38:11 | × | chiselfuse quits (~chiselfus@user/chiselfuse) (Ping timeout: 260 seconds) |
| 08:39:57 | → | chiselfuse joins (~chiselfus@user/chiselfuse) |
| 08:51:46 | → | __monty__ joins (~toonn@user/toonn) |
| 08:57:35 | → | sawilagar joins (~sawilagar@user/sawilagar) |
| 09:01:19 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 09:04:38 | × | Enviosity quits (~Enviosity@2.219.56.221) (Ping timeout: 272 seconds) |
| 09:06:15 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 09:11:54 | × | Guest878 quits (~Guest878@80-186-163-16.elisa-mobile.fi) (Quit: Guest878) |
| 09:13:43 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 09:16:14 | → | ubert joins (~Thunderbi@77.119.163.150.wireless.dyn.drei.com) |
| 09:20:50 | → | Enviosity joins (~Enviosity@2.219.56.221) |
| 09:24:53 | → | chele joins (~chele@user/chele) |
| 09:24:56 | × | tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 09:32:36 | × | Snapache quits (~Snapache@2401:4900:883a:3591:51f1:9f6a:f5bd:a3b6) (Quit: Client closed) |
| 09:34:43 | → | Square joins (~Square@user/square) |
| 09:34:59 | → | Smiles joins (uid551636@id-551636.lymington.irccloud.com) |
| 09:35:13 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
| 09:38:50 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds) |
| 09:39:12 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 09:40:00 | × | zenmov_ quits (~zenmov@user/zenmov) (Ping timeout: 252 seconds) |
| 09:41:21 | × | falafel quits (~falafel@2600:1700:99f4:2050:d199:9326:25ba:1e95) (Ping timeout: 276 seconds) |
| 09:41:48 | → | mari-estel joins (~mari-este@user/mari-estel) |
| 09:49:12 | → | CiaoSen joins (~Jura@2a05:5800:20a:3000:ca4b:d6ff:fec1:99da) |
| 09:52:15 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 09:57:36 | × | mari-estel quits (~mari-este@user/mari-estel) (Remote host closed the connection) |
| 09:57:46 | → | mari-estel joins (~mari-este@user/mari-estel) |
| 09:59:57 | × | driib318 quits (~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat) |
| 10:00:48 | → | driib318 joins (~driib@vmi931078.contaboserver.net) |
| 10:00:49 | → | mceresa_ joins (~mceresa@user/mceresa) |
| 10:02:12 | × | mceresa quits (~mceresa@user/mceresa) (Ping timeout: 265 seconds) |
| 10:02:26 | → | lxsameer joins (~lxsameer@Serene/lxsameer) |
| 10:02:41 | → | mceresa joins (~mceresa@user/mceresa) |
| 10:02:48 | × | mceresa_ quits (~mceresa@user/mceresa) (Read error: Connection reset by peer) |
| 10:05:25 | → | mari40982 joins (~mari-este@user/mari-estel) |
| 10:07:55 | × | mari-estel quits (~mari-este@user/mari-estel) (Ping timeout: 264 seconds) |
| 10:18:28 | × | econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
| 10:33:27 | × | mari40982 quits (~mari-este@user/mari-estel) (Remote host closed the connection) |
| 10:33:40 | → | mari-estel joins (~mari-este@user/mari-estel) |
| 10:34:27 | × | CiaoSen quits (~Jura@2a05:5800:20a:3000:ca4b:d6ff:fec1:99da) (Ping timeout: 252 seconds) |
| 10:44:39 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2) |
| 10:49:26 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 10:49:36 | × | Square quits (~Square@user/square) (Ping timeout: 276 seconds) |
| 10:55:26 | × | mceresa quits (~mceresa@user/mceresa) (Ping timeout: 252 seconds) |
| 11:07:21 | × | euleritian quits (~euleritia@ip2504f9cf.dynamic.kabel-deutschland.de) (Ping timeout: 246 seconds) |
| 11:08:46 | → | euleritian joins (~euleritia@dynamic-176-006-140-182.176.6.pool.telefonica.de) |
| 11:09:46 | × | kenran quits (~void@user/kenran) (Ping timeout: 244 seconds) |
| 11:10:52 | → | pavonia joins (~user@user/siracusa) |
| 11:13:19 | × | kuribas quits (~user@ptr-17d51eptprfopgif7d6.18120a2.ip6.access.telenet.be) (Ping timeout: 264 seconds) |
| 11:28:13 | × | Digit quits (~user@user/digit) (Read error: Connection reset by peer) |
| 11:30:39 | → | kuribas joins (~user@ptr-17d51emgi36u91b7ck4.18120a2.ip6.access.telenet.be) |
| 11:30:52 | → | Digit joins (~user@user/digit) |
| 11:31:39 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 11:37:27 | × | mari-estel quits (~mari-este@user/mari-estel) (Remote host closed the connection) |
| 11:37:41 | → | mari-estel joins (~mari-este@user/mari-estel) |
| 11:44:06 | → | mceresa joins (~mceresa@user/mceresa) |
| 11:44:08 | → | son0p joins (~ff@2800:e2:f80:ee7::4) |
| 11:44:37 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 11:54:42 | → | szkl joins (uid110435@id-110435.uxbridge.irccloud.com) |
| 11:54:49 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 11:59:51 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 246 seconds) |
| 12:06:38 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 12:11:54 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 12:13:16 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 12:19:20 | × | alp_ quits (~alp@2001:861:8ca0:4940:fc9d:90cc:a5de:4f14) (Remote host closed the connection) |
| 12:19:39 | → | alp_ joins (~alp@2001:861:8ca0:4940:7c0a:aa87:68a6:fce0) |
| 12:23:45 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 12:27:05 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 252 seconds) |
| 12:27:09 | × | acidjnk_new3 quits (~acidjnk@p200300d6e7283f07512390ce63ebc194.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 12:27:47 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 12:29:02 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 12:29:27 | → | acidjnk_new3 joins (~acidjnk@p200300d6e7283f07095a006aa041e305.dip0.t-ipconnect.de) |
| 12:30:23 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 12:38:10 | → | divya joins (~user@139.5.11.231) |
| 12:39:41 | <divya> | I'm in the process of building a symbolic math library in Haskell, I've mostly looked around for similar stuff in hackage and other relevant places, but if anyone here has any cool stuff I should look into, please let me know. |
| 12:41:04 | <mauke> | > a^3 |
| 12:41:06 | <lambdabot> | a * a * a |
| 12:41:41 | <hellwolf> | divya: cool!! is it already a public git repo that I can follow? |
| 12:42:24 | <divya> | hellwolf: Hey, not yet, I'm being a bit conservative until I fix a few things and some basic things work, but I'll soon release it on codeberg and github and link it here :) |
| 12:43:22 | <divya> | It was quite surprising to me that no such library as of now exists, since as a math person, Haskell comes naturally as a language for this purpose, than say Python (with SymPy et.al) |
| 12:43:28 | <hellwolf> | nice, I have been using sage. but I am very enthusiastic about a Haskell impl! |
| 12:43:40 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 12:43:57 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
| 12:44:15 | <divya> | hellwolf: Good to know there's peple who'd be interested :D |
| 12:44:37 | <hellwolf> | I am not an advanced user, but when I needed it, I used sage. |
| 12:44:50 | × | mange quits (~user@user/mange) (Quit: Zzz...) |
| 12:50:17 | → | JuanDaugherty joins (~juan@user/JuanDaugherty) |
| 12:53:45 | × | kuribas quits (~user@ptr-17d51emgi36u91b7ck4.18120a2.ip6.access.telenet.be) (Ping timeout: 276 seconds) |
| 12:59:43 | × | euleritian quits (~euleritia@dynamic-176-006-140-182.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 13:00:01 | → | euleritian joins (~euleritia@ip2504f9cf.dynamic.kabel-deutschland.de) |
| 13:00:52 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 13:04:19 | → | Square joins (~Square@user/square) |
| 13:04:28 | → | kuribas joins (~user@ptr-17d51emjupdmw5dv1xj.18120a2.ip6.access.telenet.be) |
| 13:11:13 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds) |
| 13:20:28 | <[exa]> | divya: pls announce here once anything gets out! |
| 13:20:53 | <divya> | [exa]: By all means :) |
| 13:21:45 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 13:22:25 | <[exa]> | divya: anyway the unavailability might be due to the common standards in the field; to me it seems like that common symbolic math users are also the ones who just yolo inversion of badly determined linear systems and let their data die in round-off errors. And that doesn't really fit into haskell way of thinking |
| 13:23:06 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 13:23:15 | × | mari-estel quits (~mari-este@user/mari-estel) (Quit: time to cook something) |
| 13:31:11 | <divya> | [exa]: Well, yeah, but I guess one could change that and bring cleaner approaches to computation. |
| 13:32:32 | <[exa]> | *the compendium of matlab users frowns in annoyance* |
| 13:32:38 | <divya> | hahaha |
| 13:33:14 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 13:36:39 | × | tinjamin4 quits (~tinjamin@banshee.h4x0r.space) (Remote host closed the connection) |
| 13:36:42 | <divya> | Having played around with matlab and its libre alternatives, I don't like how I have to think while doing computation in it. It takes me steps further away from what I'd do in math. |
| 13:37:58 | → | tinjamin4 joins (~tinjamin@banshee.h4x0r.space) |
| 13:42:37 | → | ft joins (~ft@p508db9c7.dip0.t-ipconnect.de) |
| 13:44:12 | <JuanDaugherty> | there may be some cognive dissonance, blockage, obviation, with the notion that hs is an implementation of mathematics, that and the plethora of pkgs mentioned |
| 13:45:15 | <JuanDaugherty> | mahematica being the one on my mind rn, as i'm moving a desktop where its installed and will have to get a new math id |
| 13:45:18 | <JuanDaugherty> | maybe |
| 13:45:45 | <JuanDaugherty> | *cognitive |
| 13:46:19 | <zzz> | when using `join bimap IntMap.fromList ...` do both IntMaps have to have the same type? does the Dreaded Monomorphism Restriction force me to write `bimap IntMap.fromList IntMap.fromList ...` ? |
| 13:46:25 | × | euleritian quits (~euleritia@ip2504f9cf.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds) |
| 13:46:42 | <zzz> | or is it something else? |
| 13:47:09 | <merijn> | zzz: nah, the problem is join not inferring a Rank2Type |
| 13:47:29 | → | euleritian joins (~euleritia@dynamic-176-006-140-182.176.6.pool.telefonica.de) |
| 13:47:36 | <merijn> | Which makes sense because, while theoretically solved efficient Rank2 type inference is hard to implement/make fast |
| 13:47:55 | <merijn> | I *think* you should be able to make it work if you manually write out the Rank2 type |
| 13:48:30 | <JuanDaugherty> | *mathematica |
| 13:48:37 | × | JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
| 13:49:17 | <merijn> | actually, maybe I'm talking nonsense |
| 13:49:53 | <merijn> | ok, no, I think that's right |
| 13:52:43 | <merijn> | zzz: i.e. what you're passing is `forall v . [(Int, v)] -> IntMap v`, (which works for any `v`), but once join passes it to bimap it'll have constrained them to the *same* `v` (that is, `[(Int, v)] -> IntMap v` for some out of scope type variable v), so what you're needing `join` to track is the fact that your function is polymorphic (which it could, with a Rank2 type), but GHC doesn't support inferring |
| 13:52:49 | <merijn> | Rank2Types (last I checked, anyway) only checking them |
| 13:53:02 | <merijn> | zzz: See this example: https://gist.github.com/merijn/77e3fa9757658e59b01d |
| 13:53:17 | <zzz> | i get it! thanks |
| 14:03:26 | × | szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 14:05:21 | <absence> | Is it generally "safe" to peel off newtype wrappers with unsafeCoerce, assuming one doesn't mess up the type signature? |
| 14:05:37 | <merijn> | absence: Define safe |
| 14:05:45 | <merijn> | Also, sounds like you want "coerce" :p |
| 14:06:17 | <absence> | Safe as in doesn't crash. I can't use coerce because the newtype constructor isn't exported. |
| 14:06:58 | <merijn> | absence: Shouldn't crash, the main risk is that you can (theoretically) violate type safety, but that requires some intentionally crafted shenanigans |
| 14:13:13 | <tomsmeding> | absence: the representation of the newtype is the same as that of its field, so you get a valid heap object after that unsafeCoerce. Whether you also get a valid value in the API of whatever library you're using, is for you to say :) |
| 14:13:48 | <tomsmeding> | depending on the invariants that the library expects, the result may well be that the library's functions crash somehow |
| 14:14:05 | <merijn> | tomsmeding: Well, there's some typeclass shenanigans that let you implement "unsafePerformIO" using it and other type safety compromising shenanigans |
| 14:14:34 | <merijn> | but yeah, the runtime representation of newtypes is guaranteed to be the same as their argument, so unsafeCoerce should always work fine (for some value of fine) |
| 14:17:11 | <absence> | The invariants part will be fun, since IO and threads are involved, but you have to break some eggs to make omelette... :P At least it's good to know that any crashes won't be caused by the coercion itself. Thanks! |
| 14:18:14 | <merijn> | absence: tbh, you do have to pull some shenanigans that are hard to do "on accident" for that to happen :p |
| 14:20:14 | → | weary-traveler joins (~user@user/user363627) |
| 14:27:00 | × | ubert quits (~Thunderbi@77.119.163.150.wireless.dyn.drei.com) (Ping timeout: 272 seconds) |
| 14:31:51 | → | zetef joins (~quassel@5.14.132.167) |
| 14:31:58 | × | zetef quits (~quassel@5.14.132.167) (Client Quit) |
| 14:32:42 | → | CoolMa7 joins (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) |
| 14:36:21 | → | zenmov joins (~zenmov@152.59.70.72) |
| 14:36:43 | → | CoolMa7_ joins (~CoolMa7@128.90.175.4) |
| 14:36:57 | → | zenmov_ joins (~zenmov@2409:40d0:2038:3f1c:fdb9:d79d:f240:f872) |
| 14:37:19 | × | CoolMa7 quits (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds) |
| 14:40:14 | → | CoolMa7 joins (~CoolMa7@95.91.137.87) |
| 14:41:25 | × | CoolMa7_ quits (~CoolMa7@128.90.175.4) (Ping timeout: 248 seconds) |
| 14:41:36 | × | CoolMa7 quits (~CoolMa7@95.91.137.87) (Client Quit) |
| 14:43:08 | × | zenmov quits (~zenmov@152.59.70.72) (Ping timeout: 252 seconds) |
| 14:43:09 | × | zenmov_ quits (~zenmov@2409:40d0:2038:3f1c:fdb9:d79d:f240:f872) (Ping timeout: 244 seconds) |
| 14:44:42 | → | ubert joins (~Thunderbi@178.165.183.45.wireless.dyn.drei.com) |
| 14:49:07 | × | gorignak quits (~gorignak@user/gorignak) (Quit: quit) |
| 14:49:39 | → | gorignak joins (~gorignak@user/gorignak) |
| 14:49:39 | → | ash3en joins (~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) |
| 14:49:55 | × | ash3en quits (~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) (Client Quit) |
| 14:54:41 | × | alp_ quits (~alp@2001:861:8ca0:4940:7c0a:aa87:68a6:fce0) (Ping timeout: 248 seconds) |
| 14:59:19 | × | gorignak quits (~gorignak@user/gorignak) (Quit: quit) |
| 14:59:50 | → | gorignak joins (~gorignak@user/gorignak) |
| 15:04:36 | → | mari-estel joins (~mari-este@user/mari-estel) |
| 15:09:30 | × | gorignak quits (~gorignak@user/gorignak) (Quit: quit) |
| 15:10:01 | → | gorignak joins (~gorignak@user/gorignak) |
| 15:10:17 | → | ph88 joins (~ph88@2a02:8109:9e26:c800:b207:6fdf:3bc2:af75) |
| 15:10:57 | → | paul_j joins (~user@8.190.187.81.in-addr.arpa) |
| 15:17:42 | → | alp_ joins (~alp@2001:861:8ca0:4940:78a1:8f27:d654:5f75) |
| 15:21:10 | × | divya quits (~user@139.5.11.231) (Read error: Connection reset by peer) |
| 15:21:24 | → | divya joins (~user@139.5.11.231) |
| 15:33:42 | × | ph88 quits (~ph88@2a02:8109:9e26:c800:b207:6fdf:3bc2:af75) (Ping timeout: 246 seconds) |
| 15:35:53 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 15:41:33 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 15:59:18 | <hellwolf> | a problem surfaced after using top-level TH splice to generate the type synonyms... LSP seems confused... |
| 15:59:39 | <hellwolf> | For the sake of devx, I may have to roll back that fancy top-level TH splice trick :( |
| 15:59:54 | <hellwolf> | But should revisit LSP another day to fix it. |
| 16:01:54 | × | mari-estel quits (~mari-este@user/mari-estel) () |
| 16:01:55 | <hellwolf> | "Can't find interface-file declaration for type constructor or class U8" |
| 16:02:12 | <hellwolf> | "Possible cause: bug in .hi-boot file, or incosistent .hi file ...." |
| 16:02:26 | <hellwolf> | perhaps I can create a .hi-boot file to assist it... |
| 16:08:04 | <merijn> | hellwolf: First question for you: Do you have multiple TH splices in that file? |
| 16:08:37 | <merijn> | hellwolf: Second question: Are you referencing that top level type synonym before the splice defining it? |
| 16:10:10 | → | mari-estel joins (~mari-este@user/mari-estel) |
| 16:11:14 | × | gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
| 16:11:50 | <hellwolf> | 1st: No, only one big top-level splice, see "https://github.com/hellwolf/yul-dsl-monorepo/blob/35727d4d0932d1189b922da47e292cfd8c1b362b/hs-pkgs/eth-abi/src/Ethereum/ContractABI/CoreType/INTx.hs#L168", it was from a thread a few days ago. |
| 16:12:16 | <hellwolf> | 2nd: No, I refer to it elsewhere, it works. The one that's bailing is LSP |
| 16:13:13 | <hellwolf> | If it's not a red herring, I may have to just revert to old way: https://github.com/hellwolf/yul-dsl-monorepo/blob/1291a7ae1ac1770c3d3966991075a099225c32dc/hs-pkgs/eth-abi/src/Ethereum/ContractABI/CoreType/INTx.hs#L169 (so far, it seems to be an LSP issue.0 |
| 16:13:19 | <merijn> | oh, wait,ok, that rules out any if the things I was thinking :p |
| 16:13:47 | <merijn> | hellwolf: What exactly is the LSP error? |
| 16:14:04 | <hellwolf> | I quoted above. Few lines back. |
| 16:14:12 | <hellwolf> | "Can't find interface-file declaration" |
| 16:14:48 | <hellwolf> | it's a pity. I really liked that top-level slice. I will keep that trick for instance declarations, but I'd have to bail for the type synonyms. |
| 16:15:32 | <merijn> | hellwolf: Is that project using FFI anywhere? |
| 16:15:39 | <haskellbridge> | <hellwolf> nope |
| 16:15:53 | <merijn> | ok, then I'm out of obvious ideas for culprits :p |
| 16:16:30 | <haskellbridge> | <hellwolf> Maybe LSP have limitations on TH in general. THat's why I was asking here, since some people here may know. |
| 16:17:11 | → | gentauro joins (~gentauro@user/gentauro) |
| 16:17:33 | <merijn> | In general it should work |
| 16:17:48 | <merijn> | I've used it already years ago and only ran into some really niche issues |
| 16:18:42 | <hellwolf> | Maybe I can create a minimal reproduceable case. I will take a mental note and do that some other day. |
| 16:18:42 | → | vektor joins (~vektor@IP-149249144107.pools.medianet-world.de) |
| 16:19:56 | × | euleritian quits (~euleritia@dynamic-176-006-140-182.176.6.pool.telefonica.de) (Ping timeout: 252 seconds) |
| 16:20:12 | <vektor> | ... GHC, are you quite alright? https://paste.tomsmeding.com/Nlr8wvdB |
| 16:20:17 | → | euleritian joins (~euleritia@dynamic-176-006-140-182.176.6.pool.telefonica.de) |
| 16:20:17 | × | paul_j quits (~user@8.190.187.81.in-addr.arpa) (Remote host closed the connection) |
| 16:20:31 | → | paul_j joins (~user@8.190.187.81.in-addr.arpa) |
| 16:21:17 | <vektor> | I can not for the life of me figure out how GHC thinks that I applied three args to "not" here. |
| 16:21:18 | <vektor> | I get it's super wrong, the `and` should've been infix to properly syntax, and it should've been && to properly type. |
| 16:21:18 | <vektor> | But can GHC really not offer a better error here? |
| 16:23:04 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 16:23:24 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 246 seconds) |
| 16:25:11 | <vektor> | I suppose haskell figured it's just an application chain: not True and (not False) - because the and wasn't infixed, it's the only option the parser is left with, which makes no sense at the type level. |
| 16:25:39 | <geekosaur> | :t and |
| 16:25:40 | <lambdabot> | Foldable t => t Bool -> Bool |
| 16:26:01 | <geekosaur> | `and` is not what you think it is, so `not` is not being used the way you think it should be |
| 16:26:25 | <geekosaur> | (you want `&&`) |
| 16:26:55 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 16:26:57 | <hellwolf> | you use (&&) (||) but you should use (not) <-- haskell logic :) |
| 16:29:10 | → | zenmov joins (~zenmov@103.212.156.174) |
| 16:29:10 | <vektor> | geeko: yeah, I mean, I know how it should be, I'm more confused by the absolutely cryptic compiler error. Considering that to the "human parse" of the program, there's syntax errors, but haskell is just like "this is fine" and hands the hot potato off to the type system. |
| 16:29:34 | → | zenmov_ joins (~zenmov@103.212.156.174) |
| 16:29:39 | <geekosaur> | it's not a syntax error |
| 16:29:48 | <vektor> | Well, yes, not to GHC. |
| 16:29:58 | <geekosaur> | the syntax is entirely valid, it just means something completely different from what you intended |
| 16:30:21 | <geekosaur> | and "intent" is not something a compiler can infer |
| 16:30:32 | <vektor> | Of course. |
| 16:30:57 | <geekosaur> | (well, that's not wntirely true. but that gets you WATFIV which infamously could compile just about anything by "correcting" you, usually in ways you didn't expect) |
| 16:31:32 | <vektor> | I mean, I've had the same problem in different instances come to bite me every so often: The parser will accept a lot of stuff that is absolutely hot flaming garbage, and doesn't pass a basic sniff test, but the type checker gives cryptic errors. |
| 16:32:52 | <hellwolf> | do you have a suggestion? |
| 16:33:07 | <vektor> | Beyond "display the syntax tree for debug purposes"... not really? |
| 16:33:32 | <hellwolf> | did your terminal show red text for the first "not"? |
| 16:34:21 | <vektor> | nope |
| 16:34:37 | <geekosaur> | the typechecker didn't get that far |
| 16:34:41 | <mari-estel> | @hoogle (a -> m b) -> t a -> m (t (a, b)) |
| 16:34:42 | <lambdabot> | No results found |
| 16:35:18 | <vektor> | Perhaps slightly less radical: When printing the "but it was applied to too many" error message, GHC could quickly spit out what exactly those three args are. |
| 16:35:24 | <geekosaur> | (if it had, it would have inferred `(not True)` as having a function type) |
| 16:35:38 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 16:35:49 | <geekosaur> | even that is a bit difficult, because they come form `and` |
| 16:35:58 | <vektor> | Cause this is either a "beyond obvious" error where you know just from the error message what's the problem, or it's a very sneaky issue. |
| 16:36:16 | <geekosaur> | `and FUNCTION LIST` folds `FUNCTION` over `LIST` |
| 16:36:30 | <geekosaur> | (whihc must be a list of `Bool`) |
| 16:39:09 | × | euleritian quits (~euleritia@dynamic-176-006-140-182.176.6.pool.telefonica.de) (Ping timeout: 246 seconds) |
| 16:39:51 | <geekosaur> | and yes, the type of higher order expressions can be a bit weird, especially if the result is inferred to be higher order which is what the `(not True)` is doing to you |
| 16:40:41 | <geekosaur> | (because, by its position in the expression, it is expected to be a function type) |
| 16:42:49 | <geekosaur> | what you may actually be looking for is Helium |
| 16:43:25 | <geekosaur> | https://github.com/Helium4Haskell/helium |
| 16:49:36 | <mari-estel> | @hoogle [(a, [b])] -> [(b -> [a])] |
| 16:49:37 | <lambdabot> | No results found |
| 16:49:41 | × | zenmov quits (~zenmov@103.212.156.174) (Changing host) |
| 16:49:41 | → | zenmov joins (~zenmov@user/zenmov) |
| 16:51:52 | <mari-estel> | @hoogle Map a b -> Map b a |
| 16:51:53 | <lambdabot> | No results found |
| 17:01:59 | → | Digitteknohippie joins (~user@user/digit) |
| 17:02:03 | × | Digit quits (~user@user/digit) (Ping timeout: 276 seconds) |
| 17:02:32 | × | zenmov_ quits (~zenmov@103.212.156.174) (Quit: leaving) |
| 17:02:32 | × | zenmov quits (~zenmov@user/zenmov) (Quit: leaving) |
| 17:02:51 | → | zenmov joins (~zenmov@103.212.156.174) |
| 17:03:32 | × | zenmov quits (~zenmov@103.212.156.174) (Changing host) |
| 17:03:32 | → | zenmov joins (~zenmov@user/zenmov) |
| 17:10:50 | × | zenmov quits (~zenmov@user/zenmov) (Quit: leaving) |
| 17:11:05 | → | zenmov joins (~zenmov@103.212.156.174) |
| 17:11:22 | × | vektor quits (~vektor@IP-149249144107.pools.medianet-world.de) (Quit: Client closed) |
| 17:11:56 | × | zenmov quits (~zenmov@103.212.156.174) (Changing host) |
| 17:11:56 | → | zenmov joins (~zenmov@user/zenmov) |
| 17:14:37 | → | ljdarj1 joins (~Thunderbi@user/ljdarj) |
| 17:18:00 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 272 seconds) |
| 17:18:27 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 17:18:40 | × | ljdarj1 quits (~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds) |
| 17:22:03 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:28:11 | → | machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net) |
| 17:30:46 | × | gmg quits (~user@user/gehmehgeh) (Ping timeout: 260 seconds) |
| 17:37:49 | × | todi quits (~todi@p57803331.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 17:40:22 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 17:40:29 | → | euleritian joins (~euleritia@dynamic-176-006-140-182.176.6.pool.telefonica.de) |
| 17:40:32 | × | mari-estel quits (~mari-este@user/mari-estel) (Remote host closed the connection) |
| 17:43:47 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 17:44:49 | × | euleritian quits (~euleritia@dynamic-176-006-140-182.176.6.pool.telefonica.de) (Ping timeout: 260 seconds) |
| 17:48:17 | <bwe> | Two data constructors with records `groupName`. OverloadedRecordDot and DuplicateRecordFields on. In file where I define both constructurs as well as where I use them. Still getting ambiguous occurrence error. What's the right way to use two same record names? https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/overloaded_record_dot.html does not say more. |
| 17:49:06 | × | son0p quits (~ff@2800:e2:f80:ee7::4) (Ping timeout: 265 seconds) |
| 17:49:27 | <bwe> | side note: I am using the recordname `groupName` as a function like `map (S.singleton . groupName) xs` |
| 17:50:52 | → | todi joins (~todi@p57803331.dip0.t-ipconnect.de) |
| 17:51:30 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 17:51:48 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:52:34 | → | gmg joins (~user@user/gehmehgeh) |
| 17:55:36 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 17:56:05 | <kaol> | bwe: That use doesn't really concern OverloadedRecordDot. Check the section about imports at https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/duplicate_record_fields.html, hiding one of the groupName definitions or importing it twice with qualified names could work. |
| 17:58:35 | <bwe> | what's the convention now? defining record names including the dataConstructorRecordLabel or recordLabel? |
| 18:03:59 | <kaol> | I'm not sure what else to say without seeing any code. |
| 18:06:47 | → | weary-traveler joins (~user@user/user363627) |
| 18:08:29 | → | Guest22 joins (~Guest22@78.10.206.35) |
| 18:08:39 | × | Guest22 quits (~Guest22@78.10.206.35) (Client Quit) |
| 18:10:04 | × | todi quits (~todi@p57803331.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 18:10:38 | <hellwolf> | I made it :) |
| 18:10:39 | <hellwolf> | λ> :type erc20_transfer |
| 18:10:39 | <hellwolf> | erc20_transfer |
| 18:10:39 | <hellwolf> | :: Fn (MkLinearEffect 1) (ADDR -> ADDR -> INTx False 32 -> BOOL) |
| 18:11:13 | <hellwolf> | I have now a system that tracks stateful transitions with a number in (MkLinearEffect) and with linear types it can eliminate a bunch of programming mistakes. |
| 18:11:18 | <hellwolf> | GHC/Haskell is great. |
| 18:15:44 | <hellwolf> | I wish GHCi could show U256 instead of "INTx False 32", which is a type synonym. |
| 18:16:52 | × | cheater quits (~Username@user/cheater) (Quit: Going offline, see ya! (www.adiirc.com)) |
| 18:18:09 | <kaol> | bwe: You could use something like (\YourType1{groupName = x} -> x) to make it work in the same module where you define it. |
| 18:19:19 | → | housemate joins (~housemate@2405:6e00:2239:800c:bb7d:84ba:bcf2:399e) |
| 18:20:39 | → | tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
| 18:22:31 | → | todi joins (~todi@p57803331.dip0.t-ipconnect.de) |
| 18:23:03 | → | euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) |
| 18:24:56 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 18:25:11 | <bwe> | kaol: ok, thanks. |
| 18:25:46 | catties | is now known as Catty |
| 18:26:51 | <bwe> | is there any data type in Haskell that allows ONLY Integer numbers that are positive and non zero? |
| 18:27:08 | <bwe> | I'd like to avoid error catching and handling of DivZero |
| 18:27:37 | <mauke> | don't think so |
| 18:27:56 | × | paul_j quits (~user@8.190.187.81.in-addr.arpa) (Quit: Asta la vista) |
| 18:34:50 | <haskellbridge> | <Bowuigi> Maybe https://hackage.haskell.org/package/ghc-bignum |
| 18:35:04 | <haskellbridge> | <Bowuigi> Not non-zero but it rules out negative ones |
| 18:36:50 | <tomsmeding> | bwe: your own newtype around Natural :p |
| 18:36:57 | <tomsmeding> | beware when implementing Num |
| 18:37:04 | <tomsmeding> | x - x is an error |
| 18:37:57 | <kaol> | Or the friends in Data.Word. |
| 18:38:31 | <kaol> | Just define x - x = maxBound for fun times. |
| 18:38:57 | <tomsmeding> | if you want to be sure that no-one wants to maintain your code, that is :) |
| 18:40:07 | <kaol> | Banning zero is a novel idea for sure. Sorry, you're better off with just dealing with the case in your code. |
| 18:40:35 | <tomsmeding> | it could be a Semigroup over addition just fine |
| 18:40:37 | <tomsmeding> | but not much more |
| 18:42:41 | <kaol> | If you'd be okay with using only (*) you can have your monoid. |
| 18:46:42 | <haskellbridge> | <hellwolf> you can probably achieve it with Nat too, for type level guarantee, whereby anything that generate a zero is a type error. but depending on your use case, this can be rather difficult to wield, since it requires you carry proofs around. |
| 18:47:36 | <haskellbridge> | <hellwolf> liquid haskell is probably more "practical", but I don't have experience with. |
| 18:47:36 | <haskellbridge> | Otherwise, newtype, your own Num and live with runtime errors.. |
| 18:48:04 | <haskellbridge> | <hellwolf> but by that point, you might as well live with the divide by zero runtime error? |
| 18:48:55 | Digitteknohippie | is now known as Digit |
| 18:53:31 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds) |
| 19:00:16 | <lxsameer> | is there anyway to restrict Async's mapConcurrently to do X jobs at the same time? |
| 19:02:11 | → | philopsos joins (~caecilius@user/philopsos) |
| 19:02:45 | × | euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds) |
| 19:04:17 | × | Natch quits (~natch@c-92-34-7-158.bbcust.telenor.se) (Remote host closed the connection) |
| 19:04:45 | → | euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) |
| 19:06:51 | <tomsmeding> | Control.Concurrent.setNumCapabilities? :p |
| 19:07:07 | <tomsmeding> | (there'd better be a better answer) |
| 19:07:58 | <kaol> | This may be brute forcing, but: Create an MVar. Start a thread that puts as many () tokens in it with putMVar as you want threads in a loop. Wrap each action with takeMVar and putMVar except for the last n that only take. |
| 19:09:32 | <lxsameer> | cheers |
| 19:10:00 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:10:44 | <tomsmeding> | lxsameer: I looked into the source of mapConcurrently a little, and it seems it just uses forkIO to start a whole bunch of threads, one per list item |
| 19:10:56 | <tomsmeding> | so if you want to limit parallelism, it's up to you to restrict the list length |
| 19:11:15 | <tomsmeding> | ah, see also the last paragraph in the haddocks here https://hackage.haskell.org/package/async-2.2.5/docs/Control-Concurrent-Async.html#v:mapConcurrently |
| 19:11:22 | <tomsmeding> | that could have more prominence :p |
| 19:12:14 | <lxsameer> | tomsmeding: cheers, I'm donig some locking now |
| 19:12:35 | <tomsmeding> | lxsameer: https://hackage.haskell.org/package/async-pool |
| 19:12:47 | <tomsmeding> | I think this does what you want |
| 19:13:42 | <tomsmeding> | there's a mapConcurrently there too |
| 19:14:33 | <tomsmeding> | seems to be using STM under the hood, not sure if that's the most efficient way to do this, but it works I guess |
| 19:14:45 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 19:14:48 | <tomsmeding> | perhaps still don't use that on gigantic lists? |
| 19:15:10 | <lxsameer> | tomsmeding: thank you. for now i just need it to work |
| 19:15:44 | <tomsmeding> | an MVar containing an Int of the number of "free worker threads" could work |
| 19:16:01 | <tomsmeding> | hm, no |
| 19:17:58 | <lxsameer> | what about partitioning the array into pieces and evaluate the chunks in series |
| 19:18:05 | <lxsameer> | each with mapConcurrently |
| 19:18:38 | <tomsmeding> | rather cut the array in pieces, mapConcurrently over the array of pieces, and do each piece sequentially |
| 19:19:00 | <lxsameer> | tomsmeding: cool even better |
| 19:19:05 | <lxsameer> | thanks mate |
| 19:20:19 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:20:58 | <tomsmeding> | (this is how mapConcurrently is intended to be used, I think) |
| 19:22:34 | <kaol> | Starting new threads is relatively expensive. |
| 19:23:36 | <lxsameer> | kaol: it's a green thread |
| 19:24:06 | <kaol> | "Relatively" still holds. |
| 19:24:29 | → | sprotte24 joins (~sprotte24@p200300d16f067300a0004335d6f02347.dip0.t-ipconnect.de) |
| 19:24:43 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 19:25:31 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:30:14 | <lxsameer> | yeah for sure |
| 19:32:31 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds) |
| 19:43:29 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:47:53 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 19:51:59 | × | lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 260 seconds) |
| 19:55:50 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 19:56:14 | → | Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
| 19:56:55 | × | andreas303 quits (andreas303@is.drunk.and.ready-to.party) (Quit: fBNC - https://bnc4free.com) |
| 19:58:51 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:00:06 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 20:00:43 | → | caconym joins (~caconym@user/caconym) |
| 20:03:14 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 20:04:10 | × | Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 20:09:09 | → | andreas303 joins (andreas303@is.drunk.and.ready-to.party) |
| 20:10:37 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Quit: peterbecich) |
| 20:11:26 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 20:12:39 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Quit: leaving) |
| 20:14:12 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:17:30 | → | szkl joins (uid110435@id-110435.uxbridge.irccloud.com) |
| 20:18:28 | × | remedan quits (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!) |
| 20:18:37 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 20:20:35 | → | remedan joins (~remedan@ip-62-245-108-153.bb.vodafone.cz) |
| 20:21:02 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 272 seconds) |
| 20:21:49 | → | JuanDaugherty joins (~juan@user/JuanDaugherty) |
| 20:27:32 | → | Natch joins (~natch@c-92-34-7-158.bbcust.telenor.se) |
| 20:29:33 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:33:54 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 20:40:21 | → | Everything joins (~Everythin@46-133-172-194.mobile.vf-ua.net) |
| 20:43:58 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 20:44:53 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 20:44:56 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:46:42 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 20:48:07 | × | _________ quits (~nobody@user/noodly) (Ping timeout: 264 seconds) |
| 20:48:27 | <geekosaur> | re mapConcurrently, isn't this more the area of Control.Parallel.Strategies? Sparks are cheap |
| 20:48:30 | → | CoolMa7 joins (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) |
| 20:48:47 | <geekosaur> | and map-reduce is more or less their intended use case |
| 20:49:24 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 20:55:02 | → | _________ joins (~nobody@user/noodly) |
| 20:58:15 | × | ubert quits (~Thunderbi@178.165.183.45.wireless.dyn.drei.com) (Ping timeout: 244 seconds) |
| 21:00:17 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:05:36 | × | briandaed quits (~root@user/briandaed) (Remote host closed the connection) |
| 21:06:57 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 21:16:20 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:16:36 | × | housemate quits (~housemate@2405:6e00:2239:800c:bb7d:84ba:bcf2:399e) (Quit: Nothing to see here. I wasn't there.) |
| 21:18:19 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:19:59 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 21:22:48 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 21:23:31 | × | stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds) |
| 21:28:10 | × | JuanDaugherty quits (~juan@user/JuanDaugherty) (Remote host closed the connection) |
| 21:31:05 | <kaol> | Is Control.Parallel.Strategies really usable if you want to do parallel IO? There's usingIO and friends but they don't give access to it inside any evaluation. |
| 21:32:45 | <glguy> | That module is for parallelizing pure expressions |
| 21:33:38 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:35:50 | <bwe> | tomsmeding: btw it's cool to have random example code show up at when I open a new https://play-haskell.tomsmeding.com session! |
| 21:38:13 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:38:57 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 21:46:45 | × | tureba quits (~tureba@tureba.org) (Ping timeout: 276 seconds) |
| 21:49:00 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:49:01 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 21:49:13 | → | Wygulmage joins (~Wygulmage@136.61.37.182) |
| 21:53:10 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 21:53:29 | × | Wygulmage quits (~Wygulmage@136.61.37.182) (Changing host) |
| 21:53:29 | → | Wygulmage joins (~Wygulmage@user/Wygulmage) |
| 21:53:41 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 21:54:39 | <Wygulmage> | Is there a way to pause garbage collection so you can use the contents of an unpinned ByteArray# as a pointer? |
| 21:54:42 | → | JuanDaugherty joins (~juan@user/JuanDaugherty) |
| 21:57:00 | <Wygulmage> | Or do I just have to write the ByteArray# pointer using procedure in C rather than Haskell and call it via the FFI? |
| 21:58:56 | → | son0p joins (~ff@2800:e2:f80:ee7::4) |
| 21:59:40 | → | falafel joins (~falafel@2600:1700:99f4:2050:a671:a554:1476:adab) |
| 22:03:47 | → | stiell_ joins (~stiell@gateway/tor-sasl/stiell) |
| 22:04:22 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:06:26 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:06:43 | × | falafel quits (~falafel@2600:1700:99f4:2050:a671:a554:1476:adab) (Ping timeout: 264 seconds) |
| 22:06:52 | <geekosaur> | you can't pause or block GC, no |
| 22:08:51 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 22:09:03 | → | falafel joins (~falafel@2600:1700:99f4:2050:dfcb:3f75:eb96:8dee) |
| 22:13:30 | × | falafel quits (~falafel@2600:1700:99f4:2050:dfcb:3f75:eb96:8dee) (Ping timeout: 252 seconds) |
| 22:15:15 | × | CoolMa7 quits (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
| 22:15:47 | → | CoolMa7 joins (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) |
| 22:17:01 | → | CoolMa7_ joins (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) |
| 22:19:43 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:19:46 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 22:20:21 | × | CoolMa7 quits (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 22:21:58 | × | michalz quits (~michalz@185.246.207.203) (Remote host closed the connection) |
| 22:24:21 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 22:32:44 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:33:00 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 22:33:44 | × | Flow quits (~none@gentoo/developer/flow) (Ping timeout: 260 seconds) |
| 22:35:03 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:35:39 | → | Flow joins (~none@gentoo/developer/flow) |
| 22:41:54 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 22:44:05 | → | tureba joins (~tureba@tureba.org) |
| 22:45:26 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 22:53:05 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:53:15 | → | cheater joins (~Username@user/cheater) |
| 22:57:09 | × | CoolMa7_ quits (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 22:57:23 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 22:57:26 | → | CoolMa7 joins (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) |
| 23:01:53 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 23:01:55 | → | Smiles joins (uid551636@id-551636.lymington.irccloud.com) |
| 23:02:04 | × | CoolMa7 quits (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
| 23:02:19 | → | CoolMa7 joins (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) |
| 23:08:28 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:08:48 | × | CoolMa7 quits (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 23:09:19 | → | mrtz joins (~mrtz@lewi-19-b2-v4wan-169604-cust1264.vm4.cable.virginm.net) |
| 23:09:40 | × | mrtz quits (~mrtz@lewi-19-b2-v4wan-169604-cust1264.vm4.cable.virginm.net) (Remote host closed the connection) |
| 23:12:27 | → | CoolMa7 joins (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) |
| 23:13:06 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 23:13:06 | × | CoolMa7 quits (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 23:21:51 | tabemann_ | is now known as tabemann |
| 23:23:18 | × | divya quits (~user@139.5.11.231) (Read error: Connection reset by peer) |
| 23:23:31 | → | divya joins (~user@139.5.11.231) |
| 23:23:50 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:26:24 | → | myxokephale joins (~myxos@172.93.132.84) |
| 23:28:11 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 23:28:12 | × | myxos quits (~myxos@syn-065-028-251-121.res.spectrum.com) (Ping timeout: 252 seconds) |
| 23:34:25 | × | Alleria quits (~Alleria@user/alleria) (Ping timeout: 252 seconds) |
| 23:35:50 | → | Alleria joins (~Alleria@user/alleria) |
| 23:38:15 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 23:39:11 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:43:21 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 23:43:49 | → | ljdarj1 joins (~Thunderbi@user/ljdarj) |
| 23:45:39 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds) |
| 23:45:39 | ljdarj1 | is now known as ljdarj |
| 23:47:03 | × | acidjnk_new3 quits (~acidjnk@p200300d6e7283f07095a006aa041e305.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
| 23:52:31 | → | myxos joins (~myxos@syn-065-028-251-121.res.spectrum.com) |
| 23:53:32 | × | Everything quits (~Everythin@46-133-172-194.mobile.vf-ua.net) (Quit: leaving) |
| 23:54:01 | × | myxokephale quits (~myxos@172.93.132.84) (Ping timeout: 265 seconds) |
| 23:54:33 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:55:40 | × | myxos quits (~myxos@syn-065-028-251-121.res.spectrum.com) (Client Quit) |
| 23:55:54 | → | myxos joins (~myxos@syn-065-028-251-121.res.spectrum.com) |
| 23:59:22 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
All times are in UTC on 2024-11-22.