2022-11-02 00:01:11 +0100 | <cheater> | mhhhhh |
2022-11-02 00:01:17 +0100 | <cheater> | not a huge Lensman |
2022-11-02 00:01:20 +0100 | nate3 | (~nate@98.45.169.16) |
2022-11-02 00:01:28 +0100 | <Axman6> | the `catches` example here is what I was thinkinng of https://hackage.haskell.org/package/lens-5.2/docs/Control-Exception-Lens.html#t:Handleable |
2022-11-02 00:01:38 +0100 | <cheater> | but i've been reading dmj`'s thing and that looks like a good idea |
2022-11-02 00:01:44 +0100 | <cheater> | it's exactly what i need and nothing more |
2022-11-02 00:02:27 +0100 | freeside | (~mengwong@103.252.202.193) |
2022-11-02 00:03:11 +0100 | <cheater> | dmj`: how does one match on IOErrorType? |
2022-11-02 00:04:11 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2022-11-02 00:05:57 +0100 | nate3 | (~nate@98.45.169.16) (Ping timeout: 255 seconds) |
2022-11-02 00:07:00 +0100 | freeside | (~mengwong@103.252.202.193) (Ping timeout: 248 seconds) |
2022-11-02 00:09:49 +0100 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2022-11-02 00:10:39 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2022-11-02 00:13:02 +0100 | <dmj`> | cheater: https://gist.github.com/dmjio/f4dc26786a78757d9028bd2e6eb50423 |
2022-11-02 00:13:28 +0100 | alismanickt | (~talismani@2601:200:c100:c9e0::1b0b) |
2022-11-02 00:14:00 +0100 | alismanickt | (~talismani@2601:200:c100:c9e0::1b0b) (Remote host closed the connection) |
2022-11-02 00:15:59 +0100 | acidjnk | (~acidjnk@p200300d6e7137a4494984508834583e9.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2022-11-02 00:20:34 +0100 | freeside | (~mengwong@103.252.202.193) |
2022-11-02 00:21:22 +0100 | zaquest | (~notzaques@5.130.79.72) (Ping timeout: 252 seconds) |
2022-11-02 00:25:27 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-11-02 00:26:34 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-11-02 00:34:26 +0100 | zaquest | (~notzaques@5.130.79.72) |
2022-11-02 00:43:31 +0100 | <cheater> | dmj`: thank you :) |
2022-11-02 00:44:03 +0100 | beteigeuze1 | (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) |
2022-11-02 00:45:10 +0100 | jinsun | (~jinsun@user/jinsun) |
2022-11-02 00:45:31 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-11-02 00:45:34 +0100 | beteigeuze | (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Ping timeout: 252 seconds) |
2022-11-02 00:45:34 +0100 | beteigeuze1 | beteigeuze |
2022-11-02 00:46:14 +0100 | jmorris | (uid537181@id-537181.uxbridge.irccloud.com) |
2022-11-02 00:53:07 +0100 | k8yun | (~k8yun@user/k8yun) |
2022-11-02 01:00:01 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) |
2022-11-02 01:00:24 +0100 | chomwitt | (~chomwitt@athe730-c-multi-217.home.otenet.gr) (Ping timeout: 255 seconds) |
2022-11-02 01:00:58 +0100 | Kaipei | (~Kaiepi@108.175.84.104) (Ping timeout: 252 seconds) |
2022-11-02 01:01:19 +0100 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
2022-11-02 01:03:32 +0100 | ubert | (~Thunderbi@77.119.195.127.wireless.dyn.drei.com) (Ping timeout: 248 seconds) |
2022-11-02 01:04:10 +0100 | ubert | (~Thunderbi@178.115.66.72.wireless.dyn.drei.com) |
2022-11-02 01:07:03 +0100 | kimjetwav | (~user@2607:fea8:235e:b600:3e30:e889:113b:1172) |
2022-11-02 01:12:21 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds) |
2022-11-02 01:15:01 +0100 | <cheater> | dmj`: i was looking in the wrong place. of course GHC.IO.Exception contains all the constructors... thanks |
2022-11-02 01:15:23 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2022-11-02 01:17:12 +0100 | Tuplanolla | (~Tuplanoll@91-159-69-11.elisa-laajakaista.fi) (Quit: Leaving.) |
2022-11-02 01:17:33 +0100 | zeenk | (~zeenk@2a02:2f04:a105:5d00:c862:f190:2ea:d494) (Quit: Konversation terminated!) |
2022-11-02 01:18:38 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 246 seconds) |
2022-11-02 01:20:24 +0100 | ddellacosta | (~ddellacos@143.244.47.76) |
2022-11-02 01:21:34 +0100 | boxscape_ | (~boxscape_@81.191.27.107) (Quit: Client closed) |
2022-11-02 01:22:58 +0100 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 252 seconds) |
2022-11-02 01:23:29 +0100 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-11-02 01:23:48 +0100 | ubert | (~Thunderbi@178.115.66.72.wireless.dyn.drei.com) (Ping timeout: 248 seconds) |
2022-11-02 01:24:04 +0100 | danza | (~francesco@22.red-79-153-42.dynamicip.rima-tde.net) (Ping timeout: 252 seconds) |
2022-11-02 01:24:31 +0100 | freeside | (~mengwong@103.252.202.193) (Ping timeout: 272 seconds) |
2022-11-02 01:27:32 +0100 | ddellacosta | (~ddellacos@143.244.47.76) (Ping timeout: 248 seconds) |
2022-11-02 01:29:01 +0100 | tessier | (~treed@98.171.210.130) (Ping timeout: 252 seconds) |
2022-11-02 01:29:22 +0100 | ubert | (~Thunderbi@178.165.201.55.wireless.dyn.drei.com) |
2022-11-02 01:31:06 +0100 | tessier | (~treed@98.171.210.130) |
2022-11-02 01:35:06 +0100 | k8yun | (~k8yun@user/k8yun) (Quit: Leaving) |
2022-11-02 01:35:19 +0100 | mmhat | (~mmh@p200300f1c73076cfee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.7.1) |
2022-11-02 01:37:13 +0100 | danza | (~francesco@22.red-79-153-42.dynamicip.rima-tde.net) |
2022-11-02 01:37:19 +0100 | freeside | (~mengwong@103.252.202.193) |
2022-11-02 01:39:03 +0100 | sadmax | (~user@209.205.174.253) |
2022-11-02 01:41:56 +0100 | freeside | (~mengwong@103.252.202.193) (Ping timeout: 248 seconds) |
2022-11-02 01:52:37 +0100 | freeside | (~mengwong@103.252.202.193) |
2022-11-02 01:57:08 +0100 | freeside | (~mengwong@103.252.202.193) (Ping timeout: 246 seconds) |
2022-11-02 01:58:10 +0100 | sadmax | (~user@209.205.174.253) (Ping timeout: 252 seconds) |
2022-11-02 02:01:18 +0100 | ub | (~Thunderbi@91.141.39.16.wireless.dyn.drei.com) |
2022-11-02 02:01:40 +0100 | ubert | (~Thunderbi@178.165.201.55.wireless.dyn.drei.com) (Ping timeout: 248 seconds) |
2022-11-02 02:01:40 +0100 | ub | ubert |
2022-11-02 02:11:22 +0100 | freeside | (~mengwong@103.252.202.193) |
2022-11-02 02:11:50 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2022-11-02 02:14:57 +0100 | Kaipei | (~Kaiepi@108.175.84.104) |
2022-11-02 02:15:06 +0100 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds) |
2022-11-02 02:17:57 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-11-02 02:30:44 +0100 | xff0x | (~xff0x@2405:6580:b080:900:4f74:df9f:ea35:9157) (Ping timeout: 246 seconds) |
2022-11-02 02:31:01 +0100 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2022-11-02 02:38:52 +0100 | zaquest | (~notzaques@5.130.79.72) (Ping timeout: 252 seconds) |
2022-11-02 02:43:31 +0100 | darkstarx | (~darkstard@50.126.124.156) (Remote host closed the connection) |
2022-11-02 02:44:55 +0100 | darkstarx | (~darkstard@50.126.124.156) |
2022-11-02 02:47:25 +0100 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
2022-11-02 02:50:10 +0100 | glguy | (~glguy@libera/staff-emeritus/glguy) (Quit: Quit) |
2022-11-02 02:51:53 +0100 | zaquest | (~notzaques@5.130.79.72) |
2022-11-02 02:52:37 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-11-02 02:52:57 +0100 | glguy | (~glguy@libera/staff-emeritus/glguy) |
2022-11-02 02:58:16 +0100 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) (Remote host closed the connection) |
2022-11-02 02:58:35 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) (Read error: Connection reset by peer) |
2022-11-02 03:00:35 +0100 | razetime | (~quassel@117.254.34.24) |
2022-11-02 03:01:40 +0100 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) |
2022-11-02 03:02:04 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) |
2022-11-02 03:05:23 +0100 | redmp | (~redmp@mobile-166-170-43-0.mycingular.net) (Ping timeout: 246 seconds) |
2022-11-02 03:11:19 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds) |
2022-11-02 03:11:34 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2022-11-02 03:12:39 +0100 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2022-11-02 03:14:05 +0100 | freeside | (~mengwong@103.252.202.193) (Ping timeout: 272 seconds) |
2022-11-02 03:15:19 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-11-02 03:17:11 +0100 | kimjetwav | (~user@2607:fea8:235e:b600:3e30:e889:113b:1172) (Remote host closed the connection) |
2022-11-02 03:27:40 +0100 | freeside | (~mengwong@103.252.202.193) |
2022-11-02 03:31:48 +0100 | freeside | (~mengwong@103.252.202.193) (Ping timeout: 248 seconds) |
2022-11-02 03:33:27 +0100 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 255 seconds) |
2022-11-02 03:34:28 +0100 | beteigeuze | (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Ping timeout: 248 seconds) |
2022-11-02 03:50:11 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 272 seconds) |
2022-11-02 04:00:18 +0100 | jero98772 | (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection) |
2022-11-02 04:00:19 +0100 | freeside | (~mengwong@103.252.202.193) |
2022-11-02 04:02:43 +0100 | nate3 | (~nate@98.45.169.16) |
2022-11-02 04:07:25 +0100 | nate3 | (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
2022-11-02 04:12:39 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-11-02 04:13:06 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-11-02 04:15:48 +0100 | Kaipii | (~Kaiepi@108.175.84.104) |
2022-11-02 04:18:58 +0100 | Kaipei | (~Kaiepi@108.175.84.104) (Ping timeout: 252 seconds) |
2022-11-02 04:19:16 +0100 | thegeekinside | (~thegeekin@189.180.115.115) (Ping timeout: 248 seconds) |
2022-11-02 04:25:40 +0100 | td_ | (~td@83.135.9.15) (Ping timeout: 248 seconds) |
2022-11-02 04:27:26 +0100 | td_ | (~td@83.135.9.45) |
2022-11-02 04:43:09 +0100 | razetime | (~quassel@117.254.34.24) (Ping timeout: 255 seconds) |
2022-11-02 04:49:08 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 248 seconds) |
2022-11-02 04:53:23 +0100 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2022-11-02 04:53:23 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2022-11-02 04:53:23 +0100 | finn_elija | FinnElija |
2022-11-02 04:56:22 +0100 | zaquest | (~notzaques@5.130.79.72) (Ping timeout: 252 seconds) |
2022-11-02 05:02:58 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2022-11-02 05:04:37 +0100 | freeside | (~mengwong@103.252.202.193) (Ping timeout: 252 seconds) |
2022-11-02 05:09:34 +0100 | zaquest | (~notzaques@5.130.79.72) |
2022-11-02 05:13:58 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds) |
2022-11-02 05:14:36 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2022-11-02 05:18:06 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-11-02 05:18:20 +0100 | king_gs | (~Thunderbi@187.201.83.115) |
2022-11-02 05:18:23 +0100 | muesli4 | (~noname@2a02:8071:2188:2540:3ea6:1486:61ae:9be6) (Quit: Leaving) |
2022-11-02 05:23:17 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 272 seconds) |
2022-11-02 05:23:21 +0100 | razetime | (~quassel@117.254.34.24) |
2022-11-02 05:28:04 +0100 | mixfix41 | (~sdeny9ee@user/mixfix41) (Ping timeout: 248 seconds) |
2022-11-02 05:31:12 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-11-02 05:35:16 +0100 | opqdonut | (opqdonut@pseudo.fixme.fi) (Ping timeout: 268 seconds) |
2022-11-02 05:35:26 +0100 | opqdonut | (opqdonut@pseudo.fixme.fi) |
2022-11-02 05:35:53 +0100 | VarikValefor[m] | (~varikvale@2001:470:69fc:105::a5d) (Ping timeout: 268 seconds) |
2022-11-02 05:36:06 +0100 | VarikValefor[m] | (~varikvale@2001:470:69fc:105::a5d) |
2022-11-02 05:38:56 +0100 | king_gs1 | (~Thunderbi@2806:103e:29:47b9:f34b:ffff:4cfc:90a6) |
2022-11-02 05:38:56 +0100 | king_gs | (~Thunderbi@187.201.83.115) (Read error: Connection reset by peer) |
2022-11-02 05:38:56 +0100 | king_gs1 | king_gs |
2022-11-02 05:41:49 +0100 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) |
2022-11-02 05:44:20 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) |
2022-11-02 05:45:54 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-11-02 05:49:45 +0100 | king_gs | (~Thunderbi@2806:103e:29:47b9:f34b:ffff:4cfc:90a6) (Ping timeout: 255 seconds) |
2022-11-02 05:51:54 +0100 | abhiroop_ | (~abhiroop@217-209-157-8-no2000.tbcn.telia.com) |
2022-11-02 05:52:01 +0100 | Guest71 | (~Guest71@217-209-157-8-no2000.tbcn.telia.com) (Ping timeout: 244 seconds) |
2022-11-02 05:52:04 +0100 | abhiroop | (~abhiroop@217-209-157-8-no2000.tbcn.telia.com) (Ping timeout: 248 seconds) |
2022-11-02 06:01:01 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 258 seconds) |
2022-11-02 06:02:17 +0100 | causal | (~user@50.35.83.177) (Quit: WeeChat 3.7.1) |
2022-11-02 06:02:53 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-11-02 06:07:54 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-11-02 06:08:26 +0100 | jargon | (~jargon@174-22-208-93.phnx.qwest.net) |
2022-11-02 06:08:35 +0100 | Vajb | (~Vajb@2001:999:504:1841:9e47:1ec7:a52e:1d57) |
2022-11-02 06:20:20 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 248 seconds) |
2022-11-02 06:22:16 +0100 | Me-me | (~me-me@user/me-me) (Ping timeout: 246 seconds) |
2022-11-02 06:22:59 +0100 | Me-me | (~me-me@v.working.name) |
2022-11-02 06:28:59 +0100 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2022-11-02 06:34:44 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 248 seconds) |
2022-11-02 06:42:31 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-11-02 06:44:20 +0100 | mbuf | (~Shakthi@2401:4900:2325:5699:e53a:878a:13aa:e6dd) |
2022-11-02 06:48:01 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
2022-11-02 06:48:15 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-11-02 06:51:16 +0100 | jargon | (~jargon@174-22-208-93.phnx.qwest.net) (Ping timeout: 248 seconds) |
2022-11-02 06:51:38 +0100 | jargon | (~jargon@174-22-194-21.phnx.qwest.net) |
2022-11-02 06:52:20 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 248 seconds) |
2022-11-02 07:01:31 +0100 | zebrag | (~chris@user/zebrag) |
2022-11-02 07:05:00 +0100 | Natch | (~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) (Read error: Software caused connection abort) |
2022-11-02 07:05:50 +0100 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) |
2022-11-02 07:11:59 +0100 | Natch | (~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) |
2022-11-02 07:14:07 +0100 | cyphase | (~cyphase@user/cyphase) (Quit: cyphase.com) |
2022-11-02 07:15:34 +0100 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2022-11-02 07:16:51 +0100 | mjrosenb | (~mjrosenb@pool-96-232-177-77.nycmny.fios.verizon.net) (Ping timeout: 260 seconds) |
2022-11-02 07:16:59 +0100 | mjrosenb | (~mjrosenb@pool-96-232-177-77.nycmny.fios.verizon.net) |
2022-11-02 07:18:07 +0100 | fjmorazan | (~quassel@user/fjmorazan) (Read error: Software caused connection abort) |
2022-11-02 07:20:10 +0100 | glguy | (~glguy@libera/staff-emeritus/glguy) (Remote host closed the connection) |
2022-11-02 07:20:58 +0100 | glguy | (~glguy@libera/staff-emeritus/glguy) |
2022-11-02 07:22:48 +0100 | fjmorazan | (~quassel@user/fjmorazan) |
2022-11-02 07:24:57 +0100 | king_gs | (~Thunderbi@2806:103e:29:47b9:f34b:ffff:4cfc:90a6) |
2022-11-02 07:30:44 +0100 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 248 seconds) |
2022-11-02 07:32:11 +0100 | Maeda | (~Maeda@91-161-10-149.subs.proxad.net) (Quit: BRB) |
2022-11-02 07:33:02 +0100 | Maeda | (~Maeda@91-161-10-149.subs.proxad.net) |
2022-11-02 07:35:19 +0100 | titibandit | (~titibandi@xdsl-87-79-250-160.nc.de) |
2022-11-02 07:37:45 +0100 | glguy | (~glguy@libera/staff-emeritus/glguy) (Ping timeout: 255 seconds) |
2022-11-02 07:37:56 +0100 | reda | (~reda@user/reda) (Read error: Software caused connection abort) |
2022-11-02 07:38:12 +0100 | Maeda | (~Maeda@91-161-10-149.subs.proxad.net) (Quit: BRB) |
2022-11-02 07:38:39 +0100 | aforemny | (~aforemny@static.248.158.34.188.clients.your-server.de) (Read error: Software caused connection abort) |
2022-11-02 07:39:44 +0100 | Maeda | (~Maeda@91-161-10-149.subs.proxad.net) |
2022-11-02 07:40:06 +0100 | vglfr | (~vglfr@145.224.100.22) (Remote host closed the connection) |
2022-11-02 07:41:33 +0100 | aforemny | (~aforemny@static.248.158.34.188.clients.your-server.de) |
2022-11-02 07:42:44 +0100 | vglfr | (~vglfr@145.224.100.22) |
2022-11-02 07:43:33 +0100 | q0r | (~user@162.255.84.96) (Read error: Software caused connection abort) |
2022-11-02 07:43:38 +0100 | vglfr | (~vglfr@145.224.100.22) (Remote host closed the connection) |
2022-11-02 07:43:39 +0100 | glguy | (~glguy@libera/staff-emeritus/glguy) |
2022-11-02 07:43:47 +0100 | reda | (~reda@user/reda) |
2022-11-02 07:43:52 +0100 | vglfr | (~vglfr@145.224.100.22) |
2022-11-02 07:45:27 +0100 | shriekingnoise_ | (~shrieking@186.137.167.202) (Quit: Quit) |
2022-11-02 07:47:16 +0100 | chomwitt | (~chomwitt@2a02:587:dc18:4a00:1ac0:4dff:fedb:a3f1) |
2022-11-02 07:49:56 +0100 | q0r | (~user@162.255.84.96) |
2022-11-02 07:51:16 +0100 | abhiroop_ | (~abhiroop@217-209-157-8-no2000.tbcn.telia.com) (Ping timeout: 252 seconds) |
2022-11-02 07:51:20 +0100 | abhiroop | (~abhiroop@217-209-157-8-no2000.tbcn.telia.com) |
2022-11-02 07:53:21 +0100 | c_wraith | (~c_wraith@adjoint.us) (Read error: Software caused connection abort) |
2022-11-02 07:54:03 +0100 | c_wraith | (~c_wraith@adjoint.us) |
2022-11-02 07:58:22 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2022-11-02 07:59:39 +0100 | davean | (~davean@davean.sciesnet.net) (Read error: Software caused connection abort) |
2022-11-02 07:59:57 +0100 | davean | (~davean@davean.sciesnet.net) |
2022-11-02 08:02:48 +0100 | rodental | (~rodental@38.146.5.222) (Read error: Connection reset by peer) |
2022-11-02 08:03:12 +0100 | rodental | (~rodental@38.146.5.222) |
2022-11-02 08:04:15 +0100 | nate3 | (~nate@98.45.169.16) |
2022-11-02 08:05:42 +0100 | king_gs | (~Thunderbi@2806:103e:29:47b9:f34b:ffff:4cfc:90a6) (Remote host closed the connection) |
2022-11-02 08:06:08 +0100 | zeenk | (~zeenk@2a02:2f04:a105:5d00:c862:f190:2ea:d494) |
2022-11-02 08:06:28 +0100 | glguy | (~glguy@libera/staff-emeritus/glguy) (Ping timeout: 248 seconds) |
2022-11-02 08:08:49 +0100 | kaol | (~kaol@94-237-42-30.nl-ams1.upcloud.host) (Ping timeout: 268 seconds) |
2022-11-02 08:10:29 +0100 | glguy | (~glguy@libera/staff-emeritus/glguy) |
2022-11-02 08:10:31 +0100 | nate3 | (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
2022-11-02 08:13:44 +0100 | abhiroop | (~abhiroop@217-209-157-8-no2000.tbcn.telia.com) (Ping timeout: 246 seconds) |
2022-11-02 08:13:45 +0100 | abhiroop_ | (~abhiroop@217-209-157-8-no2000.tbcn.telia.com) |
2022-11-02 08:16:39 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-11-02 08:18:23 +0100 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2022-11-02 08:18:57 +0100 | Sgeo_ | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2022-11-02 08:19:33 +0100 | kaol | (~kaol@94-237-42-30.nl-ams1.upcloud.host) |
2022-11-02 08:21:57 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-11-02 08:23:14 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-11-02 08:25:11 +0100 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
2022-11-02 08:26:09 +0100 | mmhat | (~mmh@p200300f1c73076cfee086bfffe095315.dip0.t-ipconnect.de) |
2022-11-02 08:31:29 +0100 | kenran | (~user@user/kenran) |
2022-11-02 08:34:56 +0100 | Athas | (athas@sigkill.dk) (Read error: Software caused connection abort) |
2022-11-02 08:35:21 +0100 | glguy | (~glguy@libera/staff-emeritus/glguy) (Ping timeout: 255 seconds) |
2022-11-02 08:37:20 +0100 | Athas | (~athas@2a01:7c8:aaac:1cf:ba6c:ed85:faef:e8b1) |
2022-11-02 08:37:59 +0100 | jmorris | (uid537181@id-537181.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2022-11-02 08:38:33 +0100 | cfricke | (~cfricke@user/cfricke) |
2022-11-02 08:40:21 +0100 | mncheck | (~mncheck@193.224.205.254) |
2022-11-02 08:40:49 +0100 | cyphase | (~cyphase@user/cyphase) |
2022-11-02 08:41:10 +0100 | akegalj | (~akegalj@93-139-190-182.adsl.net.t-com.hr) |
2022-11-02 08:42:33 +0100 | Maeda | (~Maeda@91-161-10-149.subs.proxad.net) (Quit: leaving) |
2022-11-02 08:42:45 +0100 | acidjnk | (~acidjnk@p200300d6e7137a4458b560a11cdd3b2c.dip0.t-ipconnect.de) |
2022-11-02 08:43:04 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:e55:b872:3823:a08c) |
2022-11-02 08:43:49 +0100 | Maeda | (~Maeda@91-161-10-149.subs.proxad.net) |
2022-11-02 08:43:55 +0100 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2022-11-02 08:50:07 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
2022-11-02 08:50:29 +0100 | flukiluke | (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Remote host closed the connection) |
2022-11-02 08:50:52 +0100 | flukiluke | (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) |
2022-11-02 08:50:58 +0100 | glguy | (~glguy@libera/staff-emeritus/glguy) |
2022-11-02 08:51:51 +0100 | Aleksejs | (~Aleksejs@107.170.21.106) (Write error: Software caused connection abort) |
2022-11-02 08:52:51 +0100 | inversed | (~inversed@bcdcac82.skybroadband.com) (Read error: Software caused connection abort) |
2022-11-02 08:53:31 +0100 | [Leary] | (~Leary]@user/Leary/x-0910699) (Read error: Software caused connection abort) |
2022-11-02 08:54:33 +0100 | inversed | (~inversed@bcdcac82.skybroadband.com) |
2022-11-02 08:55:25 +0100 | [Leary] | (~Leary]@user/Leary/x-0910699) |
2022-11-02 08:55:43 +0100 | CiaoSen | (~Jura@2003:c9:5712:4700:2a3a:4dff:fe84:dbd5) |
2022-11-02 08:55:46 +0100 | titibandit | (~titibandi@xdsl-87-79-250-160.nc.de) (Remote host closed the connection) |
2022-11-02 08:56:05 +0100 | Kaipii | (~Kaiepi@108.175.84.104) (Ping timeout: 272 seconds) |
2022-11-02 08:56:08 +0100 | ubert1 | (~Thunderbi@91.141.39.16.wireless.dyn.drei.com) |
2022-11-02 09:02:04 +0100 | Aleksejs | (~Aleksejs@107.170.21.106) |
2022-11-02 09:04:45 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-11-02 09:04:53 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-11-02 09:05:52 +0100 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-11-02 09:05:59 +0100 | michalz | (~michalz@185.246.207.222) |
2022-11-02 09:07:53 +0100 | ft | (~ft@p508dbd59.dip0.t-ipconnect.de) (Quit: leaving) |
2022-11-02 09:08:14 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-11-02 09:12:05 +0100 | frost37 | (~frost@user/frost) |
2022-11-02 09:19:39 +0100 | mbuf | (~Shakthi@2401:4900:2325:5699:e53a:878a:13aa:e6dd) (Read error: Connection reset by peer) |
2022-11-02 09:24:51 +0100 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2022-11-02 09:25:32 +0100 | `2jt | (~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) |
2022-11-02 09:28:00 +0100 | money | polo |
2022-11-02 09:30:48 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2022-11-02 09:34:18 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-11-02 09:34:56 +0100 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
2022-11-02 09:37:20 +0100 | gmg | (~user@user/gehmehgeh) |
2022-11-02 09:40:03 +0100 | ccapndave | (~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch) |
2022-11-02 09:42:55 +0100 | Maeda | (~Maeda@91-161-10-149.subs.proxad.net) (Ping timeout: 252 seconds) |
2022-11-02 09:42:55 +0100 | vglfr | (~vglfr@145.224.100.22) (Ping timeout: 252 seconds) |
2022-11-02 09:42:57 +0100 | fserucas|eod | (~fserucas|@2001:818:e376:a400:fb92:70c1:dd88:c7d7) |
2022-11-02 09:42:57 +0100 | fserucas|eod | (~fserucas|@2001:818:e376:a400:fb92:70c1:dd88:c7d7) (Client Quit) |
2022-11-02 09:43:13 +0100 | fserucas | (~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) |
2022-11-02 09:45:01 +0100 | Maeda | (~Maeda@91-161-10-149.subs.proxad.net) |
2022-11-02 09:47:45 +0100 | <lortabac> | is there a way to force the recompilation of a single file? |
2022-11-02 09:47:56 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-11-02 09:48:55 +0100 | <lortabac> | I have a module that I would like to recompile on every build |
2022-11-02 09:49:03 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-11-02 09:49:17 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-11-02 09:54:32 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 246 seconds) |
2022-11-02 09:56:23 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds) |
2022-11-02 09:58:33 +0100 | ssw | (~ssw@user/ssw) (Quit: ZNC 1.7.5+deb4 - https://znc.in) |
2022-11-02 09:59:31 +0100 | m1dnight | (~christoph@78-22-0-121.access.telenet.be) (Quit: WeeChat 3.7.1) |
2022-11-02 10:00:03 +0100 | baaash[m] | (~baaashmat@2001:470:69fc:105::2:1e90) (Quit: You have been kicked for being idle) |
2022-11-02 10:00:05 +0100 | weeezes[m] | (~weeezesma@2001:470:69fc:105::1:da65) (Quit: You have been kicked for being idle) |
2022-11-02 10:00:16 +0100 | m1dnight | (~christoph@78-22-0-121.access.telenet.be) |
2022-11-02 10:00:50 +0100 | ssw | (~ssw@user/ssw) |
2022-11-02 10:01:37 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 252 seconds) |
2022-11-02 10:01:50 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2022-11-02 10:03:22 +0100 | ccapndave | (~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch) (Quit: Textual IRC Client: www.textualapp.com) |
2022-11-02 10:03:22 +0100 | vglfr | (~vglfr@145.224.100.22) |
2022-11-02 10:06:21 +0100 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
2022-11-02 10:10:44 +0100 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds) |
2022-11-02 10:11:18 +0100 | Kaipii | (~Kaiepi@108.175.84.104) |
2022-11-02 10:14:03 +0100 | mbuf | (~Shakthi@2401:4900:2325:5699:e53a:878a:13aa:e6dd) |
2022-11-02 10:14:04 +0100 | mbuf | (~Shakthi@2401:4900:2325:5699:e53a:878a:13aa:e6dd) (Remote host closed the connection) |
2022-11-02 10:15:00 +0100 | glguy | (~glguy@libera/staff-emeritus/glguy) (Ping timeout: 248 seconds) |
2022-11-02 10:16:15 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2022-11-02 10:23:36 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 258 seconds) |
2022-11-02 10:23:43 +0100 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2022-11-02 10:28:18 +0100 | zaquest | (~notzaques@5.130.79.72) (Remote host closed the connection) |
2022-11-02 10:28:49 +0100 | <dminuoso> | lortabac: Set -fforce-recomp (perhaps in a OPTIONS_GHC pragma in the module |
2022-11-02 10:29:04 +0100 | <dminuoso> | Mind my asking, what's the reason you want this? |
2022-11-02 10:29:55 +0100 | <dminuoso> | If by any chance you're depending on a file in TemplateHaskell (which is one of the two things I can conceive, the other being depending on some non-file resource), you can also just use `addDependentFile` |
2022-11-02 10:30:50 +0100 | <lortabac> | dminuoso: I embed the Git hash with TemplateHaskell |
2022-11-02 10:30:56 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-11-02 10:31:13 +0100 | <lortabac> | I want it to be accurate even if I don't recompile everything |
2022-11-02 10:31:14 +0100 | <dminuoso> | Then: {-# OPTIONS_GHC -fforce-recomp #-} |
2022-11-02 10:32:00 +0100 | <lortabac> | it doesn't seem to work |
2022-11-02 10:32:13 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-11-02 10:32:26 +0100 | hugo | (znc@verdigris.lysator.liu.se) (Read error: Software caused connection abort) |
2022-11-02 10:33:01 +0100 | <lortabac> | which makes sense, because the pragma is only read if that file is recompiled |
2022-11-02 10:33:29 +0100 | xacktm | (~xacktm@user/xacktm) (Read error: Software caused connection abort) |
2022-11-02 10:34:09 +0100 | <dminuoso> | Do you use stack or cabal? |
2022-11-02 10:34:26 +0100 | <lortabac> | cabal |
2022-11-02 10:34:55 +0100 | <dminuoso> | You could add a .git directory or a particular git internal file to extra-source-files in your cabal file, and then `addDependentFile`that same file/directory |
2022-11-02 10:35:05 +0100 | <dminuoso> | Im not sure whether a suitable file exists (and whether using it on a directory will either) |
2022-11-02 10:35:33 +0100 | <dminuoso> | Keep in mind, that using a glob in cabal extra-source-files for this will not work except on the newest cabal versions (that is the interaction with addDependentFile) |
2022-11-02 10:35:35 +0100 | mimmy | (~mimmy@2604:a880:cad:d0::3e:1001) (Read error: Software caused connection abort) |
2022-11-02 10:36:11 +0100 | acidjnk | (~acidjnk@p200300d6e7137a4458b560a11cdd3b2c.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2022-11-02 10:36:26 +0100 | hugo | (znc@verdigris.lysator.liu.se) |
2022-11-02 10:36:31 +0100 | <dminuoso> | .git/HEAD seems like a good bet |
2022-11-02 10:36:46 +0100 | xacktm | (~xacktm@user/xacktm) |
2022-11-02 10:37:23 +0100 | <dminuoso> | Do note however, that addDependentFile requires template-haskell >= 2.7.0 |
2022-11-02 10:37:28 +0100 | <lortabac> | good idea |
2022-11-02 10:37:51 +0100 | <lortabac> | it also has the advantage of not requiring Git on the machine where the build is done |
2022-11-02 10:38:36 +0100 | <dminuoso> | (Though that template-haskell version corresponds to GHC 7.4 I think) |
2022-11-02 10:38:49 +0100 | mimmy | (~mimmy@159.203.19.37) |
2022-11-02 10:39:38 +0100 | <lortabac> | I'm on GHC 9.2 |
2022-11-02 10:41:13 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 272 seconds) |
2022-11-02 10:41:54 +0100 | mncheckm | (~mncheck@193.224.205.254) |
2022-11-02 10:44:31 +0100 | akegalj | (~akegalj@93-139-190-182.adsl.net.t-com.hr) (Ping timeout: 252 seconds) |
2022-11-02 10:44:31 +0100 | mncheck | (~mncheck@193.224.205.254) (Ping timeout: 252 seconds) |
2022-11-02 10:45:28 +0100 | acidjnk | (~acidjnk@p200300d6e7137a4458b560a11cdd3b2c.dip0.t-ipconnect.de) |
2022-11-02 10:46:04 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
2022-11-02 10:46:21 +0100 | akegalj | (~akegalj@93-139-190-182.adsl.net.t-com.hr) |
2022-11-02 10:46:25 +0100 | jrm | (~jrm@user/jrm) (Read error: Software caused connection abort) |
2022-11-02 10:46:37 +0100 | akegalj | (~akegalj@93-139-190-182.adsl.net.t-com.hr) (Client Quit) |
2022-11-02 10:47:23 +0100 | <lortabac> | apparently the 'gitrev' library (the one I use) already calls addDependentFile on .git/HEAD |
2022-11-02 10:47:33 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2022-11-02 10:48:09 +0100 | jrm | (~jrm@user/jrm) |
2022-11-02 10:49:31 +0100 | <lortabac> | I think I'll stop here, it's not a big deal if the revision is not 100% accurate during development |
2022-11-02 10:51:45 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-11-02 10:55:33 +0100 | <kuribas> | regarding number of bugs, I find myself writing a few thousand lines of haskell code with only a handful of problems, but for dynamic code, it's just tens of lines. |
2022-11-02 10:56:04 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
2022-11-02 10:56:57 +0100 | califax | (~califax@user/califx) (Ping timeout: 258 seconds) |
2022-11-02 10:57:09 +0100 | Lears | (~Leary]@user/Leary/x-0910699) |
2022-11-02 10:58:03 +0100 | __monty__ | (~toonn@user/toonn) |
2022-11-02 10:58:24 +0100 | <chromoblob> | kuribas: what do you mean by "dynamic code", is it code in dynamically typed lang? |
2022-11-02 10:59:13 +0100 | <kuribas> | yes |
2022-11-02 10:59:21 +0100 | <kuribas> | clojure/python/javascript |
2022-11-02 10:59:22 +0100 | ubert1 | (~Thunderbi@91.141.39.16.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
2022-11-02 10:59:22 +0100 | [Leary] | (~Leary]@user/Leary/x-0910699) (Ping timeout: 252 seconds) |
2022-11-02 10:59:23 +0100 | <kuribas> | ... |
2022-11-02 11:00:14 +0100 | nschoe | (~q@2a01:e0a:8e:a190:2e98:8cb9:ae0a:cb62) |
2022-11-02 11:00:21 +0100 | <kuribas> | because I hear the argument to many times, "you can have (business logic) bugs in typed languages too". |
2022-11-02 11:00:38 +0100 | <chromoblob> | kuribas: do you happen to write C++ ? |
2022-11-02 11:00:47 +0100 | <kuribas> | true, but it seems like orders of magnitudes less. |
2022-11-02 11:00:52 +0100 | <kuribas> | chromoblob: long time ago :) |
2022-11-02 11:01:22 +0100 | <chromoblob> | if you can remember, what was the rate of bugs for it, to compare? |
2022-11-02 11:04:17 +0100 | [exa] | (exa@user/exa/x-3587197) (Read error: Software caused connection abort) |
2022-11-02 11:05:12 +0100 | frost37 | (~frost@user/frost) (*.net *.split) |
2022-11-02 11:07:12 +0100 | ec | (~ec@gateway/tor-sasl/ec) (*.net *.split) |
2022-11-02 11:07:12 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (*.net *.split) |
2022-11-02 11:07:12 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (*.net *.split) |
2022-11-02 11:07:12 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (*.net *.split) |
2022-11-02 11:07:12 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) (*.net *.split) |
2022-11-02 11:07:12 +0100 | jpds1 | (~jpds@gateway/tor-sasl/jpds) (*.net *.split) |
2022-11-02 11:07:12 +0100 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (*.net *.split) |
2022-11-02 11:07:54 +0100 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 255 seconds) |
2022-11-02 11:09:27 +0100 | [exa] | (exa@srv3.blesmrt.net) |
2022-11-02 11:19:00 +0100 | tomboy64 | (~tomboy64@user/tomboy64) (Ping timeout: 248 seconds) |
2022-11-02 11:19:20 +0100 | <kuribas> | chromoblob: much more than haskell |
2022-11-02 11:19:33 +0100 | tomboy64 | (~tomboy64@user/tomboy64) |
2022-11-02 11:26:28 +0100 | abhiroop_ | (~abhiroop@217-209-157-8-no2000.tbcn.telia.com) (Ping timeout: 248 seconds) |
2022-11-02 11:27:04 +0100 | jtomas | (~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) |
2022-11-02 11:29:04 +0100 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2022-11-02 11:29:37 +0100 | `2jt | (~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) (Ping timeout: 252 seconds) |
2022-11-02 11:32:21 +0100 | gawen | (~gawen@user/gawen) (Quit: cya) |
2022-11-02 11:34:42 +0100 | mokee | (~mokee@37.228.215.235) |
2022-11-02 11:38:25 +0100 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2022-11-02 11:38:37 +0100 | gawen | (~gawen@user/gawen) |
2022-11-02 11:40:09 +0100 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
2022-11-02 11:41:44 +0100 | hrberg | (~quassel@171.79-160-161.customer.lyse.net) (Ping timeout: 276 seconds) |
2022-11-02 11:41:56 +0100 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 248 seconds) |
2022-11-02 11:48:19 +0100 | Maeda | (~Maeda@91-161-10-149.subs.proxad.net) (Ping timeout: 252 seconds) |
2022-11-02 11:50:03 +0100 | nek0 | (~nek0@2a01:4f8:222:2b41::12) (Read error: Software caused connection abort) |
2022-11-02 11:50:15 +0100 | Maeda | (~Maeda@91-161-10-149.subs.proxad.net) |
2022-11-02 11:51:48 +0100 | Ekho | (~Ekho@user/ekho) (Read error: Software caused connection abort) |
2022-11-02 11:52:20 +0100 | nek0 | (~nek0@2a01:4f8:222:2b41::12) |
2022-11-02 11:54:42 +0100 | chomwitt | (~chomwitt@2a02:587:dc18:4a00:1ac0:4dff:fedb:a3f1) (Ping timeout: 255 seconds) |
2022-11-02 11:57:02 +0100 | [exa] | (exa@srv3.blesmrt.net) (Changing host) |
2022-11-02 11:57:02 +0100 | [exa] | (exa@user/exa/x-3587197) |
2022-11-02 11:59:37 +0100 | Ekho | (~Ekho@user/ekho) |
2022-11-02 12:00:20 +0100 | Alex_test_ | Alex_test |
2022-11-02 12:01:46 +0100 | elevenkb | (~elevenkb@105.184.125.168) |
2022-11-02 12:05:22 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 252 seconds) |
2022-11-02 12:05:36 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2022-11-02 12:06:28 +0100 | vglfr | (~vglfr@145.224.100.22) (Ping timeout: 252 seconds) |
2022-11-02 12:07:01 +0100 | xff0x | (~xff0x@2405:6580:b080:900:9a4a:3159:118e:c175) |
2022-11-02 12:07:35 +0100 | nate3 | (~nate@98.45.169.16) |
2022-11-02 12:12:17 +0100 | zeenk | (~zeenk@2a02:2f04:a105:5d00:c862:f190:2ea:d494) (Ping timeout: 276 seconds) |
2022-11-02 12:12:32 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-11-02 12:12:42 +0100 | nate3 | (~nate@98.45.169.16) (Ping timeout: 255 seconds) |
2022-11-02 12:14:29 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-11-02 12:21:02 +0100 | vglfr | (~vglfr@145.224.100.22) |
2022-11-02 12:22:33 +0100 | Maxdamantus | (~Maxdamant@user/maxdamantus) (Ping timeout: 272 seconds) |
2022-11-02 12:25:10 +0100 | Maxdamantus | (~Maxdamant@user/maxdamantus) |
2022-11-02 12:26:12 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 255 seconds) |
2022-11-02 12:30:09 +0100 | <dminuoso> | cheater: I would just use the standard Control.Exception (or better Control.Exceptions.Safe) mechanisms, and perhaps ideally keep other exceptions in IO |
2022-11-02 12:30:21 +0100 | <cheater> | k |
2022-11-02 12:30:22 +0100 | <cheater> | thanks |
2022-11-02 12:30:28 +0100 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2022-11-02 12:30:37 +0100 | <cheater> | what's the difference between this and dmj`'s approach? |
2022-11-02 12:30:37 +0100 | <dminuoso> | Sometimes I think there's a bit of a irrational fear against IO and exceptions in the Haskell community |
2022-11-02 12:30:51 +0100 | <cheater> | what does "keep exceptions in IO" mean? |
2022-11-02 12:31:00 +0100 | <dminuoso> | cheater: Well tryIOError *is* just a thin wrapper around catch |
2022-11-02 12:31:10 +0100 | <cheater> | oh. ok |
2022-11-02 12:31:18 +0100 | <dminuoso> | https://hackage.haskell.org/package/base-4.17.0.0/docs/src/System.IO.Error.html#tryIOError |
2022-11-02 12:31:25 +0100 | <dminuoso> | See? It's really just catch in disguise |
2022-11-02 12:33:25 +0100 | <dminuoso> | % import Control.Exception |
2022-11-02 12:33:25 +0100 | <yahb2> | <no output> |
2022-11-02 12:33:27 +0100 | <dminuoso> | % :t catch |
2022-11-02 12:33:27 +0100 | <yahb2> | catch :: Exception e => IO a -> (e -> IO a) -> IO a |
2022-11-02 12:34:57 +0100 | <dminuoso> | catch (Right <$> f) (\(e :: IOError) -> pure (Left ...)) |
2022-11-02 12:35:11 +0100 | <dminuoso> | Or with `handle` (or catches), depending on the ergonomics |
2022-11-02 12:35:46 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-11-02 12:37:00 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-11-02 12:41:40 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
2022-11-02 12:44:10 +0100 | nshepperd | (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) (Read error: Software caused connection abort) |
2022-11-02 12:44:28 +0100 | nshepperd | (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) |
2022-11-02 12:44:41 +0100 | jakalx | (~jakalx@base.jakalx.net) () |
2022-11-02 12:46:37 +0100 | phileasfogg | (~phileasfo@user/phileasfogg) (Read error: Software caused connection abort) |
2022-11-02 12:49:57 +0100 | phileasfogg | (~phileasfo@user/phileasfogg) |
2022-11-02 12:50:11 +0100 | <siers> | what's a "stricly positive functor"? is that about variance? |
2022-11-02 12:51:29 +0100 | jrm2 | (~jrm@user/jrm) |
2022-11-02 12:52:07 +0100 | jrm | (~jrm@user/jrm) (Ping timeout: 252 seconds) |
2022-11-02 12:52:14 +0100 | <[exa]> | siers: maybe this? https://cstheory.stackexchange.com/questions/46280/semantic-definition-of-strict-positivity-for-a-… |
2022-11-02 12:52:41 +0100 | jrm2 | jrm |
2022-11-02 12:54:05 +0100 | <[exa]> | but tbh I can't find any actual written definition |
2022-11-02 12:55:23 +0100 | dcoutts__ | (~duncan@host86-163-164-210.range86-163.btcentralplus.com) (Read error: Software caused connection abort) |
2022-11-02 12:56:53 +0100 | dcoutts__ | (~duncan@host86-163-164-210.range86-163.btcentralplus.com) |
2022-11-02 12:58:26 +0100 | <siers> | in this case it seems that he removed the recursivity https://okmij.org/ftp/tagless-final/course/Boehm-Berarducci.html |
2022-11-02 13:00:23 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2022-11-02 13:00:48 +0100 | <siers> | and I guess the "(a functor built from constants, sums and products)" is the definition |
2022-11-02 13:01:41 +0100 | thyriaen | (~thyriaen@2a01:aea0:dd4:470d:6245:cbff:fe9f:48b1) |
2022-11-02 13:07:02 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-11-02 13:09:44 +0100 | <Lears> | siers: Unrelated language, but this is actually the best read I've found on strictly positive data types: https://docs.juvix.org/notes/strictly-positive-data-types.html |
2022-11-02 13:10:23 +0100 | <Lears> | I'm assuming functor is used orthogonally. |
2022-11-02 13:11:55 +0100 | <siers> | yeah, I was thinking of something like that |
2022-11-02 13:11:55 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
2022-11-02 13:11:59 +0100 | <siers> | ok, good enough for me |
2022-11-02 13:16:59 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2022-11-02 13:19:38 +0100 | abhiroop_ | (~abhiroop@ext-1-450.eduroam.chalmers.se) |
2022-11-02 13:20:31 +0100 | mncheckm | (~mncheck@193.224.205.254) (Remote host closed the connection) |
2022-11-02 13:22:55 +0100 | tomboy64 | (~tomboy64@user/tomboy64) (Ping timeout: 252 seconds) |
2022-11-02 13:24:35 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-11-02 13:29:41 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 272 seconds) |
2022-11-02 13:35:21 +0100 | catern | (~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407) (Remote host closed the connection) |
2022-11-02 13:36:07 +0100 | tomboy64 | (~tomboy64@user/tomboy64) |
2022-11-02 13:36:29 +0100 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2022-11-02 13:38:52 +0100 | mokee | (~mokee@37.228.215.235) (Ping timeout: 252 seconds) |
2022-11-02 13:39:42 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
2022-11-02 13:40:36 +0100 | mokee | (~mokee@37.228.215.235) |
2022-11-02 13:42:44 +0100 | mrvdb- | (~mrvdb@2001:19f0:5000:8582:5400:ff:fe07:3df5) |
2022-11-02 13:43:05 +0100 | xacktm | (~xacktm@user/xacktm) (Quit: fBNC - https://bnc4free.com) |
2022-11-02 13:44:06 +0100 | mrvdb | (~mrvdb@2001:19f0:5000:8582:5400:ff:fe07:3df5) (Read error: Connection reset by peer) |
2022-11-02 13:45:53 +0100 | xacktm | (~xacktm@user/xacktm) |
2022-11-02 13:48:17 +0100 | boxscape_ | (~boxscape_@81.191.27.107) |
2022-11-02 13:48:55 +0100 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2022-11-02 13:51:11 +0100 | CiaoSen | (~Jura@2003:c9:5712:4700:2a3a:4dff:fe84:dbd5) (Ping timeout: 268 seconds) |
2022-11-02 13:51:37 +0100 | chomwitt | (~chomwitt@athe730-c-multi-217.home.otenet.gr) |
2022-11-02 13:55:22 +0100 | glguy | (~glguy@libera/staff-emeritus/glguy) |
2022-11-02 13:58:23 +0100 | natto | (~natto@140.238.225.67) (Quit: a.) |
2022-11-02 13:58:40 +0100 | Ekho | (~Ekho@user/ekho) (Ping timeout: 252 seconds) |
2022-11-02 13:58:46 +0100 | natto | (~natto@140.238.225.67) |
2022-11-02 13:59:08 +0100 | int-e | (~noone@int-e.eu) (Read error: Software caused connection abort) |
2022-11-02 13:59:53 +0100 | abhiroop_ | (~abhiroop@ext-1-450.eduroam.chalmers.se) (Ping timeout: 246 seconds) |
2022-11-02 14:00:15 +0100 | abhiroop_ | (~abhiroop@ext-1-450.eduroam.chalmers.se) |
2022-11-02 14:03:13 +0100 | Ekho | (~Ekho@user/ekho) |
2022-11-02 14:04:21 +0100 | int-e | (~noone@int-e.eu) |
2022-11-02 14:07:03 +0100 | elevenkb | (~elevenkb@105.184.125.168) (Remote host closed the connection) |
2022-11-02 14:09:31 +0100 | dcoutts__ | (~duncan@host86-163-164-210.range86-163.btcentralplus.com) (Remote host closed the connection) |
2022-11-02 14:09:53 +0100 | dcoutts__ | (~duncan@host86-163-164-210.range86-163.btcentralplus.com) |
2022-11-02 14:13:40 +0100 | kritzefitz | (~kritzefit@debian/kritzefitz) |
2022-11-02 14:18:42 +0100 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds) |
2022-11-02 14:22:21 +0100 | kenran | (~user@user/kenran) (Remote host closed the connection) |
2022-11-02 14:24:44 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-11-02 14:25:31 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
2022-11-02 14:25:49 +0100 | python476 | (~user@88.163.231.79) |
2022-11-02 14:25:52 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
2022-11-02 14:27:58 +0100 | catern | (~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407) |
2022-11-02 14:31:45 +0100 | nate3 | (~nate@98.45.169.16) |
2022-11-02 14:33:17 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.7.1) |
2022-11-02 14:34:28 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-11-02 14:36:42 +0100 | nate3 | (~nate@98.45.169.16) (Ping timeout: 255 seconds) |
2022-11-02 14:37:06 +0100 | APic | (apic@apic.name) (Read error: Software caused connection abort) |
2022-11-02 14:37:32 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-11-02 14:43:08 +0100 | stackdroid18 | (14094@user/stackdroid) |
2022-11-02 14:44:18 +0100 | sm[i] | (~user@plaintextaccounting/sm) (Read error: Software caused connection abort) |
2022-11-02 14:44:48 +0100 | boxscape_ | (~boxscape_@81.191.27.107) (Ping timeout: 255 seconds) |
2022-11-02 14:45:37 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-11-02 14:45:43 +0100 | ec | (~ec@gateway/tor-sasl/ec) |
2022-11-02 14:46:05 +0100 | califax | (~califax@user/califx) |
2022-11-02 14:46:55 +0100 | mncheck | (~mncheck@193.224.205.254) |
2022-11-02 14:48:01 +0100 | Lears | (~Leary]@user/Leary/x-0910699) (Remote host closed the connection) |
2022-11-02 14:48:21 +0100 | jpds1 | (~jpds@gateway/tor-sasl/jpds) |
2022-11-02 14:48:22 +0100 | elevenkb | (~elevenkb@105.184.125.168) |
2022-11-02 14:49:40 +0100 | abhiroop_ | (~abhiroop@ext-1-450.eduroam.chalmers.se) (Ping timeout: 248 seconds) |
2022-11-02 14:50:22 +0100 | elevenkb | (~elevenkb@105.184.125.168) (Read error: Connection reset by peer) |
2022-11-02 14:50:44 +0100 | elevenkb | (~elevenkb@105.184.125.168) |
2022-11-02 14:51:17 +0100 | [Leary] | (~Leary]@user/Leary/x-0910699) |
2022-11-02 14:51:52 +0100 | elevenkb | (~elevenkb@105.184.125.168) (Client Quit) |
2022-11-02 14:52:09 +0100 | elevenkb | (~elevenkb@105.184.125.168) |
2022-11-02 14:52:37 +0100 | elevenkb | (~elevenkb@105.184.125.168) (Client Quit) |
2022-11-02 14:52:53 +0100 | elevenkb | (~elevenkb@105.184.125.168) |
2022-11-02 14:52:57 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2022-11-02 14:53:54 +0100 | python47` | (~user@37.166.166.123) |
2022-11-02 14:53:57 +0100 | python47` | (~user@37.166.166.123) (Read error: Connection reset by peer) |
2022-11-02 14:54:17 +0100 | sm[i] | (~user@plaintextaccounting/sm) |
2022-11-02 14:54:30 +0100 | python476 | (~user@88.163.231.79) (Read error: Connection reset by peer) |
2022-11-02 14:54:38 +0100 | APic | (apic@apic.name) |
2022-11-02 14:56:34 +0100 | python47` | (~user@88.163.231.79) |
2022-11-02 14:57:57 +0100 | orcus- | (~orcus@user/brprice) (Read error: Software caused connection abort) |
2022-11-02 14:58:10 +0100 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
2022-11-02 14:59:39 +0100 | nschoe | (~q@2a01:e0a:8e:a190:2e98:8cb9:ae0a:cb62) (Ping timeout: 255 seconds) |
2022-11-02 14:59:56 +0100 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
2022-11-02 15:01:14 +0100 | orcus | (~orcus@user/brprice) |
2022-11-02 15:01:40 +0100 | abhiroop_ | (~abhiroop@ext-1-450.eduroam.chalmers.se) |
2022-11-02 15:04:18 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2022-11-02 15:04:38 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2022-11-02 15:06:40 +0100 | Profpatsch | (~Profpatsc@static.88-198-193-255.clients.your-server.de) |
2022-11-02 15:07:27 +0100 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-11-02 15:07:42 +0100 | elevenkb | (~elevenkb@105.184.125.168) (Quit: Quit) |
2022-11-02 15:08:52 +0100 | elevenkb | (~elevenkb@105.184.125.168) |
2022-11-02 15:09:13 +0100 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2022-11-02 15:09:24 +0100 | Kaipii | (~Kaiepi@108.175.84.104) (Ping timeout: 248 seconds) |
2022-11-02 15:10:52 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:756c:6d4e:8007:23ff) |
2022-11-02 15:13:50 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2022-11-02 15:14:55 +0100 | pyrex | (~pyrex@user/pyrex) (Read error: Software caused connection abort) |
2022-11-02 15:15:24 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:756c:6d4e:8007:23ff) (Ping timeout: 255 seconds) |
2022-11-02 15:15:27 +0100 | abhiroop_ | (~abhiroop@ext-1-450.eduroam.chalmers.se) (Ping timeout: 272 seconds) |
2022-11-02 15:15:48 +0100 | pyrex | (~pyrex@user/pyrex) |
2022-11-02 15:16:59 +0100 | ccapndave | (~ccapndave@185.155.77.83.dynamic.wline.res.cust.swisscom.ch) |
2022-11-02 15:25:14 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-11-02 15:25:52 +0100 | jpds1 | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2022-11-02 15:27:46 +0100 | python47` | (~user@88.163.231.79) (Ping timeout: 252 seconds) |
2022-11-02 15:28:56 +0100 | shriekingnoise | (~shrieking@186.137.167.202) |
2022-11-02 15:30:26 +0100 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.7.1) |
2022-11-02 15:34:35 +0100 | jpds1 | (~jpds@gateway/tor-sasl/jpds) |
2022-11-02 15:36:32 +0100 | irrgit | (~irrgit@89.47.234.74) |
2022-11-02 15:40:26 +0100 | Kaipii | (~Kaiepi@108.175.84.104) |
2022-11-02 15:44:04 +0100 | elevenkb | (~elevenkb@105.184.125.168) (Ping timeout: 248 seconds) |
2022-11-02 15:44:53 +0100 | Spukgespenst | (~user@user/siracusa) (Quit: Bye!) |
2022-11-02 15:48:37 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-11-02 15:48:51 +0100 | Achylles | (~Achylles_@2804:431:d724:a8af:5724:3744:6104:7ce5) |
2022-11-02 15:58:27 +0100 | ccapndave | (~ccapndave@185.155.77.83.dynamic.wline.res.cust.swisscom.ch) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-11-02 15:59:32 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 248 seconds) |
2022-11-02 16:07:35 +0100 | zaquest | (~notzaques@5.130.79.72) |
2022-11-02 16:09:24 +0100 | glguy | (~glguy@libera/staff-emeritus/glguy) (Ping timeout: 255 seconds) |
2022-11-02 16:13:00 +0100 | stefan-__ | stefan-_ |
2022-11-02 16:15:49 +0100 | Ram-Z | (Ram-Z@2a01:7e01::f03c:91ff:fe57:d2df) (Read error: Software caused connection abort) |
2022-11-02 16:16:05 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:e55:b872:3823:a08c) (Quit: WeeChat 2.8) |
2022-11-02 16:17:31 +0100 | jtomas | (~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) (Ping timeout: 272 seconds) |
2022-11-02 16:18:50 +0100 | heartburn | (~gass@2a00:d880:3:1::b1e4:b241) (Read error: Software caused connection abort) |
2022-11-02 16:19:02 +0100 | Ram-Z | (Ram-Z@2a01:7e01::f03c:91ff:fe57:d2df) |
2022-11-02 16:19:04 +0100 | glguy | (~glguy@libera/staff-emeritus/glguy) |
2022-11-02 16:19:21 +0100 | heartburn | (~gass@2a00:d880:3:1::b1e4:b241) |
2022-11-02 16:23:02 +0100 | Cale | (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Read error: Software caused connection abort) |
2022-11-02 16:25:55 +0100 | doyougnu | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) |
2022-11-02 16:27:51 +0100 | glguy | (~glguy@libera/staff-emeritus/glguy) (Ping timeout: 255 seconds) |
2022-11-02 16:28:10 +0100 | Guest61 | (~Guest61@144.178.80.2) |
2022-11-02 16:28:12 +0100 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) |
2022-11-02 16:29:29 +0100 | SethTisue | (sid14912@id-14912.ilkley.irccloud.com) (Read error: Software caused connection abort) |
2022-11-02 16:29:38 +0100 | phma | (phma@2001:5b0:210d:ac28:95ba:8163:b584:2813) (Read error: Connection reset by peer) |
2022-11-02 16:29:56 +0100 | phma | (phma@2001:5b0:210d:ac28:8814:df84:c60c:ebe6) |
2022-11-02 16:31:07 +0100 | glguy | (~glguy@libera/staff-emeritus/glguy) |
2022-11-02 16:32:03 +0100 | SethTisue | (sid14912@id-14912.ilkley.irccloud.com) |
2022-11-02 16:35:39 +0100 | Neuromancer | (~Neuromanc@user/neuromancer) (Read error: Software caused connection abort) |
2022-11-02 16:35:54 +0100 | <Guest61> | Hello, Im having trouble with one of Dr. Yorgeys hw assignments.. can someone give me a nudge in the right direction? https://www.cis.upenn.edu/~cis1940/spring13/hw/07-folds-monoids.pdf, Excercise 2 |
2022-11-02 16:36:40 +0100 | <Guest61> | Specifically this line "This can then be used at each step to determine if the desired index is in the left or the right branch." |
2022-11-02 16:36:51 +0100 | glguy | (~glguy@libera/staff-emeritus/glguy) (Ping timeout: 255 seconds) |
2022-11-02 16:37:17 +0100 | stef204 | (~stef204@user/stef204) |
2022-11-02 16:38:05 +0100 | <Guest61> | If the root node of the tree is Apppend (Sized 7) jl1 jl2, how does knowing the number 7 tell me which subtree to look into?? |
2022-11-02 16:38:57 +0100 | Sauvin | (~sauvin@user/Sauvin) (Ping timeout: 240 seconds) |
2022-11-02 16:39:33 +0100 | <Guest61> | Here's the data type defitnion of the tree https://paste.tomsmeding.com/p4cVU7nM |
2022-11-02 16:39:57 +0100 | <tomsmeding> | Guest61: can't you use the size of the left subtree? |
2022-11-02 16:40:08 +0100 | <tomsmeding> | i.e. check whether the index is less than that size |
2022-11-02 16:40:15 +0100 | jespada | (~jespada@nmal-24-b2-v4wan-166357-cust1764.vm24.cable.virginm.net) |
2022-11-02 16:40:25 +0100 | Cale | (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) |
2022-11-02 16:42:11 +0100 | azimut_ | (~azimut@gateway/tor-sasl/azimut) |
2022-11-02 16:44:01 +0100 | glguy | (~glguy@libera/staff-emeritus/glguy) |
2022-11-02 16:44:03 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-11-02 16:45:07 +0100 | elevenkb | (~elevenkb@105.184.125.168) |
2022-11-02 16:45:10 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:756c:6d4e:8007:23ff) |
2022-11-02 16:45:29 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
2022-11-02 16:47:01 +0100 | Sauvin | (~sauvin@user/Sauvin) |
2022-11-02 16:50:57 +0100 | <Guest61> | If you can, im not seeing how that works...is there a precondition for this to work that im missing maybe? Like the tree needs to be balanced |
2022-11-02 16:51:02 +0100 | <Guest61> | tomsmeding |
2022-11-02 16:54:02 +0100 | Guest|95 | (~Guest|95@157.100.91.168) |
2022-11-02 16:54:22 +0100 | <Guest61> | Lets say the monoid annoitation at the root is (Sized 11), and my given index is 3, the left subtree is (Append (Sized 5) (lt)(rt)) and my right subtree is (Append (Sized 5) (lt) (rt)). |
2022-11-02 16:54:23 +0100 | abhiroop_ | (~abhiroop@ext-1-450.eduroam.chalmers.se) |
2022-11-02 16:54:41 +0100 | <Guest61> | Which subtree do I take? |
2022-11-02 16:55:30 +0100 | jtomas | (~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) |
2022-11-02 16:55:54 +0100 | dcoutts_ | (~duncan@host86-163-164-210.range86-163.btcentralplus.com) |
2022-11-02 16:56:17 +0100 | dcoutts__ | (~duncan@host86-163-164-210.range86-163.btcentralplus.com) (Read error: Connection reset by peer) |
2022-11-02 16:56:59 +0100 | Guest|95 | (~Guest|95@157.100.91.168) () |
2022-11-02 16:57:25 +0100 | elevenkb | (~elevenkb@105.184.125.168) (Ping timeout: 252 seconds) |
2022-11-02 16:58:31 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Ping timeout: 252 seconds) |
2022-11-02 16:58:31 +0100 | tomboy64 | (~tomboy64@user/tomboy64) (Ping timeout: 252 seconds) |
2022-11-02 16:58:49 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
2022-11-02 16:59:37 +0100 | Guest71 | (~Guest71@ext-1-450.eduroam.chalmers.se) |
2022-11-02 17:00:32 +0100 | thegeekinside | (~thegeekin@189.180.115.115) |
2022-11-02 17:01:35 +0100 | ski | . o O ( "10 Most(ly dead) Influential Programming Languages" by Hillel Wayne in 2020-03-25 at <https://hillelwayne.com/post/influential-dead-languages/> ) |
2022-11-02 17:01:51 +0100 | zebrag | (~chris@user/zebrag) |
2022-11-02 17:03:49 +0100 | econo | (uid147250@user/econo) |
2022-11-02 17:04:00 +0100 | madnight | (~madnight@static.59.103.201.195.clients.your-server.de) (Read error: Software caused connection abort) |
2022-11-02 17:04:10 +0100 | beteigeuze | (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) |
2022-11-02 17:04:18 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:756c:6d4e:8007:23ff) (Remote host closed the connection) |
2022-11-02 17:05:08 +0100 | causal | (~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0d) |
2022-11-02 17:07:05 +0100 | madnight | (~madnight@static.59.103.201.195.clients.your-server.de) |
2022-11-02 17:09:35 +0100 | causal | (~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0d) (Ping timeout: 246 seconds) |
2022-11-02 17:11:18 +0100 | <byorgey> | Guest71: it's not the monoid annotation at the root that helps, but the ones on the left and right subtrees. If you're looking for the 7th thing but the left subtree has size only 5, where should you look? What if you're looking for the 2nd thing? |
2022-11-02 17:11:41 +0100 | tomboy64 | (~tomboy64@user/tomboy64) |
2022-11-02 17:13:15 +0100 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2022-11-02 17:13:42 +0100 | <Guest61> | byorgey Intuitevly that makes sense, but what if both the left and right subtrees both have the same size? |
2022-11-02 17:15:00 +0100 | <c_wraith> | only one set of elements is the first set. |
2022-11-02 17:15:16 +0100 | <c_wraith> | The tree is ordered |
2022-11-02 17:15:19 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-11-02 17:15:29 +0100 | mmhat | (~mmh@p200300f1c73076cfee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.7.1) |
2022-11-02 17:16:51 +0100 | <Guest61> | c_wraith im sorry im not quite understanding this statement "only one set of elements is the first set" |
2022-11-02 17:17:12 +0100 | <Guest61> | Do you mind rephrasing that? |
2022-11-02 17:17:30 +0100 | <c_wraith> | If you're looking for the 4th element in the tree, where do you start counting from? |
2022-11-02 17:17:40 +0100 | dolio | (~dolio@130.44.134.54) (Read error: Software caused connection abort) |
2022-11-02 17:17:42 +0100 | <Guest61> | the left |
2022-11-02 17:17:53 +0100 | <c_wraith> | So.. all the things on the left come before all the things on the right? |
2022-11-02 17:18:01 +0100 | <Guest61> | true |
2022-11-02 17:18:16 +0100 | <c_wraith> | so you don't care about the relative sizes of the subtrees. |
2022-11-02 17:18:28 +0100 | <c_wraith> | You just care if the element you're looking for is in the left |
2022-11-02 17:19:53 +0100 | <c_wraith> | If you're looking for the 4th element and the left subtree has 2 things in it? go to the right. If you're looking for the 4th element and the left subtree has 10 things in it? go to the left |
2022-11-02 17:19:57 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2022-11-02 17:20:16 +0100 | <c_wraith> | (do be careful to count the node you're at, though) |
2022-11-02 17:22:36 +0100 | <Guest61> | If your looking for the 2ns element the left subtree has 3 things and the right subtree has 4 things, which way do you go |
2022-11-02 17:22:41 +0100 | <Guest61> | 2md* |
2022-11-02 17:22:43 +0100 | <Guest61> | 2nd* |
2022-11-02 17:23:16 +0100 | <c_wraith> | well, all the elements on the left come before all the elements on the right |
2022-11-02 17:23:26 +0100 | <Guest61> | according to what im hearing, I would go left? but turns out the index is in the right |
2022-11-02 17:23:45 +0100 | causal | (~user@50.35.83.177) |
2022-11-02 17:23:57 +0100 | <c_wraith> | Well. Are you doing a BST search or an index lookup? |
2022-11-02 17:24:20 +0100 | <c_wraith> | those are different operations, and they have different rules |
2022-11-02 17:24:32 +0100 | elevenkb | (~elevenkb@105.184.125.168) |
2022-11-02 17:24:49 +0100 | dolio | (~dolio@130.44.134.54) |
2022-11-02 17:25:31 +0100 | <Guest61> | Index look up... my understanding is the only rule is that the tree must be balanced |
2022-11-02 17:27:20 +0100 | <c_wraith> | balanced is a third separate idea. It makes sure either kind of lookup is efficient, but they should be correct whether it's balanced or not |
2022-11-02 17:30:02 +0100 | <Guest61> | thanks for sticking around, i made a graphical representaiton maybe itll help me oujt |
2022-11-02 17:30:05 +0100 | <Guest61> | https://paste.tomsmeding.com/KdjfSyxn |
2022-11-02 17:30:20 +0100 | <Guest61> | Im looking for index 2 |
2022-11-02 17:31:21 +0100 | <Guest61> | If Both the left subtree and right subtree have sizes bigger than my index, I should by default go left right? but then that would lead me to the wrong answer |
2022-11-02 17:31:38 +0100 | <c_wraith> | When you go right, you have to make some adjustments |
2022-11-02 17:32:21 +0100 | <c_wraith> | Let's take your example there. If you're going for index 5 in the original tree, you can see by the size of the left subtree that it isn't there. |
2022-11-02 17:32:38 +0100 | <Guest61> | agreed |
2022-11-02 17:32:43 +0100 | <c_wraith> | So you need to look in the right subtree. But you're not looking for the 5th element of the right subtree |
2022-11-02 17:33:01 +0100 | <c_wraith> | you already skipped the 3 elements to the left and the root |
2022-11-02 17:33:43 +0100 | <c_wraith> | So you're only looking for index 1 in the right subtree |
2022-11-02 17:34:15 +0100 | azimut_ | (~azimut@gateway/tor-sasl/azimut) (Read error: Connection reset by peer) |
2022-11-02 17:34:19 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-11-02 17:35:31 +0100 | x88x88x | (~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb) (Read error: Software caused connection abort) |
2022-11-02 17:35:40 +0100 | <Guest61> | I think were getting somewhere... can we use index 2 on my example? |
2022-11-02 17:36:56 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-11-02 17:37:05 +0100 | <c_wraith> | Go for it. |
2022-11-02 17:37:37 +0100 | koolazer | (~koo@user/koolazer) (Read error: Software caused connection abort) |
2022-11-02 17:37:56 +0100 | <Guest61> | ok so the left tree has a size of 3 |
2022-11-02 17:38:09 +0100 | <Guest61> | the right tree has a size of 4 |
2022-11-02 17:38:38 +0100 | <Guest61> | Im gonna go left because the left subtree is bigger? |
2022-11-02 17:38:47 +0100 | <Guest61> | smaller** |
2022-11-02 17:38:56 +0100 | Neuromancer | (~Neuromanc@user/neuromancer) |
2022-11-02 17:39:00 +0100 | <Guest61> | and my index is less then that size |
2022-11-02 17:40:00 +0100 | <c_wraith> | You should never compare the sizes of the subtrees to each other. |
2022-11-02 17:40:27 +0100 | <c_wraith> | If you're looking for index 2 and the left subtree has size 4, does it matter if the right subtree has size 3 or 30000? |
2022-11-02 17:41:00 +0100 | <Guest61> | no |
2022-11-02 17:41:15 +0100 | thyriaen | (~thyriaen@2a01:aea0:dd4:470d:6245:cbff:fe9f:48b1) (Remote host closed the connection) |
2022-11-02 17:41:19 +0100 | Kaipei | (~Kaiepi@108.175.84.104) |
2022-11-02 17:41:32 +0100 | <Guest61> | and sorry i was suggesting that I was comparing the sizes... I meant, I check the LT first and I see that its size is greater than my index |
2022-11-02 17:41:40 +0100 | <Guest61> | so I go to the left... are we on the same page? |
2022-11-02 17:41:43 +0100 | <c_wraith> | yep! |
2022-11-02 17:41:44 +0100 | x88x88x | (~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb) |
2022-11-02 17:42:26 +0100 | <Guest61> | Now Again I look at my LT, and its a Single! the index is 0 so thats not it |
2022-11-02 17:42:30 +0100 | <c_wraith> | One quick question: is the left-most element 0 or 1? Both are common, and I don't actually know, but it is important for the details of my example |
2022-11-02 17:42:41 +0100 | <c_wraith> | ah, 0. ok |
2022-11-02 17:42:59 +0100 | <c_wraith> | err, your example. how did I type that backwards? |
2022-11-02 17:43:05 +0100 | koolazer | (~koo@user/koolazer) |
2022-11-02 17:43:30 +0100 | <Guest61> | Ok so now I look at my RT, and its a single, the index is 1 and thats not it either? |
2022-11-02 17:43:30 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2022-11-02 17:43:40 +0100 | <Guest61> | So the index doesnt exist? |
2022-11-02 17:44:20 +0100 | <c_wraith> | when you go into a right subtree, you're going to need to adjust the index you're looking for |
2022-11-02 17:44:43 +0100 | Kaipii | (~Kaiepi@108.175.84.104) (Ping timeout: 252 seconds) |
2022-11-02 17:44:49 +0100 | <c_wraith> | because you've skipped some elements |
2022-11-02 17:45:21 +0100 | <c_wraith> | In that case, you know it's not the left subtree, nor is the node you're currently looking at |
2022-11-02 17:45:43 +0100 | <c_wraith> | Oh, hmm. |
2022-11-02 17:46:05 +0100 | <c_wraith> | You only have data in the leaves? Your Size calculations look off in that case |
2022-11-02 17:46:40 +0100 | <c_wraith> | Yeah, ok. that's a problem. |
2022-11-02 17:46:44 +0100 | <Guest61> | I believe thats the only way these Monoid Annotated trees work? |
2022-11-02 17:47:02 +0100 | <Guest61> | Atleast thats how I interpreted the hw assignment thus far; I could have got lost somewhere |
2022-11-02 17:47:18 +0100 | <c_wraith> | well, I guess it's not completely a problem. The number of leaves is always the number of internal nodes plus one |
2022-11-02 17:47:30 +0100 | <c_wraith> | so you can convert between total nodes and leaves |
2022-11-02 17:47:38 +0100 | glguy | (~glguy@libera/staff-emeritus/glguy) (Remote host closed the connection) |
2022-11-02 17:47:44 +0100 | <c_wraith> | But this is awkward, because you need to do that |
2022-11-02 17:48:20 +0100 | <c_wraith> | You're starting with the index of a particular leaf, not a particular node, aren't you? |
2022-11-02 17:48:21 +0100 | <Guest61> | Ok so whats wrong with my size calculations? Am i not supposed to include the size of the node itself? |
2022-11-02 17:48:26 +0100 | mokee | (~mokee@37.228.215.235) (Ping timeout: 246 seconds) |
2022-11-02 17:48:45 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:756c:6d4e:8007:23ff) |
2022-11-02 17:48:52 +0100 | mokee | (~mokee@37.228.215.235) |
2022-11-02 17:49:16 +0100 | <Guest61> | I suppose I have no idea where the indexes are supposed to go... my assumption was that you put the indexes in the leaves from left to right |
2022-11-02 17:49:37 +0100 | <Guest61> | then to calculate the size of a node, you calculate the size of that tree |
2022-11-02 17:50:12 +0100 | <c_wraith> | Each of those things can make perfect sense. They're a little awkward to combine, though that's fully possible. |
2022-11-02 17:50:42 +0100 | vglfr | (~vglfr@145.224.100.22) (Remote host closed the connection) |
2022-11-02 17:51:46 +0100 | vglfr | (~vglfr@145.224.100.22) |
2022-11-02 17:51:55 +0100 | <c_wraith> | they are different measures. You can convert between them with the tiniest bit of arithmetic, but you need to be sure you're doing the right things. |
2022-11-02 17:53:05 +0100 | <c_wraith> | Shoot, I've got to run. But I think you've got the basic idea, you just need to work through the details and make sure they all line up together. |
2022-11-02 17:53:19 +0100 | <Guest61> | thanks for the help |
2022-11-02 17:53:56 +0100 | <Guest61> | Still stuck btw but i will revisit this with a fresh mind |
2022-11-02 17:54:01 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1)) |
2022-11-02 17:54:12 +0100 | Guest61 | (~Guest61@144.178.80.2) (Quit: Client closed) |
2022-11-02 17:55:06 +0100 | Achylles | (~Achylles_@2804:431:d724:a8af:5724:3744:6104:7ce5) (Remote host closed the connection) |
2022-11-02 17:55:29 +0100 | gabiruh | (~gabiruh@vps19177.publiccloud.com.br) (Read error: Software caused connection abort) |
2022-11-02 17:56:00 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-11-02 17:57:22 +0100 | doyougnu | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) (Ping timeout: 252 seconds) |
2022-11-02 17:57:47 +0100 | vglfr | (~vglfr@145.224.100.22) (Remote host closed the connection) |
2022-11-02 17:58:22 +0100 | vglfr | (~vglfr@145.224.100.22) |
2022-11-02 17:58:28 +0100 | gabiruh | (~gabiruh@vps19177.publiccloud.com.br) |
2022-11-02 18:00:40 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
2022-11-02 18:03:15 +0100 | titibandit | (~titibandi@xdsl-87-79-250-160.nc.de) |
2022-11-02 18:10:05 +0100 | jpds1 | (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 255 seconds) |
2022-11-02 18:10:33 +0100 | sadmax | (~user@209.205.174.253) |
2022-11-02 18:11:57 +0100 | jpds1 | (~jpds@gateway/tor-sasl/jpds) |
2022-11-02 18:13:55 +0100 | AlexZenon | (~alzenon@178.34.163.109) (Quit: ;-) |
2022-11-02 18:14:21 +0100 | Alex_test | (~al_test@178.34.163.109) (Quit: ;-) |
2022-11-02 18:14:30 +0100 | AlexNoo | (~AlexNoo@178.34.163.109) (Quit: Leaving) |
2022-11-02 18:21:13 +0100 | Alex_test | (~al_test@178.34.163.109) |
2022-11-02 18:22:31 +0100 | AlexNoo | (~AlexNoo@178.34.163.109) |
2022-11-02 18:23:07 +0100 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) |
2022-11-02 18:24:44 +0100 | AlexZenon | (~alzenon@178.34.163.109) |
2022-11-02 18:27:32 +0100 | Xeroine | (~Xeroine@user/xeroine) |
2022-11-02 18:27:38 +0100 | sadmax | (~user@209.205.174.253) (Read error: Connection reset by peer) |
2022-11-02 18:29:08 +0100 | sadmax | (~user@209.205.174.253) |
2022-11-02 18:30:04 +0100 | Guest71 | (~Guest71@ext-1-450.eduroam.chalmers.se) (Quit: Client closed) |
2022-11-02 18:30:55 +0100 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) (Ping timeout: 252 seconds) |
2022-11-02 18:31:07 +0100 | Guest71 | (~Guest71@ext-1-450.eduroam.chalmers.se) |
2022-11-02 18:32:52 +0100 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) |
2022-11-02 18:33:16 +0100 | nate3 | (~nate@98.45.169.16) |
2022-11-02 18:33:37 +0100 | segfaultfizzbuzz | (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
2022-11-02 18:35:34 +0100 | jakalx | (~jakalx@base.jakalx.net) () |
2022-11-02 18:35:40 +0100 | <segfaultfizzbuzz> | the primary reason i see for people wanting to use a language such as C, C++, rust, etc is "performance". my question is whether you can build software in haskell and have a "human compiler" translate sections of the design to whatever performance-oriented implementation without breaking the underlying architecture |
2022-11-02 18:36:06 +0100 | sadmax` | (~user@209.205.174.253) |
2022-11-02 18:36:33 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-11-02 18:37:27 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 255 seconds) |
2022-11-02 18:38:04 +0100 | nate3 | (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
2022-11-02 18:38:21 +0100 | <geekosaur> | you can write parts in other languages and use FFI to fit them together. you can even have the C parts call back into haskell. |
2022-11-02 18:38:44 +0100 | <geekosaur> | there's also inline-c which does pretty much what its name says |
2022-11-02 18:39:15 +0100 | <segfaultfizzbuzz> | i know that i can do FFI, and i can imagine that there may be simple C functions which map well onto something like haskell (especially when no currying is involved), so it is just f : a -> b |
2022-11-02 18:39:42 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2022-11-02 18:39:45 +0100 | Guest53 | (~Guest53@2001:1c00:d0a:9300:dc34:6c32:f20d:b1a4) |
2022-11-02 18:40:13 +0100 | <segfaultfizzbuzz> | so you just define your types a and b in C and then your function sending a to b |
2022-11-02 18:40:46 +0100 | <Guest53> | Is there "state of haskell ecosystem report" Â for 2022? |
2022-11-02 18:41:20 +0100 | <segfaultfizzbuzz> | but my question has to do with whether you can always draw a sensible boundary (i suppose delineated by specific functions? i'm not quite sure how the boundary would be drawn), and then say, here is my haskell implementation, and if i flip this switch, here is Melissa's implementation of that functionality |
2022-11-02 18:41:23 +0100 | <segfaultfizzbuzz> | in C |
2022-11-02 18:44:34 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-11-02 18:44:40 +0100 | Cale | (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Ping timeout: 252 seconds) |
2022-11-02 18:46:05 +0100 | razetime | (~quassel@117.254.34.24) (Remote host closed the connection) |
2022-11-02 18:49:08 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 248 seconds) |
2022-11-02 18:49:24 +0100 | <yin> | hls can correctly highlight every occurence of a symbol but can't rename it? |
2022-11-02 18:49:37 +0100 | Kaipei | (~Kaiepi@108.175.84.104) (Ping timeout: 252 seconds) |
2022-11-02 18:50:09 +0100 | <yin> | it's too basic of a feature to be missing |
2022-11-02 18:50:50 +0100 | titibandit | (~titibandi@xdsl-87-79-250-160.nc.de) (Remote host closed the connection) |
2022-11-02 18:53:03 +0100 | <[exa]> | yin: isn't that more of an editor feature? |
2022-11-02 18:53:20 +0100 | <[exa]> | Guest53: good question tbh |
2022-11-02 18:55:31 +0100 | Guest71 | (~Guest71@ext-1-450.eduroam.chalmers.se) (Quit: Client closed) |
2022-11-02 18:55:56 +0100 | <tomsmeding> | [exa]: it's a language server feature, other language servers tend to support it |
2022-11-02 18:56:58 +0100 | Guest71 | (~Guest71@ext-1-450.eduroam.chalmers.se) |
2022-11-02 18:57:25 +0100 | dcoutts__ | (~duncan@host86-163-164-210.range86-163.btcentralplus.com) |
2022-11-02 18:57:46 +0100 | dcoutts_ | (~duncan@host86-163-164-210.range86-163.btcentralplus.com) (Read error: Connection reset by peer) |
2022-11-02 18:57:48 +0100 | abhiroop | (~abhiroop@ext-1-450.eduroam.chalmers.se) |
2022-11-02 18:57:52 +0100 | abhiroop_ | (~abhiroop@ext-1-450.eduroam.chalmers.se) (Ping timeout: 252 seconds) |
2022-11-02 18:57:55 +0100 | Cale | (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) |
2022-11-02 18:58:21 +0100 | <tomsmeding> | yin: renaming of a local variable works for me |
2022-11-02 18:58:51 +0100 | <tomsmeding> | and renaming of non-exported top-level bindings works too |
2022-11-02 18:58:59 +0100 | <tomsmeding> | it's just project-wide renames that are unsupporte |
2022-11-02 18:59:00 +0100 | <tomsmeding> | d |
2022-11-02 18:59:30 +0100 | <yin> | let me try |
2022-11-02 18:59:42 +0100 | <sm> | I think the author stopped making those State Of Haskell reports |
2022-11-02 19:00:38 +0100 | <segfaultfizzbuzz> | do you mean this? https://haskellweekly.news/survey/2022.html |
2022-11-02 19:00:39 +0100 | <yin> | tomsmeding: what's the name of the action for renaming local variables? |
2022-11-02 19:00:43 +0100 | <yin> | i'm trying coc-rename |
2022-11-02 19:01:08 +0100 | <tomsmeding> | yin: I'm... not sure about coc, in neovim's built-in language server implementation it's vim.lsp.buf.rename(), whicih sounds like "the default rename stuff" |
2022-11-02 19:02:25 +0100 | <sm> | am I thinking of Stephen Diehl ? I think so, it's hard to tell because I think some of his Haskell stuff has gone offline |
2022-11-02 19:02:33 +0100 | <sm> | https://github.com/Gabriella439/post-rfc/blob/main/sotu.md#state-of-the-haskell-ecosystem has had a few small update this year |
2022-11-02 19:02:47 +0100 | <yin> | i considered vim's native lsp but i read that is wasn't as robust as coc |
2022-11-02 19:03:03 +0100 | tgi | (~thegeekin@189.180.115.115) |
2022-11-02 19:03:07 +0100 | <sm> | but yes there's also that survey segfaultfizzbuzz mentions |
2022-11-02 19:03:29 +0100 | <tomsmeding> | yin: it's certainly less featureful, but it works for me /shrug/ |
2022-11-02 19:03:55 +0100 | thegeekinside | (~thegeekin@189.180.115.115) (Ping timeout: 252 seconds) |
2022-11-02 19:04:05 +0100 | sadmax` | (~user@209.205.174.253) (Ping timeout: 272 seconds) |
2022-11-02 19:04:44 +0100 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-11-02 19:06:44 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-11-02 19:07:39 +0100 | img | (~img@user/img) |
2022-11-02 19:10:47 +0100 | <tomsmeding> | yin: it's just textDocument/rename from the LSP protocol |
2022-11-02 19:11:01 +0100 | <tomsmeding> | what error are you getting? |
2022-11-02 19:11:44 +0100 | <yin> | no error. just nothing happening after i type the new name |
2022-11-02 19:11:55 +0100 | <yin> | rename doesn't happen |
2022-11-02 19:12:15 +0100 | detuneattune | (~detuneatt@user/detuneattune) (Read error: Connection reset by peer) |
2022-11-02 19:12:46 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2022-11-02 19:13:42 +0100 | <tomsmeding> | odd |
2022-11-02 19:13:59 +0100 | <tomsmeding> | can you get a log of LSP messages exchanged between coc and hls? |
2022-11-02 19:14:08 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-11-02 19:14:24 +0100 | <drsooch[m]> | Make sure rename plug-in is enabled in your HLS version |
2022-11-02 19:14:50 +0100 | <tomsmeding> | I guess that's a valuable thing to check, but I'd at least expect an error if that was the issue |
2022-11-02 19:15:22 +0100 | <tomsmeding> | (haskell-language-server-YOURVERSION --list-plugins) |
2022-11-02 19:17:25 +0100 | jmorris | (uid537181@id-537181.uxbridge.irccloud.com) |
2022-11-02 19:17:29 +0100 | <tomsmeding> | interesting, I see there's a config option for the 'rename' plugin called 'crossModule', which defaults to False |
2022-11-02 19:18:23 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 246 seconds) |
2022-11-02 19:18:31 +0100 | <yin> | rename is enabled. i don't know how to get a log of lsp/coc exchanges |
2022-11-02 19:19:23 +0100 | <yin> | i'm finding coc to be overkill anyways. might just use vim's native lsp |
2022-11-02 19:20:34 +0100 | leeb | (~leeb@tk2-243-31079.vs.sakura.ne.jp) (Read error: Software caused connection abort) |
2022-11-02 19:20:55 +0100 | Tuplanolla | (~Tuplanoll@91-159-69-11.elisa-laajakaista.fi) |
2022-11-02 19:21:57 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:756c:6d4e:8007:23ff) (Remote host closed the connection) |
2022-11-02 19:22:40 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:756c:6d4e:8007:23ff) |
2022-11-02 19:23:48 +0100 | beteigeuze | (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Ping timeout: 255 seconds) |
2022-11-02 19:24:07 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-11-02 19:24:42 +0100 | leeb | (~leeb@tk2-243-31079.vs.sakura.ne.jp) |
2022-11-02 19:27:01 +0100 | causal | (~user@50.35.83.177) (Ping timeout: 252 seconds) |
2022-11-02 19:27:24 +0100 | causal | (~user@50.35.83.177) |
2022-11-02 19:27:30 +0100 | chromoblob | (~user@37.113.164.122) (Ping timeout: 246 seconds) |
2022-11-02 19:27:34 +0100 | chromobl1b | (~user@37.113.164.122) |
2022-11-02 19:27:42 +0100 | <tomsmeding> | yin: try :CocOpenLog |
2022-11-02 19:30:56 +0100 | <chromobl1b> | can haskell detect loops? i want to write let x = 1 + 0.5 * x in x :: R and have it call fixR (\x -> 1 + 0.5 * x) where fixR isn't just fix |
2022-11-02 19:31:04 +0100 | <chromobl1b> | impossible? |
2022-11-02 19:31:08 +0100 | segfaultfizzbuzz | (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Quit: segfaultfizzbuzz) |
2022-11-02 19:31:53 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-11-02 19:32:02 +0100 | abhiroop | (~abhiroop@ext-1-450.eduroam.chalmers.se) (Ping timeout: 246 seconds) |
2022-11-02 19:32:28 +0100 | Guest71 | (~Guest71@ext-1-450.eduroam.chalmers.se) (Ping timeout: 260 seconds) |
2022-11-02 19:32:49 +0100 | <chromobl1b> | without Template Haskell |
2022-11-02 19:34:08 +0100 | detuneattune | (~detuneatt@user/detuneattune) |
2022-11-02 19:34:09 +0100 | use-value | (~Thunderbi@2a00:23c6:8a03:2f01:50b:c529:3f17:f97) |
2022-11-02 19:34:48 +0100 | ddellacosta | (~ddellacos@143.244.47.100) |
2022-11-02 19:35:16 +0100 | koala_man | (~vidar@157.146.251.23.bc.googleusercontent.com) (Read error: Software caused connection abort) |
2022-11-02 19:35:42 +0100 | <geekosaur> | not at compile time |
2022-11-02 19:36:45 +0100 | <chromobl1b> | i mean, somehow rewrite the expression to the fixR expression |
2022-11-02 19:36:51 +0100 | <geekosaur> | and at runtime it'll discover it by triggering it, and if you're lucky producing "Exception: <<loop>>" |
2022-11-02 19:37:08 +0100 | <geekosaur> | yes, that's why I said "not at compile time" |
2022-11-02 19:37:25 +0100 | <olivermead[m]> | better write some tests |
2022-11-02 19:39:54 +0100 | <tomsmeding> | chromobl1b: what you describe is a meaning-changing code change; haskell doesn't know the implementation of Num for the data type in question (because that implementation might be in a different module which was already compiled beforehand) |
2022-11-02 19:40:13 +0100 | <tomsmeding> | so it can't know when to do something like this and when not |
2022-11-02 19:40:47 +0100 | <tomsmeding> | because it is possible to write the Num instance (in strange ways, sure) in such a way that `let x = 1 + 0.5 * x in x` actually does something useful |
2022-11-02 19:40:49 +0100 | Spukgespenst | (~user@user/siracusa) |
2022-11-02 19:41:19 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
2022-11-02 19:41:22 +0100 | <tomsmeding> | https://www.joachim-breitner.de/blog/792-More_recursive_definitions |
2022-11-02 19:41:24 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-11-02 19:41:29 +0100 | koala_man | (~vidar@157.146.251.23.bc.googleusercontent.com) |
2022-11-02 19:41:31 +0100 | <chromobl1b> | yes, it will return something like (1 + 0.5 * (1 + 0.5 * (...))) |
2022-11-02 19:41:50 +0100 | <chromobl1b> | i was hoping that *loops* could be detected |
2022-11-02 19:42:25 +0100 | Neuromancer | (~Neuromanc@user/neuromancer) (Ping timeout: 252 seconds) |
2022-11-02 19:42:29 +0100 | <tomsmeding> | not sure what to answer on whether they _can_ be detected, but in any case, GHC doesn't :p |
2022-11-02 19:43:42 +0100 | sadmax | (~user@209.205.174.253) (Remote host closed the connection) |
2022-11-02 19:44:03 +0100 | <EvanR> | % let x = x in x |
2022-11-02 19:44:14 +0100 | <EvanR> | % > let x = x in x |
2022-11-02 19:44:31 +0100 | <EvanR> | yaaaaaaahb |
2022-11-02 19:44:32 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-11-02 19:45:07 +0100 | tzh_ | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2022-11-02 19:45:09 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) |
2022-11-02 19:45:27 +0100 | <EvanR> | chromobl1b, if you mean detect loops and fail to compile, what if you wanted a loop |
2022-11-02 19:45:33 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Read error: Connection reset by peer) |
2022-11-02 19:45:52 +0100 | <chromobl1b> | i mean detect loops and insert fixR at loop points |
2022-11-02 19:46:08 +0100 | yahb2 | (~yahb2@2a01:4f8:c0c:5c7b::2) (Read error: Connection reset by peer) |
2022-11-02 19:46:21 +0100 | yahb2 | (~yahb2@2a01:4f8:c0c:5c7b::2) |
2022-11-02 19:46:24 +0100 | sadmax | (~user@209.205.174.253) |
2022-11-02 19:46:43 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:756c:6d4e:8007:23ff) (Remote host closed the connection) |
2022-11-02 19:46:56 +0100 | <chromobl1b> | because fixR (\x -> 1 + 0.5 * x) can solve the equation x = 1 + 0.5x (at least i think so) |
2022-11-02 19:47:33 +0100 | <EvanR> | taking normal code and inserting stuff invisibly sounds bad |
2022-11-02 19:47:43 +0100 | <EvanR> | in context |
2022-11-02 19:47:56 +0100 | <EvanR> | but we have template haskell which takes template-looking code and inserts stuff |
2022-11-02 19:48:47 +0100 | yahb2 | (~yahb2@2a01:4f8:c0c:5c7b::2) (Read error: Connection reset by peer) |
2022-11-02 19:48:58 +0100 | yahb2 | (~yahb2@2a01:4f8:c0c:5c7b::2) |
2022-11-02 19:49:34 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
2022-11-02 19:49:50 +0100 | <monochrom> | If you know denotational semantics, the correct solution to x=1+0.5*x is bottom. |
2022-11-02 19:50:22 +0100 | <monochrom> | In this context, your notion of "useful" is subjective. |
2022-11-02 19:50:28 +0100 | <chromobl1b> | R isn't just Float, you know |
2022-11-02 19:50:41 +0100 | <monochrom> | I know. |
2022-11-02 19:51:13 +0100 | <tomsmeding> | monochrom: not necessarily if the Num instance of R uses some well-crafted unsafePerformIO |
2022-11-02 19:51:44 +0100 | <tomsmeding> | chromobl1b: monochrom's point is: if you mean fixR, write fixR :p |
2022-11-02 19:52:49 +0100 | <monochrom> | So let's take an example that's even relevant for Bool, shall we? |
2022-11-02 19:53:44 +0100 | <monochrom> | If you know denotational semantics, the correct solution to x = x && False is bottom. |
2022-11-02 19:54:52 +0100 | <chromobl1b> | by the way! a few days ago i wanted to know, is (||) possible to define such that True || bottom = bottom || True = True? |
2022-11-02 19:55:04 +0100 | vglfr | (~vglfr@145.224.100.22) (Ping timeout: 252 seconds) |
2022-11-02 19:55:10 +0100 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) |
2022-11-02 19:55:12 +0100 | <tomsmeding> | no, because how are you going to check whether the argument is bottom? |
2022-11-02 19:55:18 +0100 | <tomsmeding> | is an infinite loop bottom? |
2022-11-02 19:56:18 +0100 | <chromobl1b> | it kind of starts computation of both arguments in parallel and when any one returns True, it returns True |
2022-11-02 19:56:27 +0100 | <monochrom> | Look up "parallel or" aka "por" and its difficulty in fitting into sequential computing. |
2022-11-02 19:56:27 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-11-02 19:56:49 +0100 | <tomsmeding> | chromobl1b: that you can do, but only in IO -- because the result could depend on execution order, i.e. is not pure code |
2022-11-02 19:57:27 +0100 | <chromobl1b> | monochrom: Google fails me |
2022-11-02 19:58:01 +0100 | chromobl1b | chromoblob |
2022-11-02 19:59:42 +0100 | <yin> | > let (||) = const . const True in True || undefined |
2022-11-02 19:59:43 +0100 | <lambdabot> | True |
2022-11-02 19:59:47 +0100 | <yin> | > let (||) = const . const True in undefined || True |
2022-11-02 19:59:48 +0100 | <lambdabot> | True |
2022-11-02 20:00:26 +0100 | <chromoblob> | nooo |
2022-11-02 20:01:01 +0100 | igghibu | (~igghibu@178.249.211.100) |
2022-11-02 20:01:33 +0100 | gabiruh_ | (~gabiruh@vps19177.publiccloud.com.br) |
2022-11-02 20:01:42 +0100 | gabiruh | (~gabiruh@vps19177.publiccloud.com.br) (Read error: Connection reset by peer) |
2022-11-02 20:01:45 +0100 | <yin> | technically yes |
2022-11-02 20:02:08 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-11-02 20:06:52 +0100 | Guest53 | (~Guest53@2001:1c00:d0a:9300:dc34:6c32:f20d:b1a4) () |
2022-11-02 20:07:36 +0100 | Luj3 | (~Luj@2a01:e0a:5f9:9681:a8ec:74c1:b9fd:4789) (Quit: Ping timeout (120 seconds)) |
2022-11-02 20:07:55 +0100 | Luj3 | (~Luj@2a01:e0a:5f9:9681:85d8:91f1:a50:3039) |
2022-11-02 20:08:16 +0100 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2022-11-02 20:08:46 +0100 | ec | (~ec@gateway/tor-sasl/ec) |
2022-11-02 20:09:57 +0100 | Luj3 | (~Luj@2a01:e0a:5f9:9681:85d8:91f1:a50:3039) (Client Quit) |
2022-11-02 20:11:08 +0100 | Luj3 | (~Luj@2a01:e0a:5f9:9681:85d8:91f1:a50:3039) |
2022-11-02 20:11:34 +0100 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
2022-11-02 20:12:48 +0100 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2022-11-02 20:13:08 +0100 | sadmax` | (~user@209.205.174.253) |
2022-11-02 20:13:09 +0100 | ec | (~ec@gateway/tor-sasl/ec) |
2022-11-02 20:13:23 +0100 | Kaipei | (~Kaiepi@108.175.84.104) |
2022-11-02 20:13:43 +0100 | yahb2 | (~yahb2@2a01:4f8:c0c:5c7b::2) (Remote host closed the connection) |
2022-11-02 20:13:55 +0100 | yahb2 | (~yahb2@2a01:4f8:c0c:5c7b::2) |
2022-11-02 20:13:59 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-11-02 20:14:43 +0100 | <tomsmeding> | % let x = x in x -- EvanR I fixed yahb2 |
2022-11-02 20:14:45 +0100 | <yahb2> | <timeout> |
2022-11-02 20:14:52 +0100 | sadmax | (~user@209.205.174.253) (Ping timeout: 252 seconds) |
2022-11-02 20:15:31 +0100 | Luj3 | (~Luj@2a01:e0a:5f9:9681:85d8:91f1:a50:3039) (Client Quit) |
2022-11-02 20:15:39 +0100 | ddellacosta | (~ddellacos@143.244.47.100) (Ping timeout: 272 seconds) |
2022-11-02 20:15:39 +0100 | <chromoblob> | need to extend coroutines again :) |
2022-11-02 20:16:34 +0100 | igghibu | (~igghibu@178.249.211.100) (Quit: Textual IRC Client: www.textualapp.com) |
2022-11-02 20:17:11 +0100 | igghibu | (~igghibu@178.249.211.100) |
2022-11-02 20:18:44 +0100 | Luj3 | (~Luj@2a01:e0a:5f9:9681:5995:d46c:bfc1:b889) |
2022-11-02 20:19:45 +0100 | <tomsmeding> | EvanR: funny thing is that the code was clearly broken, infinite loops hung the whole thing without fail |
2022-11-02 20:20:02 +0100 | <tomsmeding> | no clue how I tested this code and did not run into this |
2022-11-02 20:22:40 +0100 | <darkling> | I guess that's a step up from "how did this test ever pass?" |
2022-11-02 20:23:21 +0100 | gqplox | (~textual@97e654ef.skybroadband.com) |
2022-11-02 20:23:39 +0100 | nschoe | (~q@2a01:e0a:8e:a190:27a4:b90b:a639:cc1e) |
2022-11-02 20:24:08 +0100 | <tomsmeding> | step down, because said testing was manual |
2022-11-02 20:24:33 +0100 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2022-11-02 20:25:16 +0100 | <gqplox> | hello |
2022-11-02 20:25:30 +0100 | <darkling> | tomsmeding: I... don't know what to say. |
2022-11-02 20:26:35 +0100 | <gqplox> | i am a beginner. i am trying to make a table type or data. Basically I want to initialise the table to have say 4 colums but in those columns i want to be able to put different things |
2022-11-02 20:26:43 +0100 | <gqplox> | How would I be able to do this? |
2022-11-02 20:27:12 +0100 | <[exa]> | gqplox: that depends a lot on the stuff you want to store in the table. Is that like a "data frame" from pandas/R? |
2022-11-02 20:27:25 +0100 | <gqplox> | Like I table with 3 columns of "date", "name", "kcal" could be represented as [(String, String, Int)] I guess, but I might want to change it |
2022-11-02 20:27:40 +0100 | <gqplox> | Wait let me share a screenshow to explain, is that ok? |
2022-11-02 20:27:50 +0100 | <[exa]> | better to use pastebin to share the code |
2022-11-02 20:28:16 +0100 | <[exa]> | https://paste.tomsmeding.com is the usual one we use here |
2022-11-02 20:28:58 +0100 | <chromoblob> | gqplox: change it when? |
2022-11-02 20:29:11 +0100 | Neuromancer | (~Neuromanc@user/neuromancer) |
2022-11-02 20:29:51 +0100 | <gqplox> | http://sprunge.us/Nip9Ap |
2022-11-02 20:30:24 +0100 | <darkling> | gqplox: Also, change it how -- do you want to change the number of rows, the number of columns, or the contents of exiting cells? |
2022-11-02 20:30:35 +0100 | <gqplox> | So Basically in python I called the table like table = Table(headers=headers) where headers is a list of strings |
2022-11-02 20:30:45 +0100 | <[exa]> | gqplox: you could probably make a type like `data Food = Food { foodName::String, foodKcal :: Int, ......}` |
2022-11-02 20:30:50 +0100 | <gqplox> | but i would store all the data of the table in an array of arrays |
2022-11-02 20:30:54 +0100 | <gqplox> | and keep the datatype |
2022-11-02 20:31:06 +0100 | <gqplox> | eg, so later on i can take the total of any items that are Numeric for example is what i want |
2022-11-02 20:31:39 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-11-02 20:31:49 +0100 | <gqplox> | when the table is created it should be made according to fields specified, only new entries will be added |
2022-11-02 20:32:09 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-11-02 20:32:20 +0100 | <darkling> | If all the non-heading cells are the same data type (which they are in your example, it's a list of column headings, and a list of rows, where each row is a (String, [Double]) tuple. |
2022-11-02 20:32:36 +0100 | <gqplox> | and then later I will make a printTable function to print it as an ascii table |
2022-11-02 20:32:52 +0100 | stef204 | (~stef204@user/stef204) (Quit: WeeChat 3.7.1) |
2022-11-02 20:33:52 +0100 | <[exa]> | gqplox: ah so you want "dynamic" list of properties for each of the entries, right? |
2022-11-02 20:35:45 +0100 | <gqplox> | Sorry for poorly explaining guys. Basically I have all this food data stored as a csv file, and then I want to print this data out as an ascii table on demand. For example, the csv has a field for `salt`, but sometimes I might not want to show the salt column when displaying the table. So ideally something wihch I can change the cols for when creating the table on demand for the first time |
2022-11-02 20:35:46 +0100 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) (Ping timeout: 252 seconds) |
2022-11-02 20:36:05 +0100 | <gqplox> | Actually since I am a beginner I can maybe just start out with the assumption that everything will be the same cols |
2022-11-02 20:36:15 +0100 | <gqplox> | In that case, the recommended way is to use data? |
2022-11-02 20:36:25 +0100 | <[exa]> | ah okay. You are reading the csv with the `csv` package? |
2022-11-02 20:36:46 +0100 | <darkling> | I think the main thing I'd say in your use case is to separte out the column headings and row headings as separate things (as I said above) |
2022-11-02 20:37:33 +0100 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) |
2022-11-02 20:37:35 +0100 | <darkling> | s/separte/separate/ |
2022-11-02 20:38:20 +0100 | <[exa]> | anyway the good&bad property of haskell here is that it will require you to have your code statically typed, which might get a bit inconvenient -- in python, you start e.g. adding up the numbers and end up with a TypeError only in case something gets wrong depending on (dynamic) data contents; here you get the TypeError just because it's possible |
2022-11-02 20:38:56 +0100 | <gqplox> | I don't really know how to read/write stuff yet I'm just trying to piece together whatever i can hehe, I thought it would be best to start with the table as i can mock up the data in ghci |
2022-11-02 20:39:14 +0100 | <gqplox> | Okay thank you guys, Ill have a go using your suggestions and come back in a bit |
2022-11-02 20:39:37 +0100 | <[exa]> | gqplox: there's a `csv` package btw that is kinda useful for CSVs |
2022-11-02 20:39:45 +0100 | Luj3 | (~Luj@2a01:e0a:5f9:9681:5995:d46c:bfc1:b889) (Quit: The Lounge - https://thelounge.chat) |
2022-11-02 20:41:33 +0100 | <[exa]> | gqplox: but dataframes ain't that much popular outside python&R(&maybe Julia) because of the type properties. If you want to simulate them, you can end up with something like `type MyTable = [(String, MyColumn)]; data MyColumn = StringColumn [String] | IntColumn [Int] | FloatColumn [Float] | ...` |
2022-11-02 20:41:51 +0100 | <[exa]> | (which is AFAIK roughly how pythons and R's actually do that internally) |
2022-11-02 20:44:12 +0100 | Luj3 | (~Luj@2a01:e0a:5f9:9681:1047:e6e7:4c5c:c3aa) |
2022-11-02 20:44:39 +0100 | <gqplox> | ah right thank you |
2022-11-02 20:44:58 +0100 | <gqplox> | type Row = (String, [Integer]) |
2022-11-02 20:45:20 +0100 | <chromoblob> | i like [exa]'s approach more |
2022-11-02 20:45:22 +0100 | <gqplox> | i do ghci table.hs is says ok loaded, but i try to do :t Row and it gives error how come? |
2022-11-02 20:45:42 +0100 | <chromoblob> | :t Int |
2022-11-02 20:45:43 +0100 | <lambdabot> | error: |
2022-11-02 20:45:43 +0100 | <lambdabot> | • Data constructor not in scope: Int |
2022-11-02 20:45:43 +0100 | <lambdabot> | • Perhaps you meant variable ‘int’ (imported from Text.PrettyPrint.HughesPJ) |
2022-11-02 20:46:18 +0100 | <chromoblob> | because the type Row and the constructor Row are different things, and :t is for expressions, not types |
2022-11-02 20:46:20 +0100 | <gqplox> | <interactive>:1:1: error: |
2022-11-02 20:46:21 +0100 | <gqplox> | • Illegal term-level use of the type constructor ‘Row’ |
2022-11-02 20:46:21 +0100 | <gqplox> | defined at table.hs:1:1 |
2022-11-02 20:46:21 +0100 | <gqplox> | • In the expression: Row |
2022-11-02 20:46:51 +0100 | <chromoblob> | ":t expr" is "give me type of expression expr" |
2022-11-02 20:46:55 +0100 | ft | (~ft@p508dbd59.dip0.t-ipconnect.de) |
2022-11-02 20:47:02 +0100 | <chromoblob> | and Row is type itself, not an expression |
2022-11-02 20:47:14 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:756c:6d4e:8007:23ff) |
2022-11-02 20:47:15 +0100 | <[exa]> | gqplox: usually it's best to type the code into a source file for easier editing, and only test that with ghci (use :r to reload what you edited) |
2022-11-02 20:47:21 +0100 | <geekosaur> | Row is an alias for the type (String,[Integer]) |
2022-11-02 20:47:58 +0100 | <gqplox> | ghci> :t ("hello", [1,2,3]) |
2022-11-02 20:47:58 +0100 | <gqplox> | ("hello", [1,2,3]) :: Num a => (String, [a]) |
2022-11-02 20:47:58 +0100 | <gqplox> | ghci> :t ("hello", [1,2,3]) :: Row |
2022-11-02 20:47:58 +0100 | <gqplox> | ("hello", [1,2,3]) :: Row :: Row |
2022-11-02 20:48:00 +0100 | <gqplox> | ah i get it |
2022-11-02 20:48:04 +0100 | <gqplox> | thank you |
2022-11-02 20:48:31 +0100 | gmg | (~user@user/gehmehgeh) |
2022-11-02 20:49:08 +0100 | igghibu | (~igghibu@178.249.211.100) (Quit: Textual IRC Client: www.textualapp.com) |
2022-11-02 20:49:16 +0100 | <chromoblob> | gqplox: note that integer literals like 1 do not always mean an Integer; an 1 is anything Num instance is defined for |
2022-11-02 20:49:38 +0100 | <gqplox> | ah right, thx |
2022-11-02 20:49:41 +0100 | <geekosaur> | > 1 :: Int |
2022-11-02 20:49:43 +0100 | <lambdabot> | 1 |
2022-11-02 20:49:46 +0100 | <chromoblob> | ("hello", [1,2,3] :: [Integer]) will give you right type |
2022-11-02 20:49:47 +0100 | <geekosaur> | > 1 :: Double |
2022-11-02 20:49:49 +0100 | <lambdabot> | 1.0 |
2022-11-02 20:49:53 +0100 | <gqplox> | oh right because i can cast it as whatever |
2022-11-02 20:50:09 +0100 | <geekosaur> | or ("hello", [1,2,3]) :: Row |
2022-11-02 20:50:23 +0100 | <chromoblob> | it's not casting though, it's just specifying a type |
2022-11-02 20:50:43 +0100 | <gqplox> | right |
2022-11-02 20:50:44 +0100 | <chromoblob> | casting is changing a type, and is explicit |
2022-11-02 20:50:51 +0100 | M0rphee[m] | (~M0rpheema@2001:470:69fc:105::2:b1ce) |
2022-11-02 20:51:03 +0100 | <geekosaur> | it's not really a cast, it's a specifier (I usually call it a type ascription). "Num a => a" means the compiler is ready to give it any type that has a Num instance; you're just specifying which one to use |
2022-11-02 20:51:19 +0100 | <gqplox> | yep that's what I mean, I got the terminology wrong |
2022-11-02 20:51:20 +0100 | <gqplox> | thank you |
2022-11-02 20:51:25 +0100 | <geekosaur> | fromIntegral is how you'd actually convert a number to a different type |
2022-11-02 20:51:33 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:756c:6d4e:8007:23ff) (Ping timeout: 255 seconds) |
2022-11-02 20:51:44 +0100 | <geekosaur> | ewll, an integral number. there's also fromRational and realToFrac among others |
2022-11-02 20:52:39 +0100 | ski | low fours geekosaur for "type ascription" |
2022-11-02 20:53:27 +0100 | mmhat | (~mmh@p200300f1c73076cfee086bfffe095315.dip0.t-ipconnect.de) |
2022-11-02 20:53:40 +0100 | <ski> | @type fromInteger |
2022-11-02 20:53:41 +0100 | <lambdabot> | Num a => Integer -> a |
2022-11-02 20:53:45 +0100 | <ski> | @type fromIntgral |
2022-11-02 20:53:46 +0100 | <lambdabot> | error: |
2022-11-02 20:53:46 +0100 | <lambdabot> | • Variable not in scope: fromIntgral |
2022-11-02 20:53:46 +0100 | <lambdabot> | • Perhaps you meant ‘fromIntegral’ (imported from Prelude) |
2022-11-02 20:53:51 +0100 | <ski> | @type fromIntegral |
2022-11-02 20:53:52 +0100 | <lambdabot> | (Integral a, Num b) => a -> b |
2022-11-02 20:53:59 +0100 | <ski> | @type fromRational |
2022-11-02 20:54:00 +0100 | <lambdabot> | Fractional a => Rational -> a |
2022-11-02 20:54:05 +0100 | <ski> | @type realToFrac |
2022-11-02 20:54:06 +0100 | <lambdabot> | (Real a, Fractional b) => a -> b |
2022-11-02 20:55:31 +0100 | <ski> | `fromIntegral' or `realToFrac' are usually the numeric conversions you reach for. apart from `floor',`ceiling',`round',`truncate', that is |
2022-11-02 20:57:04 +0100 | <ski> | if you type `123' then this actually means `fromInteger 123', where that `123' has type `Integer' (and is not recursively expanded to `fromInteger (fromInteger 123)', ad nauseam ..) |
2022-11-02 20:57:34 +0100 | <ski> | ditto for decimal numeric literals / numerals, `123.45' means `fromRational 123.45' |
2022-11-02 20:57:40 +0100 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 248 seconds) |
2022-11-02 20:58:34 +0100 | <chromoblob> | > 123.45 :: Rational |
2022-11-02 20:58:36 +0100 | <lambdabot> | 2469 % 20 |
2022-11-02 20:58:42 +0100 | <gqplox> | so is there a way to ah nice thank you |
2022-11-02 20:58:52 +0100 | <gqplox> | oops that was from before |
2022-11-02 20:58:55 +0100 | dcoutts_ | (~duncan@host86-163-164-210.range86-163.btcentralplus.com) |
2022-11-02 20:59:48 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 248 seconds) |
2022-11-02 21:00:19 +0100 | Heyting | (~Heyting@193.198.16.217) |
2022-11-02 21:01:37 +0100 | dcoutts__ | (~duncan@host86-163-164-210.range86-163.btcentralplus.com) (Ping timeout: 252 seconds) |
2022-11-02 21:02:10 +0100 | Cale | (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Ping timeout: 252 seconds) |
2022-11-02 21:03:03 +0100 | <chromoblob> | general :: (forall a . [a] -> [a]) -> MyColumn -> MyColumn; general f (StringColumn s) = StringColumn (f s); general f (IntColumn i) = IntColumn (f i); ... |
2022-11-02 21:05:15 +0100 | <chromoblob> | useGeneral :: (forall a . [a] -> [a]) -> MyTable -> MyTable; useGeneral f rows = map (second f) rows |
2022-11-02 21:06:44 +0100 | <chromoblob> | gqplox: ^ this is how you could perform *row* operations on columns, e.g. to remove second row, use: useGeneral (\(r1:r2:rs) -> r1:rs) myTable |
2022-11-02 21:06:56 +0100 | <chromoblob> | second is from Control.Arrow |
2022-11-02 21:07:21 +0100 | [exa] | remembers Generic.Data.Surgery |
2022-11-02 21:11:34 +0100 | <chromoblob> | oops i should have called 'rows' 'cols' |
2022-11-02 21:11:49 +0100 | <chromoblob> | but it should work |
2022-11-02 21:13:12 +0100 | ski | was wondering .. |
2022-11-02 21:13:45 +0100 | ss4 | (~wootehfoo@user/wootehfoot) |
2022-11-02 21:13:47 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-11-02 21:14:11 +0100 | Heyting | (~Heyting@193.198.16.217) (Remote host closed the connection) |
2022-11-02 21:15:26 +0100 | Cale | (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) |
2022-11-02 21:15:46 +0100 | <chromoblob> | useGeneral f cols = map (second (general f)) cols |
2022-11-02 21:15:50 +0100 | <chromoblob> | fixed |
2022-11-02 21:16:03 +0100 | caryhartline | (~caryhartl@2600:1700:2d0:8d30:9d7c:5e2:4131:9c2b) (Quit: caryhartline) |
2022-11-02 21:17:01 +0100 | <ski> | useGeneral = map . second . general |
2022-11-02 21:17:01 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) (Ping timeout: 252 seconds) |
2022-11-02 21:17:25 +0100 | <ski> | (presumably doesn't work, due to rank-2 and lack of impredicative types with `.' ?) |
2022-11-02 21:18:13 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2022-11-02 21:18:35 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:756c:6d4e:8007:23ff) |
2022-11-02 21:19:19 +0100 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2022-11-02 21:19:32 +0100 | gmg | (~user@user/gehmehgeh) (Ping timeout: 255 seconds) |
2022-11-02 21:22:16 +0100 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
2022-11-02 21:27:11 +0100 | jmorris | (uid537181@id-537181.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2022-11-02 21:28:21 +0100 | mokee | (~mokee@37.228.215.235) (Remote host closed the connection) |
2022-11-02 21:30:02 +0100 | abhiroop | (~abhiroop@217-209-157-8-no2000.tbcn.telia.com) |
2022-11-02 21:30:46 +0100 | causal | (~user@50.35.83.177) (Ping timeout: 252 seconds) |
2022-11-02 21:36:57 +0100 | Heyting | (~Heyting@193.198.16.217) |
2022-11-02 21:37:15 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-11-02 21:38:48 +0100 | mmhat | (~mmh@p200300f1c73076cfee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
2022-11-02 21:38:52 +0100 | stackdroid18 | (14094@user/stackdroid) (Quit: hasta la vista... tchau!) |
2022-11-02 21:39:16 +0100 | abhiroop | (~abhiroop@217-209-157-8-no2000.tbcn.telia.com) (Ping timeout: 248 seconds) |
2022-11-02 21:39:48 +0100 | jtomas | (~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) (Ping timeout: 248 seconds) |
2022-11-02 21:40:57 +0100 | jinsun__ | (~jinsun@user/jinsun) |
2022-11-02 21:40:57 +0100 | jinsun | (~jinsun@user/jinsun) (Killed (osmium.libera.chat (Nickname regained by services))) |
2022-11-02 21:40:57 +0100 | jinsun__ | jinsun |
2022-11-02 21:41:18 +0100 | Heyting | (~Heyting@193.198.16.217) (Remote host closed the connection) |
2022-11-02 21:41:20 +0100 | ss4 | (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
2022-11-02 21:44:54 +0100 | causal | (~user@50.35.83.177) |
2022-11-02 21:45:06 +0100 | Kaipei | (~Kaiepi@108.175.84.104) (Ping timeout: 255 seconds) |
2022-11-02 21:45:33 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2022-11-02 21:46:39 +0100 | xax__ | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2022-11-02 21:47:49 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Ping timeout: 252 seconds) |
2022-11-02 21:49:10 +0100 | jinsun | (~jinsun@user/jinsun) () |
2022-11-02 21:49:28 +0100 | tzh_ | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Ping timeout: 252 seconds) |
2022-11-02 21:51:50 +0100 | mmhat | (~mmh@p200300f1c7307621ee086bfffe095315.dip0.t-ipconnect.de) |
2022-11-02 21:51:54 +0100 | <chromoblob> | i have another problem, let spread k kt f t = f t + k * spread k kt f (t * kt). given that f :: R -> R is defined around zero and -1 < k < 1, spread k kt f t is undefined at t = 0 but has a limit for t -> 0. i would like to get it defined there, i don't know where to insert fix and which type would the fix even have |
2022-11-02 21:53:52 +0100 | <NemesisD> | i'm trying to use a function foo that has a type parameter c of kind Constraint. i'm trying to use type applications to specify the constraint concisely. foo @Show works fine. however i actually need to specify multiple constraints: i.e. foo @(Show, Eq). how can i do this? |
2022-11-02 21:54:30 +0100 | <chromoblob> | i mean i know it can have type ((R -> R -> (R -> R) -> R) -> (R -> R -> (R -> R) -> R)) -> R -> R -> (R -> R) -> R but i don't know how to write it, and whether this form would be most efficient |
2022-11-02 21:54:48 +0100 | <tomsmeding> | chromoblob: `fix` is not the right tool here, you're trying to get convergence in the reals, whereas `fix` gives you convergence in some unrelated functional domain |
2022-11-02 21:55:03 +0100 | <tomsmeding> | > fix (1:) -- fix gives you this |
2022-11-02 21:55:05 +0100 | <lambdabot> | [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1... |
2022-11-02 21:55:11 +0100 | <chromoblob> | yes, i do mean not usual fix |
2022-11-02 21:56:00 +0100 | <tomsmeding> | NemesisD: I don't think you can, just like (Maybe, Either String) isn't suddenly a functor |
2022-11-02 21:56:28 +0100 | <tomsmeding> | but you can do `class (Show a, Eq a) => MyThings a ; instance (Show a, Eq a) => MyThings a` and then use @MyThings |
2022-11-02 21:56:52 +0100 | <tomsmeding> | just like you can `data MyFunctors a = MyFunctors (Maybe a) (Either String a) deriving (Functor)` |
2022-11-02 21:56:59 +0100 | <tomsmeding> | you have to make a new name |
2022-11-02 21:57:00 +0100 | <chromoblob> | i mean i need to write this "fix" myself |
2022-11-02 21:57:06 +0100 | TonyStone | (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) (Ping timeout: 260 seconds) |
2022-11-02 21:58:23 +0100 | TonyStone | (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) |
2022-11-02 21:58:34 +0100 | <NemesisD> | @tomsmeding yeah i tried that. it did work but it's kind of cumbersome to do that all the time, so i was wondering if there was some library or machinery to make combining constraints on the fly a bit easier. i'm trying to constraints in the barbies library: https://hackage.haskell.org/package/barbies-2.0.3.1/docs/Data-Functor-Barbie.html#g:7 |
2022-11-02 21:58:34 +0100 | <lambdabot> | Unknown command, try @list |
2022-11-02 21:58:39 +0100 | <tomsmeding> | chromoblob: what would that type mean? |
2022-11-02 21:58:57 +0100 | <tomsmeding> | what are those "two reals and a R->R function" |
2022-11-02 21:59:19 +0100 | <chromoblob> | the two reals are k and kt, and the function is f, in definition of spread |
2022-11-02 21:59:31 +0100 | <NemesisD> | i feel like the library authors probably thought of a way to specify product constraints since only being able to specify 1 constraint is a huge limitation but im stuck |
2022-11-02 21:59:45 +0100 | abhiroop | (~abhiroop@217-209-157-8-no2000.tbcn.telia.com) |
2022-11-02 22:00:04 +0100 | <tomsmeding> | % class (c1 a, c2 a) => Both c1 c2 a |
2022-11-02 22:00:04 +0100 | <yahb2> | <interactive>:4:1: error: ; • Potential superclass cycle for ‘Both’ ; one of whose superclass constraints is headed by a type variable: ; ‘c1 a’ ; Use UndecidableSuperCl... |
2022-11-02 22:00:17 +0100 | <tomsmeding> | % :set -XUndecidableSuperClasses -XMultiParamTypeClasses -XConstraintKinds |
2022-11-02 22:00:17 +0100 | <yahb2> | <no output> |
2022-11-02 22:00:21 +0100 | <tomsmeding> | % class (c1 a, c2 a) => Both c1 c2 a |
2022-11-02 22:00:21 +0100 | <yahb2> | <no output> |
2022-11-02 22:00:29 +0100 | <tomsmeding> | % instance (c1 a, c2 a) => Both c1 c2 a |
2022-11-02 22:00:29 +0100 | <yahb2> | <no output> |
2022-11-02 22:00:39 +0100 | <tomsmeding> | % :k Both Show Eq |
2022-11-02 22:00:39 +0100 | <yahb2> | Both Show Eq :: * -> Constraint |
2022-11-02 22:00:40 +0100 | <geekosaur> | are we sure just doing `type ShowEq a = (Show a, Eq a)` doesn't work? |
2022-11-02 22:00:42 +0100 | <tomsmeding> | NemesisD: ^ |
2022-11-02 22:01:59 +0100 | <tomsmeding> | geekosaur: The type synonym ‘ShowEq’ should have 1 argument, but has been given none |
2022-11-02 22:02:27 +0100 | <NemesisD> | yeah, getting the same thing |
2022-11-02 22:02:30 +0100 | <geekosaur> | oh, I think that may need LiberalTypeSynonyms to defer that check |
2022-11-02 22:02:45 +0100 | <geekosaur> | or maybe this si too type-trickery-ey for it |
2022-11-02 22:03:21 +0100 | <tomsmeding> | geekosaur: LiberalTypeSynonyms doesn't help on 9.2.4 |
2022-11-02 22:03:27 +0100 | mvk | (~mvk@2607:fea8:5ce3:8500::4b68) |
2022-11-02 22:03:31 +0100 | <geekosaur> | oh well |
2022-11-02 22:05:01 +0100 | <NemesisD> | i was looking at the constraints package since it's probably in my transitive dependencies but i couldn't quite make sense of it |
2022-11-02 22:09:01 +0100 | abhiroop | (~abhiroop@217-209-157-8-no2000.tbcn.telia.com) (Ping timeout: 272 seconds) |
2022-11-02 22:10:17 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2022-11-02 22:10:17 +0100 | ec | (~ec@gateway/tor-sasl/ec) (Write error: Connection reset by peer) |
2022-11-02 22:10:17 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2022-11-02 22:10:44 +0100 | ec | (~ec@gateway/tor-sasl/ec) |
2022-11-02 22:11:11 +0100 | <chromoblob> | ok, i forgot last t parameter in that type |
2022-11-02 22:11:38 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 246 seconds) |
2022-11-02 22:12:44 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2022-11-02 22:13:32 +0100 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 255 seconds) |
2022-11-02 22:15:08 +0100 | k8yun | (~k8yun@user/k8yun) |
2022-11-02 22:15:31 +0100 | <ski> | chromoblob : that type looks a bit CPSy |
2022-11-02 22:16:34 +0100 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
2022-11-02 22:16:40 +0100 | <tomsmeding> | chromoblob: am I correct if I say that spread k kt f t ~= \sum_{i=0}^\infty k^i * f(t * kt^i) |
2022-11-02 22:17:10 +0100 | <chromoblob> | i don't know the language of these tags |
2022-11-02 22:17:30 +0100 | beteigeuze | (~Thunderbi@bl14-81-220.dsl.telepac.pt) |
2022-11-02 22:17:33 +0100 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2022-11-02 22:17:48 +0100 | <tomsmeding> | I'm trying to write TeX :p |
2022-11-02 22:18:44 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 248 seconds) |
2022-11-02 22:20:55 +0100 | <olivermead[m]> | probably best to render it elsewhere and copy the image in |
2022-11-02 22:21:41 +0100 | <darkling> | Image? This is IRC! ;) |
2022-11-02 22:21:47 +0100 | nschoe | (~q@2a01:e0a:8e:a190:27a4:b90b:a639:cc1e) (Ping timeout: 268 seconds) |
2022-11-02 22:22:06 +0100 | <darkling> | (Well, it is over here...) |
2022-11-02 22:22:16 +0100 | <olivermead[m]> | of course I forget these things are bridged everywhere |
2022-11-02 22:22:42 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2022-11-02 22:22:50 +0100 | <olivermead[m]> | greetings from matrix (element) 👋 |
2022-11-02 22:22:57 +0100 | <ski> | Haskell IRC channel has been a thing since 2001, or so |
2022-11-02 22:23:10 +0100 | <darkling> | We get extra info on this side: you have [m] at the end of your nick to tell us where you come from. |
2022-11-02 22:23:33 +0100 | <ski> | (we were merely around ten to twenty people, at that time, though, iirc) |
2022-11-02 22:24:04 +0100 | <tomsmeding> | chromoblob: I'm claiming this https://tomsmeding.com/ss/get/tomsmeding/Cp7mUY |
2022-11-02 22:25:01 +0100 | <chromoblob> | i think it is so |
2022-11-02 22:25:42 +0100 | <chromoblob> | but the (* kt) is just one way to "morph" the f |
2022-11-02 22:26:53 +0100 | <olivermead[m]> | darkling: damned outsiders the lot of us |
2022-11-02 22:26:59 +0100 | <chromoblob> | i don't want "symbolic transformation" or equivalent of it performed by the programmer |
2022-11-02 22:27:27 +0100 | <tomsmeding> | chromoblob: you're asking about numerical and algebraic algorithms; this is a haskell channel, you'll probably have more success elsewhere :p |
2022-11-02 22:27:42 +0100 | <tomsmeding> | for FP things this is the right place |
2022-11-02 22:27:55 +0100 | <tomsmeding> | other things you can try, but less chance of success :p |
2022-11-02 22:28:05 +0100 | <darkling> | olivermead[m]: We are all outsiders. The amount of Haskell I actually write is minimal. I'm here for the jokes and the discrete maths. |
2022-11-02 22:28:28 +0100 | <tomsmeding> | darkling: nice subtle emphasis on 'discrete' |
2022-11-02 22:29:41 +0100 | <chromoblob> | i feel that my question is "haskelly" |
2022-11-02 22:29:46 +0100 | <olivermead[m]> | darkling: discrete being the area within mathematics and not being sneaky with the maths, I assume? |
2022-11-02 22:30:12 +0100 | <darkling> | Either works? |
2022-11-02 22:30:42 +0100 | <tomsmeding> | chromoblob: the mathy part of your question is how to go from such a function specification to an algorithm that converges to a sensible value |
2022-11-02 22:30:42 +0100 | <chromoblob> | it's about how to generally write such "fixes" |
2022-11-02 22:30:54 +0100 | <tomsmeding> | the haskelly part is how to make that algorithm run magically |
2022-11-02 22:31:21 +0100 | <tomsmeding> | and the most relevant answer to the haskelly part is I think this https://www.joachim-breitner.de/blog/792-More_recursive_definitions |
2022-11-02 22:31:35 +0100 | <tomsmeding> | but it's not quite where you want it yet |
2022-11-02 22:32:20 +0100 | EvanR | (~EvanR@user/evanr) (Remote host closed the connection) |
2022-11-02 22:32:40 +0100 | EvanR | (~EvanR@user/evanr) |
2022-11-02 22:33:19 +0100 | <tomsmeding> | chromoblob: if you feel like watching a talk instead of reading a post, https://www.youtube.com/watch?v=NElOY3Ufsts |
2022-11-02 22:33:21 +0100 | abhiroop | (~abhiroop@217-209-157-8-no2000.tbcn.telia.com) |
2022-11-02 22:34:48 +0100 | nate3 | (~nate@98.45.169.16) |
2022-11-02 22:35:51 +0100 | olivermead | (~user@cpc72329-sotn15-2-0-cust205.15-1.cable.virginm.net) |
2022-11-02 22:36:26 +0100 | <EvanR> | darkling, and then when the code involves mainly functors there's a change it's not necessarily discrete anymore |
2022-11-02 22:36:32 +0100 | <EvanR> | chance |
2022-11-02 22:37:00 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:756c:6d4e:8007:23ff) (Remote host closed the connection) |
2022-11-02 22:37:06 +0100 | <darkling> | I'm sure it's pretty in-your-face by that point. :) |
2022-11-02 22:37:31 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2022-11-02 22:38:11 +0100 | <gqplox> | hello guys again |
2022-11-02 22:38:26 +0100 | <darkling> | (I'm writing code to automatically refactor context-free grammars right now. I'm not sure I can cope with functors at the same time) |
2022-11-02 22:39:13 +0100 | <ski> | like left-factoring and left-recursion-elimination ? |
2022-11-02 22:39:25 +0100 | <darkling> | Yeah, exactly that. |
2022-11-02 22:39:31 +0100 | nate3 | (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
2022-11-02 22:39:52 +0100 | elevenkb | (~elevenkb@105.184.125.168) (Remote host closed the connection) |
2022-11-02 22:39:53 +0100 | <darkling> | I've got several papers on the left-corner transformation upstairs. That's the next big challenge. |
2022-11-02 22:40:20 +0100 | <ski> | that (the latter) is similar to doing bottom-up rather than top-down evaluation, in a logic programming / deductive database context |
2022-11-02 22:40:40 +0100 | <darkling> | Not sure I need it for the code I was actually trying to write when I went down this rabbit hole, but it's probably worth playing with. :) |
2022-11-02 22:40:56 +0100 | heinz19 | (~trace@user/trace) |
2022-11-02 22:41:06 +0100 | <heinz19> | Is there a sorting algorithm that only has one loop or recursion instead of many? |
2022-11-02 22:41:43 +0100 | <darkling> | Other than bucket-sort, probably not. |
2022-11-02 22:41:58 +0100 | <ski> | general sorting isn't linear |
2022-11-02 22:42:27 +0100 | <olivermead> | heinz19: if you find one please tell us, and the rest of the computer science world |
2022-11-02 22:42:42 +0100 | <darkling> | General sorting is provably O(n log n) at best, so you've got some kind of recursion or extra looping beyond one loop. |
2022-11-02 22:43:09 +0100 | <heinz19> | bogosort |
2022-11-02 22:43:41 +0100 | <darkling> | There, the extra looping is in the generation of the permutations. :) |
2022-11-02 22:43:53 +0100 | <heinz19> | Spaghetti sort |
2022-11-02 22:44:14 +0100 | meinside | (uid24933@id-24933.helmsley.irccloud.com) (Read error: Software caused connection abort) |
2022-11-02 22:44:14 +0100 | hrberg | (~quassel@171.79-160-161.customer.lyse.net) |
2022-11-02 22:44:23 +0100 | <olivermead> | monkey sort, bogosort, all the same |
2022-11-02 22:44:24 +0100 | <gqplox> | could someone please explain a better way to do this im sure it's like a one liner |
2022-11-02 22:44:30 +0100 | <gqplox> | warning this is like the worst haskell ever |
2022-11-02 22:44:32 +0100 | <gqplox> | http://sprunge.us/cUZtTU |
2022-11-02 22:44:49 +0100 | <darkling> | heinz19: Parallel sorts can be O(n), yes. |
2022-11-02 22:45:36 +0100 | <olivermead> | gqplox: the nested `where` clauses would be the first thing to refactor |
2022-11-02 22:46:55 +0100 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
2022-11-02 22:46:55 +0100 | hrberg | (~quassel@171.79-160-161.customer.lyse.net) (Client Quit) |
2022-11-02 22:47:11 +0100 | <gqplox> | in which way do you mean? like is it bad form to have nested wheres? |
2022-11-02 22:47:14 +0100 | meinside | (uid24933@id-24933.helmsley.irccloud.com) |
2022-11-02 22:47:15 +0100 | hrberg | (~quassel@171.79-160-161.customer.lyse.net) |
2022-11-02 22:47:34 +0100 | <gqplox> | initially there were all top level but i thought to put it inside because those are only helper functions needed for the main function |
2022-11-02 22:47:51 +0100 | <ski> | rowLengths = (map . map) length rs |
2022-11-02 22:48:25 +0100 | hrberg | (~quassel@171.79-160-161.customer.lyse.net) (Client Quit) |
2022-11-02 22:48:37 +0100 | <olivermead> | gqplox: unless the inner inner functions rely on scope from the nesting, it's not necessary to have more than one `where` |
2022-11-02 22:48:43 +0100 | hrberg | (~quassel@171.79-160-161.customer.lyse.net) |
2022-11-02 22:48:49 +0100 | <olivermead> | just 1 where with multiple bindings |
2022-11-02 22:48:49 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-11-02 22:49:05 +0100 | <gqplox> | ah right thanks oliver |
2022-11-02 22:49:19 +0100 | <ski> | they depend on `rs', at least |
2022-11-02 22:49:24 +0100 | <gqplox> | i did it to make clear that the atIndex/listMax are only needed inside maxAtIndex |
2022-11-02 22:49:34 +0100 | <gqplox> | but i will just keep them all outside |
2022-11-02 22:49:35 +0100 | hrberg | (~quassel@171.79-160-161.customer.lyse.net) (Client Quit) |
2022-11-02 22:49:37 +0100 | <olivermead> | gqplox: also see ski's rowLength definition |
2022-11-02 22:49:38 +0100 | <ski> | (`rowLengths', anyway) |
2022-11-02 22:49:52 +0100 | <olivermead> | yes that |
2022-11-02 22:49:54 +0100 | hrberg | (~quassel@171.79-160-161.customer.lyse.net) |
2022-11-02 22:49:58 +0100 | <gqplox> | oh yeah that's cool |
2022-11-02 22:50:04 +0100 | <gqplox> | double map |
2022-11-02 22:50:30 +0100 | <gqplox> | yeah i have basically just done definition of map in the list comprehensionb |
2022-11-02 22:50:34 +0100 | <ski> | rowLengths = map (map length) rs -- same thing, of course |
2022-11-02 22:50:36 +0100 | <gqplox> | thanks |
2022-11-02 22:50:46 +0100 | hrberg | (~quassel@171.79-160-161.customer.lyse.net) (Client Quit) |
2022-11-02 22:50:50 +0100 | kora9 | (~kora@user/Kora9) (Read error: Software caused connection abort) |
2022-11-02 22:51:05 +0100 | hrberg | (~quassel@171.79-160-161.customer.lyse.net) |
2022-11-02 22:51:06 +0100 | <gqplox> | yeah I feel more comfortable with the later way of writing it |
2022-11-02 22:51:10 +0100 | <gqplox> | thank you |
2022-11-02 22:51:48 +0100 | abhiroop | (~abhiroop@217-209-157-8-no2000.tbcn.telia.com) (Ping timeout: 248 seconds) |
2022-11-02 22:51:57 +0100 | hrberg | (~quassel@171.79-160-161.customer.lyse.net) (Client Quit) |
2022-11-02 22:52:16 +0100 | hrberg | (~quassel@171.79-160-161.customer.lyse.net) |
2022-11-02 22:53:16 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
2022-11-02 22:54:42 +0100 | <ski> | rPaddings = map listMax . transpose . (map . map) length |
2022-11-02 22:55:37 +0100 | <ski> | rPaddings = map (listMax . map length) . transpose |
2022-11-02 22:56:16 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-11-02 22:56:53 +0100 | kora9 | (~kora@user/Kora9) |
2022-11-02 22:57:33 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-11-02 22:57:46 +0100 | <ski> | paddingLengths hs rs = (map (maximum . map length) . transpose) (hs:rs) |
2022-11-02 22:57:54 +0100 | <ski> | gqplox ^ |
2022-11-02 22:58:25 +0100 | <gqplox> | wow |
2022-11-02 22:58:45 +0100 | <ski> | one-liney enough for you ? |
2022-11-02 22:58:51 +0100 | <gqplox> | :) |
2022-11-02 22:58:52 +0100 | <olivermead> | haskell really has a way about it sometimes |
2022-11-02 22:58:53 +0100 | <gqplox> | that's so cool |
2022-11-02 22:59:14 +0100 | <geekosaur> | and then you come back in 6 months and go "wtf?" |
2022-11-02 22:59:22 +0100 | <ski> | ;) |
2022-11-02 22:59:34 +0100 | <gqplox> | oh nice i didn't know about maximum only max that's useful |
2022-11-02 22:59:41 +0100 | <olivermead> | comments and descriptive identifiers are indeed advised |
2022-11-02 22:59:47 +0100 | <ski> | note that `maximum' fails for empty list, though |
2022-11-02 23:00:00 +0100 | <gqplox> | so i need to do import Data.List to use transpose? |
2022-11-02 23:00:03 +0100 | <ski> | but with `hs:rs', the lists won't be empty |
2022-11-02 23:00:15 +0100 | <ski> | @index transpose |
2022-11-02 23:00:15 +0100 | <lambdabot> | GHC.OldList, Data.List, Data.ByteString.Lazy, Data.ByteString.Lazy.Char8, Data.ByteString, Data.ByteString.Char8 |
2022-11-02 23:00:20 +0100 | <ski> | yep |
2022-11-02 23:00:38 +0100 | <ski> | @src transpose |
2022-11-02 23:00:38 +0100 | <lambdabot> | transpose [] = [] |
2022-11-02 23:00:38 +0100 | <lambdabot> | transpose ([] : xss) = transpose xss |
2022-11-02 23:00:38 +0100 | <lambdabot> | transpose ((x:xs) : xss) = (x : [h | (h:t) <- xss]) : transpose (xs : [ t | (h:t) <- xss]) |
2022-11-02 23:00:41 +0100 | <ski> | bah |
2022-11-02 23:01:21 +0100 | <ski> | > foldr (zipWith (:)) (repeat []) ["foo","bar","baz","bla"] |
2022-11-02 23:01:23 +0100 | <lambdabot> | ["fbbb","oaal","orza"] |
2022-11-02 23:03:36 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Ping timeout: 268 seconds) |
2022-11-02 23:05:06 +0100 | <gqplox> | ski please may you write the equivalent for the paddingLengths with the brackets if it's not too much trouble |
2022-11-02 23:05:37 +0100 | <ski> | brackets ? |
2022-11-02 23:06:09 +0100 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-11-02 23:06:14 +0100 | <gqplox> | like with the . |
2022-11-02 23:06:17 +0100 | <ski> | @unpl paddingLengths hs rs = (map (maximum . map length) . transpose) (hs:rs) |
2022-11-02 23:06:17 +0100 | <lambdabot> | paddingLengths hs rs = map (\ x0 -> maximum (map length x0)) (transpose (hs : rs)) |
2022-11-02 23:06:53 +0100 | <gqplox> | oh nice this bot is very helpful |
2022-11-02 23:06:54 +0100 | <gqplox> | thank you |
2022-11-02 23:08:26 +0100 | DigitalKiwi | (~kiwi@2604:a880:400:d0::1ca0:e001) (Read error: Software caused connection abort) |
2022-11-02 23:09:00 +0100 | motherfsck | (~motherfsc@user/motherfsck) (Quit: quit) |
2022-11-02 23:09:00 +0100 | <olivermead> | ski: is there any help for this bot? like what it can do |
2022-11-02 23:10:02 +0100 | <ski> | @help |
2022-11-02 23:10:02 +0100 | <lambdabot> | help <command>. Ask for help for <command>. Try 'list' for all commands |
2022-11-02 23:10:10 +0100 | <olivermead> | oh I see, thank you |
2022-11-02 23:10:10 +0100 | <ski> | @help help |
2022-11-02 23:10:10 +0100 | <lambdabot> | help <command>. Ask for help for <command>. Try 'list' for all commands |
2022-11-02 23:10:14 +0100 | <olivermead> | @list |
2022-11-02 23:10:14 +0100 | <lambdabot> | What module? Try @listmodules for some ideas. |
2022-11-02 23:10:27 +0100 | <olivermead> | it's laughing at me |
2022-11-02 23:10:34 +0100 | <chromoblob> | @help list |
2022-11-02 23:10:34 +0100 | <lambdabot> | list [module|command]. Show commands for [module] or the module providing [command]. |
2022-11-02 23:10:34 +0100 | <olivermead> | @listmodules |
2022-11-02 23:10:34 +0100 | <lambdabot> | activity base bf check compose dice dict djinn dummy elite eval filter free fresh haddock help hoogle instances irc karma localtime metar more oeis offlineRC pl pointful poll pretty quote search |
2022-11-02 23:10:34 +0100 | <lambdabot> | seen slap source spell system tell ticker todo topic type undo unlambda unmtl version where |
2022-11-02 23:10:52 +0100 | <ski> | @list pointful |
2022-11-02 23:10:52 +0100 | <lambdabot> | pointful provides: pointful pointy repoint unpointless unpl unpf |
2022-11-02 23:11:02 +0100 | <ski> | @help pl |
2022-11-02 23:11:02 +0100 | <lambdabot> | pointless <expr>. Play with pointfree code. |
2022-11-02 23:11:03 +0100 | <olivermead> | @help unpl |
2022-11-02 23:11:03 +0100 | <lambdabot> | pointful <expr>. Make code pointier. |
2022-11-02 23:11:40 +0100 | <geekosaur> | https://github.com/lambdabot/lambdabot/pull/205/commits/ef11140fcda59f04291e9e29936a8fc769cd4d08 |
2022-11-02 23:11:40 +0100 | <ski> | @keal |
2022-11-02 23:11:40 +0100 | <lambdabot> | i can explain why something is without knowing what the rules decided by man are |
2022-11-02 23:11:52 +0100 | <olivermead> | very nice, I normally spend ages thinking to convert pointy<->pointfree |
2022-11-02 23:11:54 +0100 | <ski> | @ghc |
2022-11-02 23:11:54 +0100 | <lambdabot> | Functional dependencies conflict between instance declarations |
2022-11-02 23:11:58 +0100 | DigitalKiwi | (~kiwi@2604:a880:400:d0::1ca0:e001) |
2022-11-02 23:12:03 +0100 | <ski> | @quote |
2022-11-02 23:12:04 +0100 | <lambdabot> | Bonus says: <Bonus> i thought laziness is one of the basic tenets of python <Bonus> ugh <Bonus> i mean haskell |
2022-11-02 23:12:31 +0100 | <ski> | olivermead : i usually prefer doing it myself |
2022-11-02 23:13:00 +0100 | <olivermead> | it is fun |
2022-11-02 23:13:11 +0100 | <ski> | pointless fun :) |
2022-11-02 23:16:11 +0100 | biberu | (~biberu@user/biberu) (Read error: Connection reset by peer) |
2022-11-02 23:16:52 +0100 | tgi | (~thegeekin@189.180.115.115) (Ping timeout: 248 seconds) |
2022-11-02 23:17:26 +0100 | mncheck | (~mncheck@193.224.205.254) (Ping timeout: 246 seconds) |
2022-11-02 23:21:13 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2022-11-02 23:21:30 +0100 | biberu | (~biberu@user/biberu) |
2022-11-02 23:22:48 +0100 | gqplox | (~textual@97e654ef.skybroadband.com) (Quit: Textual IRC Client: www.textualapp.com) |
2022-11-02 23:25:33 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-11-02 23:25:41 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2022-11-02 23:26:52 +0100 | Topsi | (~Topsi@ipb218f713.dynamic.kabel-deutschland.de) |
2022-11-02 23:27:11 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-11-02 23:29:46 +0100 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-11-02 23:30:12 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 248 seconds) |
2022-11-02 23:33:54 +0100 | michalz | (~michalz@185.246.207.222) (Remote host closed the connection) |
2022-11-02 23:37:30 +0100 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
2022-11-02 23:39:07 +0100 | thegeekinside | (~thegeekin@189.180.115.115) |
2022-11-02 23:42:07 +0100 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds) |
2022-11-02 23:42:30 +0100 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
2022-11-02 23:52:41 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2022-11-02 23:55:25 +0100 | Neuromancer | (~Neuromanc@user/neuromancer) (Ping timeout: 252 seconds) |
2022-11-02 23:55:25 +0100 | gabiruh_ | (~gabiruh@vps19177.publiccloud.com.br) (Ping timeout: 252 seconds) |
2022-11-02 23:55:31 +0100 | gabiruh | (~gabiruh@vps19177.publiccloud.com.br) |
2022-11-02 23:55:58 +0100 | Cale | (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Ping timeout: 252 seconds) |
2022-11-02 23:55:58 +0100 | ft | (~ft@p508dbd59.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2022-11-02 23:56:16 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) |
2022-11-02 23:57:40 +0100 | ft | (~ft@p508dbd59.dip0.t-ipconnect.de) |