2022-04-08 00:01:25 +0200 | hololeap_ | (~hololeap@user/hololeap) |
2022-04-08 00:03:14 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2022-04-08 00:03:23 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 00:03:31 +0200 | vicfred | (~vicfred@user/vicfred) (Quit: Leaving) |
2022-04-08 00:04:26 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2022-04-08 00:07:35 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2022-04-08 00:09:17 +0200 | awschnap | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:09:29 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:10:14 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-04-08 00:15:42 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:15:57 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:16:04 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:16:22 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:16:29 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:16:45 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:16:53 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:17:08 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:17:15 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:17:30 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:17:37 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:17:50 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:17:58 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:18:14 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:18:21 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:18:35 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:18:42 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:18:56 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:19:03 +0200 | Guest2780 | (~Guest27@2601:281:d47f:1590::a504) |
2022-04-08 00:19:04 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:19:19 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:19:26 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:19:41 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:19:47 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:20:01 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:20:08 +0200 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 246 seconds) |
2022-04-08 00:20:09 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:20:23 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:20:31 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:20:45 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:20:52 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:21:06 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:21:14 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:21:28 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:21:36 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:21:51 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:21:58 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:22:12 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:22:20 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:22:35 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:22:41 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:22:56 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:23:03 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:23:17 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:23:25 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:23:32 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 272 seconds) |
2022-04-08 00:23:39 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:23:46 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:24:02 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:24:09 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:24:23 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:24:31 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:24:46 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:24:52 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:25:07 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:25:14 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:25:23 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) (Ping timeout: 246 seconds) |
2022-04-08 00:25:28 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:25:36 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:25:51 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:25:57 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:26:12 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:26:19 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:26:26 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-04-08 00:26:34 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:26:42 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:26:45 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) |
2022-04-08 00:26:57 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:27:04 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:27:18 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:27:25 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:27:41 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:27:48 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:28:03 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:28:10 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:28:25 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:28:32 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:28:46 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:28:53 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:29:09 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:29:16 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:29:30 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:29:37 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:29:51 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:29:59 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:30:17 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:30:24 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:30:39 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:30:46 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:31:00 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:31:08 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:31:15 +0200 | haskellberryfinn | (~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 260 seconds) |
2022-04-08 00:31:23 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:31:29 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:31:45 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:31:52 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:32:05 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:32:13 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:32:29 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:32:35 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:32:49 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:32:57 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:33:12 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 00:33:19 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 00:36:47 +0200 | <Guest89> | Inside a Stack project is there anywhere else I need to add `ghc-lib-parser` as a dependency other than inside the `package.yaml`? Other libraries work just fine. |
2022-04-08 00:38:51 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 00:38:59 +0200 | zeenk | (~zeenk@2a02:2f04:a313:d600:8d26:ec9f:3ff6:fc94) (Quit: Konversation terminated!) |
2022-04-08 00:43:14 +0200 | dcoutts_ | (~duncan@host213-122-143-81.range213-122.btcentralplus.com) |
2022-04-08 00:43:48 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 272 seconds) |
2022-04-08 00:46:57 +0200 | Guest2780 | (~Guest27@2601:281:d47f:1590::a504) (Quit: Client closed) |
2022-04-08 00:47:07 +0200 | Pickchea | (~private@user/pickchea) (Ping timeout: 260 seconds) |
2022-04-08 00:49:10 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 00:53:39 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 260 seconds) |
2022-04-08 00:55:51 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
2022-04-08 01:01:38 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2022-04-08 01:02:01 +0200 | machinedgod | (~machinedg@24.105.81.50) |
2022-04-08 01:08:34 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 01:13:25 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 256 seconds) |
2022-04-08 01:15:12 +0200 | bezmuth | (~bezmuth@2a00:23c4:8a8f:5900:daa0:b5b1:cd63:bdb7) |
2022-04-08 01:16:29 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) |
2022-04-08 01:18:30 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 01:19:13 +0200 | liz | (~liz@host109-151-125-217.range109-151.btcentralplus.com) (Quit: Lost terminal) |
2022-04-08 01:20:07 +0200 | xff0x | (~xff0x@i121-117-52-147.s41.a013.ap.plala.or.jp) (Quit: xff0x) |
2022-04-08 01:21:45 +0200 | xff0x | (~xff0x@i121-117-52-147.s41.a013.ap.plala.or.jp) |
2022-04-08 01:22:26 +0200 | xff0x | (~xff0x@i121-117-52-147.s41.a013.ap.plala.or.jp) (Client Quit) |
2022-04-08 01:23:03 +0200 | alphabeta | (~kilolympu@31.205.200.235) (Ping timeout: 260 seconds) |
2022-04-08 01:23:15 +0200 | pera | (~pera@user/pera) |
2022-04-08 01:23:42 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 272 seconds) |
2022-04-08 01:24:00 +0200 | xff0x | (~xff0x@i121-117-52-147.s41.a013.ap.plala.or.jp) |
2022-04-08 01:24:02 +0200 | xff0x | (~xff0x@i121-117-52-147.s41.a013.ap.plala.or.jp) (Client Quit) |
2022-04-08 01:25:03 +0200 | xff0x | (~xff0x@i121-117-52-147.s41.a013.ap.plala.or.jp) |
2022-04-08 01:26:17 +0200 | xff0x | (~xff0x@i121-117-52-147.s41.a013.ap.plala.or.jp) (Client Quit) |
2022-04-08 01:26:29 +0200 | xff0x | (~xff0x@i121-117-52-147.s41.a013.ap.plala.or.jp) |
2022-04-08 01:26:53 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-04-08 01:27:20 +0200 | xff0x | (~xff0x@i121-117-52-147.s41.a013.ap.plala.or.jp) (Client Quit) |
2022-04-08 01:27:36 +0200 | xff0x | (~xff0x@i121-117-52-147.s41.a013.ap.plala.or.jp) |
2022-04-08 01:28:17 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) |
2022-04-08 01:29:51 +0200 | mncheck | (~mncheck@193.224.205.254) (Ping timeout: 256 seconds) |
2022-04-08 01:29:53 +0200 | <dons> | morning all |
2022-04-08 01:29:54 +0200 | kilolympus | (~kilolympu@31.205.200.235) |
2022-04-08 01:31:55 +0200 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Ping timeout: 260 seconds) |
2022-04-08 01:31:57 +0200 | <geekosaur> | o/ |
2022-04-08 01:33:15 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2022-04-08 01:33:39 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 01:34:04 +0200 | chenqisu1 | (~chenqisu1@183.217.200.239) |
2022-04-08 01:37:00 +0200 | alp_ | (~alp@user/alp) (Ping timeout: 240 seconds) |
2022-04-08 01:37:32 +0200 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
2022-04-08 01:37:54 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 01:42:09 +0200 | xff0x | (~xff0x@i121-117-52-147.s41.a013.ap.plala.or.jp) (Quit: xff0x) |
2022-04-08 01:42:23 +0200 | xff0x | (~xff0x@i121-117-52-147.s41.a013.ap.plala.or.jp) |
2022-04-08 01:45:15 +0200 | liz | (~liz@host109-151-125-217.range109-151.btcentralplus.com) |
2022-04-08 01:46:27 +0200 | xff0x | (~xff0x@i121-117-52-147.s41.a013.ap.plala.or.jp) (Client Quit) |
2022-04-08 01:46:45 +0200 | xff0x | (~xff0x@i121-117-52-147.s41.a013.ap.plala.or.jp) |
2022-04-08 01:51:34 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Quit: ec) |
2022-04-08 01:55:44 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 260 seconds) |
2022-04-08 01:58:07 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2022-04-08 01:59:01 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 268 seconds) |
2022-04-08 01:59:31 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 02:00:39 +0200 | frost | (~frost@user/frost) |
2022-04-08 02:08:25 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 248 seconds) |
2022-04-08 02:10:15 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) |
2022-04-08 02:11:10 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2022-04-08 02:11:13 +0200 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 256 seconds) |
2022-04-08 02:11:22 +0200 | Guest2753 | (~Guest27@2601:281:d47f:1590::a504) |
2022-04-08 02:13:29 +0200 | gurkenglas | (~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de) (Ping timeout: 256 seconds) |
2022-04-08 02:15:21 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Ping timeout: 248 seconds) |
2022-04-08 02:16:25 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:c8af:4307:df41:9668) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-04-08 02:16:38 +0200 | <energizer> | what is the relationship between ($) and (.) ? |
2022-04-08 02:17:06 +0200 | <geekosaur> | they're completely different |
2022-04-08 02:17:16 +0200 | <dons> | :t (.) |
2022-04-08 02:17:17 +0200 | <lambdabot> | (b -> c) -> (a -> b) -> a -> c |
2022-04-08 02:17:18 +0200 | <dons> | :t ($) |
2022-04-08 02:17:19 +0200 | <lambdabot> | (a -> b) -> a -> b |
2022-04-08 02:17:34 +0200 | <geekosaur> | (.) composes two functions. ($) is function application made visible (and lowest precedence instead of highest) |
2022-04-08 02:17:54 +0200 | <geekosaur> | @src (.) |
2022-04-08 02:17:54 +0200 | <lambdabot> | (f . g) x = f (g x) |
2022-04-08 02:17:58 +0200 | <geekosaur> | @src($) |
2022-04-08 02:17:59 +0200 | <lambdabot> | Unknown command, try @list |
2022-04-08 02:18:02 +0200 | <geekosaur> | @src ($) |
2022-04-08 02:18:02 +0200 | <lambdabot> | f $ x = f x |
2022-04-08 02:18:33 +0200 | <dons> | $ is a haskell-specific precedence trick, so we can write things like mapM foo $ \x -> do ... long chunk -- without parens |
2022-04-08 02:18:43 +0200 | <dons> | while (.) is fundamental function composition going back to lambda calculus :) |
2022-04-08 02:18:49 +0200 | <dons> | no ($) in lambda calc |
2022-04-08 02:19:09 +0200 | <dons> | ($) is a poke at lisp i think, from the 90s guys working on the parser :D |
2022-04-08 02:19:45 +0200 | <dons> | (question: when was $ introduced ? is it in the pre-Haskell lazy languages?) |
2022-04-08 02:20:02 +0200 | Guest2753 | (~Guest27@2601:281:d47f:1590::a504) (Ping timeout: 250 seconds) |
2022-04-08 02:20:03 +0200 | <dolio> | In a way, ($) does go way back to the early lambda calculus era. |
2022-04-08 02:20:11 +0200 | <energizer> | app is fundamental |
2022-04-08 02:20:41 +0200 | <dolio> | It's similar to how people invented notational hacks for avoiding parentheses in logical sentences. |
2022-04-08 02:21:00 +0200 | <energizer> | :info (.) |
2022-04-08 02:21:26 +0200 | <dons> | infixr 0 $ |
2022-04-08 02:21:32 +0200 | <dons> | infixr 9 . |
2022-04-08 02:21:51 +0200 | <energizer> | they should have algebraic properties, where are they? |
2022-04-08 02:22:03 +0200 | <dolio> | Like, people would write `P ⊃ Q .⊃. P ⊃ Q` instead of `(P ⊃ Q) ⊃ (P ⊃ Q)`. |
2022-04-08 02:22:11 +0200 | <dons> | -- | Application operator. This operator is redundant, since ordinary |
2022-04-08 02:22:11 +0200 | <dons> | -- application @(f x)@ means the same as @(f '$' x)@. However, '$' has |
2022-04-08 02:22:11 +0200 | <dons> | -- low, right-associative binding precedence, so it sometimes allows |
2022-04-08 02:22:11 +0200 | <dons> | -- parentheses to be omitted; for example: |
2022-04-08 02:22:11 +0200 | <dons> | -- |
2022-04-08 02:22:13 +0200 | <dons> | -- > f $ g $ h x = f (g (h x)) |
2022-04-08 02:22:18 +0200 | lagash | (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
2022-04-08 02:22:18 +0200 | feliix42 | (~felix@gibbs.uberspace.de) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-04-08 02:22:29 +0200 | <dolio> | And that's why you write `λx. body` instead of `λx(body)`. |
2022-04-08 02:22:30 +0200 | feliix42 | (~felix@gibbs.uberspace.de) |
2022-04-08 02:22:32 +0200 | <dons> | map ($ x) ys -- also useful sometimes |
2022-04-08 02:22:34 +0200 | lagash | (lagash@lagash.shelltalk.net) |
2022-04-08 02:22:52 +0200 | <dons> | btw its amazing to me how different the type is now than 10-15 years ago, {-# INLINE ($) #-} |
2022-04-08 02:22:55 +0200 | <dons> | ($) :: forall r a (b :: TYPE r). (a -> b) -> a -> b |
2022-04-08 02:22:57 +0200 | <dons> | f $ x = f x |
2022-04-08 02:23:03 +0200 | <dolio> | The . lowers the precedence. of the binder. |
2022-04-08 02:23:15 +0200 | <energizer> | can you write $ in terms of . or vice versa? |
2022-04-08 02:23:28 +0200 | <dons> | (.) :: (b -> c) -> (a -> b) -> a -> c |
2022-04-08 02:23:29 +0200 | <dons> | (.) f g = \x -> f (g x) |
2022-04-08 02:23:39 +0200 | <dons> | they're not really related. |
2022-04-08 02:23:52 +0200 | <dons> | composition and application are different concepts |
2022-04-08 02:23:57 +0200 | AWizzArd | (~code@gehrels.uberspace.de) (Ping timeout: 250 seconds) |
2022-04-08 02:24:43 +0200 | AWizzArd | (~code@gehrels.uberspace.de) |
2022-04-08 02:24:49 +0200 | Guest89 | (~Guest89@2a01:41e1:440f:2c00:f9ba:f616:34ce:27bb) (Quit: Client closed) |
2022-04-08 02:24:55 +0200 | <dons> | (.) f g = \x -> f $ g x -- doesn't really help you , you still need the lambda to abstract. you just put some syntax in for the f (g x) application |
2022-04-08 02:26:38 +0200 | rawley | (~rawley@216-197-141-102.nbfr.hsdb.sasknet.sk.ca) |
2022-04-08 02:27:21 +0200 | <energizer> | is "(.) f g = \x -> f $ g x" true? |
2022-04-08 02:27:38 +0200 | <dons> | :t \x -> f $ g x |
2022-04-08 02:27:39 +0200 | <lambdabot> | error: |
2022-04-08 02:27:39 +0200 | <lambdabot> | • Could not deduce (Show t0) arising from a use of ‘f’ |
2022-04-08 02:27:39 +0200 | <lambdabot> | from the context: (Show t, FromExpr t1) |
2022-04-08 02:27:53 +0200 | <dons> | :t \f g -> \x -> f $ g x |
2022-04-08 02:27:54 +0200 | <lambdabot> | (t1 -> t2) -> (t3 -> t1) -> t3 -> t2 |
2022-04-08 02:27:59 +0200 | <dons> | :t (.) |
2022-04-08 02:28:00 +0200 | <lambdabot> | (b -> c) -> (a -> b) -> a -> c |
2022-04-08 02:28:13 +0200 | unyu | (~pyon@user/pyon) (Quit: WeeChat 3.4.1) |
2022-04-08 02:28:21 +0200 | <dons> | true. |
2022-04-08 02:28:44 +0200 | <energizer> | so it is also true that: f . g = \x -> f $ g x |
2022-04-08 02:29:05 +0200 | <monochrom> | Yes. |
2022-04-08 02:29:21 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-04-08 02:29:21 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-04-08 02:29:21 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-04-08 02:30:00 +0200 | <monochrom> | But let's go overboard with \x -> f $ (g $ x) |
2022-04-08 02:30:28 +0200 | <monochrom> | In fact let's go mad scientist with ((.) $ f) $ g = \x -> f $ (g $ x), too. |
2022-04-08 02:30:30 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-04-08 02:30:54 +0200 | <dons> | you can prove it by "equational reasoning". just subsitute the definition of ($) wherever you see a ($) |
2022-04-08 02:30:57 +0200 | <dons> | f . g = \x -> f $ g x |
2022-04-08 02:31:00 +0200 | <dons> | f . g = \x -> f (g x) -- by definition of ($), f $ x = f x |
2022-04-08 02:31:09 +0200 | <energizer> | `f . g = \x -> f $ (g $ x)` i think is the answer i was lokoing for |
2022-04-08 02:31:41 +0200 | zero | zzz |
2022-04-08 02:34:34 +0200 | <energizer> | is it possible to write the right-hand side point-free while retaining the same idea? |
2022-04-08 02:34:49 +0200 | <Axman6> | energizer: not really the question that you asked, but while it's possible to write f $ g $ h $ x, we tend to opt for f . g . h $ x stylistically (though these days I generally prefer f . g $ h x) |
2022-04-08 02:35:03 +0200 | <monochrom> | Yes. f . g = f . g |
2022-04-08 02:35:21 +0200 | <energizer> | not the same idea, missing application |
2022-04-08 02:35:35 +0200 | <monochrom> | This is serious. The whole point is that f . g is already the pointfree form of \x -> f (g x) |
2022-04-08 02:36:20 +0200 | <monochrom> | Unless you decide to troll yourself and say no no you want to see flip (flip (flip (flip (.))) f g |
2022-04-08 02:36:35 +0200 | <Axman6> | can (.) be written using ap? |
2022-04-08 02:37:05 +0200 | Guest2755 | (~Guest27@2601:281:d47f:1590::a504) |
2022-04-08 02:37:14 +0200 | <Axman6> | % :t ap @((->) r) |
2022-04-08 02:37:14 +0200 | <yahb> | Axman6: ; <interactive>:1:11: error: Not in scope: type variable `r' |
2022-04-08 02:37:52 +0200 | <monochrom> | Yes. (.) = fmap = \f -> ap (pure f) = ap . pure |
2022-04-08 02:38:54 +0200 | <energizer> | can i say something like `f . g = ($ f) $ ($ g)`? |
2022-04-08 02:39:08 +0200 | <monochrom> | Have you proved it? |
2022-04-08 02:39:47 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-04-08 02:40:08 +0200 | <energizer> | i have proved that it isn't true by trying it |
2022-04-08 02:40:49 +0200 | <energizer> | but someone who has more experience would say "you probably mean suchnsuch" |
2022-04-08 02:41:21 +0200 | <monochrom> | Yes. You probably mean f . g |
2022-04-08 02:41:34 +0200 | xff0x | (~xff0x@i121-117-52-147.s41.a013.ap.plala.or.jp) (Ping timeout: 268 seconds) |
2022-04-08 02:42:43 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 02:42:54 +0200 | <hpc> | energizer: unrelated to your questions about (.), but ($ x) is fairly interesting on its own |
2022-04-08 02:42:57 +0200 | <hpc> | :t ($ x) |
2022-04-08 02:42:58 +0200 | <lambdabot> | (Expr -> b) -> b |
2022-04-08 02:43:18 +0200 | <hpc> | :t ($ undefined) -- maybe a better representation of its type |
2022-04-08 02:43:20 +0200 | <lambdabot> | (a -> b) -> b |
2022-04-08 02:43:30 +0200 | <monochrom> | Yes. [f x, g x, h x] = map ($ x) [f, g, h] is an application. |
2022-04-08 02:43:51 +0200 | <hpc> | back in the day, lambdabot had extra-polymorphic definitions of some common prelude stuff |
2022-04-08 02:43:54 +0200 | <hpc> | and one of them was |
2022-04-08 02:44:22 +0200 | <dons> | ?pointful ($ f) $ ($ g) |
2022-04-08 02:44:22 +0200 | <lambdabot> | (f g) |
2022-04-08 02:44:33 +0200 | <hpc> | hmm, can't find it |
2022-04-08 02:44:46 +0200 | <hpc> | but it had to do with fmap and ($) |
2022-04-08 02:44:48 +0200 | <hpc> | :t fmap ($) |
2022-04-08 02:44:50 +0200 | <lambdabot> | Functor f => f (a -> b) -> f (a -> b) |
2022-04-08 02:44:51 +0200 | <hpc> | :t flip |
2022-04-08 02:44:52 +0200 | <lambdabot> | (a -> b -> c) -> b -> a -> c |
2022-04-08 02:44:53 +0200 | <monochrom> | You had (.) = fmap in mind? |
2022-04-08 02:45:29 +0200 | <hpc> | @djinn (a -> f c) -> f (a -> c) |
2022-04-08 02:45:29 +0200 | <lambdabot> | -- f cannot be realized. |
2022-04-08 02:46:25 +0200 | sub0 | (~bc8147f2@cerf.good1.com) |
2022-04-08 02:46:26 +0200 | <hpc> | or i just remembered, i can say "it's an exercise for the reader" |
2022-04-08 02:47:35 +0200 | <energizer> | "(Expr -> b) -> b" is that Expr a meta-level term? |
2022-04-08 02:47:52 +0200 | <energizer> | s/a/the type of a/ |
2022-04-08 02:48:03 +0200 | <geekosaur> | no, that's noise from simple-reflect |
2022-04-08 02:48:06 +0200 | <hpc> | :t \fs x -> fmap ($x) fs -- this is it |
2022-04-08 02:48:08 +0200 | <lambdabot> | Functor f => f (a -> b) -> a -> f b |
2022-04-08 02:48:27 +0200 | <sub0> | does this work in newer versions of ghci? I don't know how to check in lambdabot |
2022-04-08 02:48:28 +0200 | <hpc> | @let flip' fs x = fmap ($x) fs |
2022-04-08 02:48:30 +0200 | <lambdabot> | Defined. |
2022-04-08 02:48:32 +0200 | <sub0> | > read "2022-01-01 00:00:00.00 Central European Daylight Time" :: ZonedTime |
2022-04-08 02:48:33 +0200 | <lambdabot> | error: |
2022-04-08 02:48:33 +0200 | <lambdabot> | Not in scope: type constructor or class ‘ZonedTime’ |
2022-04-08 02:48:40 +0200 | <hpc> | > flip' [(*2), (+10)] 100 |
2022-04-08 02:48:40 +0200 | <geekosaur> | maybe we should be doing this in yahb so simple-reflect won't get confused with it |
2022-04-08 02:48:42 +0200 | <lambdabot> | [200,110] |
2022-04-08 02:49:09 +0200 | <hpc> | > flip' (/) 5 2 |
2022-04-08 02:49:11 +0200 | <lambdabot> | 0.4 |
2022-04-08 02:49:16 +0200 | <hpc> | and it still works like regular flip |
2022-04-08 02:49:27 +0200 | <hpc> | also, \x -> ($ x) is pure for Cont |
2022-04-08 02:49:32 +0200 | <sub0> | % read "2022-01-01 00:00:00.00 Central European Daylight Time" :: ZonedTime |
2022-04-08 02:49:32 +0200 | <yahb> | sub0: *** Exception: Prelude.read: no parse |
2022-04-08 02:49:41 +0200 | <sub0> | is this worth reporting as a bug? it works with some other timezones |
2022-04-08 02:49:52 +0200 | <dragestil> | Hi just wondering whether there's the source of GHC docs I can download. here I only find html https://downloads.haskell.org/~ghc/latest/docs/ |
2022-04-08 02:50:36 +0200 | <dons> | i'm not sure how kosher the Read methods for zonedtime are. i suspect you need to use CEDT or something? |
2022-04-08 02:50:51 +0200 | <dons> | worth checking whcih iso std that long form is permitted in |
2022-04-08 02:51:06 +0200 | <dons> | there are timezone parser libs that do do the proper stuff, i'd be wary of using 'read' |
2022-04-08 02:51:17 +0200 | <sub0> | dons, I have passed to read what show <$> getZonedTime returns |
2022-04-08 02:51:25 +0200 | <dons> | interesting |
2022-04-08 02:51:44 +0200 | <sub0> | % getZonedTime |
2022-04-08 02:51:44 +0200 | <yahb> | sub0: 2022-04-08 00:51:44.504928224 UTC |
2022-04-08 02:52:11 +0200 | <sub0> | % read "2022-04-08 00:51:44.504928224 UTC" :: ZonedTime |
2022-04-08 02:52:11 +0200 | <yahb> | sub0: 2022-04-08 00:51:44.504928224 UTC |
2022-04-08 02:52:14 +0200 | <sub0> | see, this works |
2022-04-08 02:52:36 +0200 | <hpc> | you may want to just use https://hackage.haskell.org/package/time-1.13/docs/Data-Time-Format.html |
2022-04-08 02:52:40 +0200 | <hpc> | ParseTime and FormatTime |
2022-04-08 02:53:14 +0200 | <hpc> | also looks like this limitation is documented - https://hackage.haskell.org/package/time-1.13/docs/Data-Time-LocalTime.html#t:ZonedTime |
2022-04-08 02:54:01 +0200 | <sub0> | I'll take a look. but still, it seems that Read instance of ZonedTime was meant to work with Show instance as input. it just doesn't work for all timezones |
2022-04-08 02:55:43 +0200 | <dons> | Prelude Data.Time.LocalTime> read "2022-04-08 00:52:41 UTC" :: ZonedTime |
2022-04-08 02:55:43 +0200 | <dons> | 2022-04-08 00:52:41 UTC |
2022-04-08 02:55:43 +0200 | <dons> | Prelude Data.Time.LocalTime> read "2022-04-08 00:52:41 CDT" :: ZonedTime |
2022-04-08 02:55:43 +0200 | <dons> | 2022-04-08 00:52:41 CDT |
2022-04-08 02:55:43 +0200 | <dons> | Prelude Data.Time.LocalTime> read "2022-04-08 00:52:41 CET" :: ZonedTime |
2022-04-08 02:55:45 +0200 | <dons> | *** Exception: Prelude.read: no parse |
2022-04-08 02:55:47 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-04-08 02:55:48 +0200 | <dons> | i wonder if its a locode/locale/ thing? |
2022-04-08 02:56:03 +0200 | <hpc> | look at the comment for the Read instance on link 2, it's a known issue |
2022-04-08 02:56:21 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) |
2022-04-08 02:56:31 +0200 | <dons> | anyway, don't use read for this. its way to hairy/error prone. you need a TZ db and proper zonenifo suport or there will be bugs |
2022-04-08 02:57:24 +0200 | <hpc> | in the source it deconstructs the ZonedTime into its LocalTime and TimeZone, and does read on each of those |
2022-04-08 02:57:43 +0200 | <hpc> | LocalTime is parsed via "%Y-%m-%d %H:%M:%S%Q" |
2022-04-08 02:57:59 +0200 | <hpc> | TimeZone is parsed via defaultLocale and "%Z" |
2022-04-08 02:58:36 +0200 | Guest2755 | (~Guest27@2601:281:d47f:1590::a504) (Ping timeout: 250 seconds) |
2022-04-08 02:58:39 +0200 | <sub0> | hpc ok I see. so they are aware of this, no need to report it |
2022-04-08 02:59:00 +0200 | <sub0> | I'll check alternative methods |
2022-04-08 02:59:15 +0200 | <hpc> | defaultTimeLocale is a record with a knownTimeZones field, https://hackage.haskell.org/package/time-1.13/docs/src/Data.Time.Format.Locale.html#defaultTimeLoc… |
2022-04-08 02:59:24 +0200 | <hpc> | so maybe you could alter that locale based on tzdata |
2022-04-08 02:59:30 +0200 | <hpc> | but then you're definitely not using read anyway |
2022-04-08 02:59:54 +0200 | Guest53 | (~Guest53@190.192.80.102) (Ping timeout: 250 seconds) |
2022-04-08 03:01:28 +0200 | <hpc> | even that list may end up changing soon |
2022-04-08 03:01:39 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2022-04-08 03:06:58 +0200 | vysn | (~vysn@user/vysn) |
2022-04-08 03:07:11 +0200 | <abastro[m]> | IIRC time library is biased towards US and Western Europe |
2022-04-08 03:07:17 +0200 | asocialblade | (~qsl@static.16.62.161.5.clients.your-server.de) |
2022-04-08 03:07:17 +0200 | asocialblade | (~qsl@static.16.62.161.5.clients.your-server.de) (Changing host) |
2022-04-08 03:07:17 +0200 | asocialblade | (~qsl@user/asocialblade) |
2022-04-08 03:07:58 +0200 | <abastro[m]> | Western Eu or entire Europe, I don't recall that part |
2022-04-08 03:10:38 +0200 | asocialblade | (~qsl@user/asocialblade) (Client Quit) |
2022-04-08 03:10:45 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2022-04-08 03:11:16 +0200 | <hpc> | i would say the opposite, that Read instance masks errors that someone in the US won't notice until it's too late |
2022-04-08 03:11:21 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 248 seconds) |
2022-04-08 03:11:31 +0200 | <dons> | yes its a trap |
2022-04-08 03:11:40 +0200 | <dons> | all bugs are calendar or timezone bugs ;) |
2022-04-08 03:12:35 +0200 | sub0 | (~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (Ping timeout)) |
2022-04-08 03:13:00 +0200 | sub0 | (~bc8147f2@cerf.good1.com) |
2022-04-08 03:13:35 +0200 | <Axman6> | All bugs are written at some time, therefore all buggs are time bugs. QED |
2022-04-08 03:13:37 +0200 | <dolio> | At least you can't put in 18 for the month and have it wrap around to the next year, or something. |
2022-04-08 03:13:41 +0200 | <Axman6> | s/gg/g |
2022-04-08 03:13:41 +0200 | <sub0> | not entire Europe as it does not work with at least CET/CEST |
2022-04-08 03:13:43 +0200 | <abastro[m]> | Interesting |
2022-04-08 03:13:51 +0200 | <sub0> | dons, what timezone parsing library were you thinking about? I found timezone-olson, which parses binary olson files, and tz, for time zone handling |
2022-04-08 03:14:20 +0200 | <abastro[m]> | I wonder why time library comes with ghc |
2022-04-08 03:14:27 +0200 | <abastro[m]> | AND it contains Read instance |
2022-04-08 03:14:32 +0200 | <abastro[m]> | Like wh |
2022-04-08 03:15:11 +0200 | xff0x | (~xff0x@125x102x200x106.ap125.ftth.ucom.ne.jp) |
2022-04-08 03:16:51 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-04-08 03:18:02 +0200 | <Axman6> | the time library is "Good Enough" for most people. though in the past I've used Thyme (which was made by someone where I was working) |
2022-04-08 03:18:53 +0200 | <Axman6> | definitely worth looking into if you're working with time. it was written to be fast, we were using it in HFT |
2022-04-08 03:19:00 +0200 | bezmuth | (~bezmuth@2a00:23c4:8a8f:5900:daa0:b5b1:cd63:bdb7) (Ping timeout: 240 seconds) |
2022-04-08 03:19:12 +0200 | <abastro[m]> | Good enough, eh |
2022-04-08 03:19:28 +0200 | <abastro[m]> | Do ppl use the Read instance then? |
2022-04-08 03:19:55 +0200 | <Axman6> | there's a whole parsing module for a reason |
2022-04-08 03:20:52 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Ping timeout: 272 seconds) |
2022-04-08 03:21:15 +0200 | <sub0> | it gets even weirder.. any arbitrary string after time parses. |
2022-04-08 03:21:39 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 268 seconds) |
2022-04-08 03:21:41 +0200 | <sub0> | % read "2022-04-08 00:52:41 ASDF" :: ZonedTime |
2022-04-08 03:21:41 +0200 | <yahb> | sub0: *** Exception: Prelude.read: no parse |
2022-04-08 03:21:59 +0200 | <sub0> | hmm, it worked for me in ghci |
2022-04-08 03:23:24 +0200 | <Axman6> | why are you using the read instance? |
2022-04-08 03:23:47 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2022-04-08 03:23:58 +0200 | <Axman6> | like, https://hackage.haskell.org/package/time-1.12.1/docs/Data-Time-Format.html#g:2 exists for exactly this reason; there's no universally accepted time format (even if that should be ISO8601) |
2022-04-08 03:25:03 +0200 | <sub0> | Axman6, because it worked for me in the past, with different timezones, and writing Show instance to a file and reading it back was the simplest |
2022-04-08 03:25:12 +0200 | <sub0> | solution |
2022-04-08 03:25:30 +0200 | <sub0> | if Read instance is broken/incomplete it probably shouldn't even exist |
2022-04-08 03:25:48 +0200 | <Axman6> | how could it possibly be complete? |
2022-04-08 03:26:05 +0200 | <Axman6> | if read.show isn't id, then something wrong, is that the problem? |
2022-04-08 03:26:22 +0200 | <sub0> | yes. it can't read what show returns for some timezones |
2022-04-08 03:26:41 +0200 | <sub0> | they documented this as well, so there doesn't seem to be any desire to fix it |
2022-04-08 03:27:13 +0200 | <sub0> | Read instance handles only a handful of timezones |
2022-04-08 03:28:19 +0200 | <abastro[m]> | I wonder why `Read` instance even exists here |
2022-04-08 03:28:46 +0200 | abastro | (~abab9579@220.75.216.63) |
2022-04-08 03:29:15 +0200 | <dolio> | It's useful for really simple, non-serious programs. |
2022-04-08 03:29:26 +0200 | <Axman6> | well, my advice is to use the Data.Time.Format module always when serialising times, otherwise you have no idea what you'll actually get. define the format once, and use it for Read and Show |
2022-04-08 03:29:36 +0200 | <sub0> | both instances are odd. they give the impression that you can write them to human-readable files, and read them back, but it doesn't work for most timezones. and for debugging purposes, I'd prefer the view of haskell structure. |
2022-04-08 03:29:39 +0200 | <Axman6> | yeah, it's useful when you need to `print time` |
2022-04-08 03:30:49 +0200 | <sub0> | well I guess ZonedTime Show instance is more useful as it is, but TimeZone instance would be more useful as a haskell structure with all the fields |
2022-04-08 03:31:27 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) |
2022-04-08 03:31:54 +0200 | <abastro> | `Show` instance is useful here, hands down |
2022-04-08 03:31:58 +0200 | <abastro> | Though, `Read` instance? |
2022-04-08 03:32:04 +0200 | <abastro> | Which is biased towards certain regions |
2022-04-08 03:32:25 +0200 | <Zemyla> | Axman6: Shouldn't it be show.read = id? read.show gets rid of spaces and such. |
2022-04-08 03:32:27 +0200 | <sub0> | yeah you're right, Read is the problematic instance. |
2022-04-08 03:33:15 +0200 | <Axman6> | Zemyla: read.show :: Time -> Time, show.read :: String -> String, I meant the former |
2022-04-08 03:33:41 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 246 seconds) |
2022-04-08 03:34:04 +0200 | <Zemyla> | Oh, I got confused as which way the dots go. |
2022-04-08 03:34:19 +0200 | <Axman6> | time is an open source project, I would hope that submitting a patch that makes read.show = id would be appreciated |
2022-04-08 03:34:41 +0200 | <Axman6> | I have a feeling this probably hasn't been done because it is A Hard Problem(tm) to get right |
2022-04-08 03:35:53 +0200 | <abastro> | I mean, what is the reason to have broken Read instance biased towards certain regions |
2022-04-08 03:36:19 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2022-04-08 03:36:32 +0200 | <dolio> | Why answer questions if they're just going to get repeated over and over? |
2022-04-08 03:39:51 +0200 | <abastro> | Well I see, I can conclude that ghc is biased for unfortunate reasons. Reveals as elitist language, somewhat |
2022-04-08 03:40:16 +0200 | <Axman6> | or, perhaps, limited developer resources. got you do like to complain don't you |
2022-04-08 03:40:20 +0200 | <Axman6> | god* |
2022-04-08 03:41:15 +0200 | <abastro> | Tbh you know that this kind of topic could easily go very sensitive |
2022-04-08 03:41:57 +0200 | <sub0> | not including a Read instance would require even less effort |
2022-04-08 03:42:21 +0200 | <Axman6> | the default instances don't cover my timezone either, but I'm not complaining. if you want to fix it, submit a patch, if you're not willing to do anything but complain about it, you can do that elsewhere because it has negative productivity for the channel |
2022-04-08 03:43:26 +0200 | <Axman6> | actually, even supporting read.show = id is impossible, because it can't be done without having access to all possible TimeZone definitions, including ones made up by the user |
2022-04-08 03:43:43 +0200 | <abastro> | Inclusion/Exclusion of region-based stuff is bound to be sensitive. Btw I am not submitting the patch as clearly it would not easily be changing |
2022-04-08 03:44:17 +0200 | <abastro> | Imho proper answer could have been "backwards compatibility", once you have it this way, it is hard to fix. |
2022-04-08 03:45:00 +0200 | <Axman6> | IMO it should only support UTC and +HHMM formats, everything else is changable by factors outside our control |
2022-04-08 03:45:34 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) (Ping timeout: 272 seconds) |
2022-04-08 03:45:42 +0200 | <abastro> | I also wish it had that behavior, but we already have this now |
2022-04-08 03:46:10 +0200 | <monochrom> | At some point "patches welcome" needs to be brought up again. |
2022-04-08 03:46:41 +0200 | <Axman6> | I think I've brought it up three times now, but I guess complaining is much more fun than actually fixing problems |
2022-04-08 03:46:48 +0200 | <monochrom> | Err oops it's already brought up. |
2022-04-08 03:47:03 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) |
2022-04-08 03:47:23 +0200 | <monochrom> | OK I should stick to playing video games. :) |
2022-04-08 03:47:28 +0200 | <Axman6> | https://github.com/haskell/time/issues/191 |
2022-04-08 03:47:53 +0200 | <Axman6> | "show @TimeZone isn't injective, that is, the output String doesn't represent all the information in the input TimeZone, so there's no way to make read @TimeZone a retraction." |
2022-04-08 03:49:11 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-04-08 03:49:11 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-04-08 03:49:11 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-04-08 03:49:31 +0200 | <Axman6> | the addition of some time zones is there as a convenience for, what was at the time, the majority of developers. I would bet that whoever added the US time zones was in the US, and the european zones were in europe. Perhaps if people in Asia and Africa also wanted that convenience, someone from those regions should add them. |
2022-04-08 03:50:24 +0200 | <Axman6> | adding features to a library where you don't have the expertise in the specifics of those features is likely to introduce subtle, actual bugs. |
2022-04-08 03:50:32 +0200 | <abastro> | https://github.com/haskell/time/issues/28 |
2022-04-08 03:51:18 +0200 | <abastro> | So it was indeed brought up, and was closed simply by adding the documentation. |
2022-04-08 03:52:14 +0200 | <abastro> | Ofc it was brought up as issue long time ago, and it was closed as kind of "wontfix' |
2022-04-08 03:52:18 +0200 | <Axman6> | yes, because, if you read the thread, doing this properly is impossible |
2022-04-08 03:52:58 +0200 | <abastro> | There is no discussion as to why `Read` instance is not removed though. |
2022-04-08 03:53:13 +0200 | <redb> | Hi got another noob question. I have a computation which produces a Result(Text) and I'd like to print it with writeFile. I tried fmap and liftM but neither worked, how should I unwrap this Result() wrapper assuming I don't care about errors? |
2022-04-08 03:53:13 +0200 | <abastro> | Ofc with presence of `Read` instance, this cannot be properly done. |
2022-04-08 03:53:30 +0200 | <Axman6> | so, if you have a solution, submit a patch, but claiming there's some global racist conspiracy when it's clear what the reasons for the behaviour are, helps absolutely no one |
2022-04-08 03:54:20 +0200 | <Axman6> | redb: case myReadText of Err e -> error e; Ok theText -> TextIO.writeFile "fileName" theText |
2022-04-08 03:54:41 +0200 | <Axman6> | uh, myResultText would have been a better name, getting discussions mixed up |
2022-04-08 03:54:42 +0200 | <abastro> | It's not conspiracy, it is reality. It is neither about global something, it just implies the unfortunate reality that which regions get more exposure and inclusions while which doesn't. |
2022-04-08 03:55:28 +0200 | <abastro> | One could also say this is not really racism after all. Just unfortunate inequality. |
2022-04-08 03:55:29 +0200 | <Axman6> | abastro: sometimes, people have to learn to help themselves, but you're clearly yet to learn that. stop attributing malice where none exists |
2022-04-08 03:56:01 +0200 | <abastro> | I am not saying that it's malice exposed in any sense. This is more implicit |
2022-04-08 03:57:01 +0200 | <Axman6> | then fix it |
2022-04-08 03:57:18 +0200 | <abastro> | As in most cases, such inequality is implicit and goes without intention, as typically subconscious perspective is underlining it. |
2022-04-08 03:57:25 +0200 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) |
2022-04-08 03:57:25 +0200 | <abastro> | Well I cannot fix people. |
2022-04-08 03:59:20 +0200 | <abastro> | For practical aspect, removing Read instance or some of its behavior could also be massive breaking change |
2022-04-08 03:59:33 +0200 | <abastro> | Which is likely not worthy to implement. |
2022-04-08 04:01:06 +0200 | <sub0> | you could argue it would be a good breaking change. how many programmers use it without realizing it is broken for most timezones in the world |
2022-04-08 04:01:54 +0200 | <sub0> | and that timezone Read instance is particularly egregious. reading just the timezone name and defaulting 0 as UTC offset.. |
2022-04-08 04:02:16 +0200 | <abastro> | sub0: Hmm, good point. ..wait, reading just timezone name and defaulting 0 as UTC offset? |
2022-04-08 04:02:19 +0200 | pavonia | (~user@user/siracusa) |
2022-04-08 04:02:41 +0200 | <sub0> | according to this: https://github.com/haskell/time/issues/28 |
2022-04-08 04:03:06 +0200 | sub0 | (~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (Error)) |
2022-04-08 04:03:31 +0200 | sub0 | (~bc8147f2@cerf.good1.com) |
2022-04-08 04:03:36 +0200 | <abastro> | Oh, you meant for those not in `knownTimeZones` |
2022-04-08 04:04:54 +0200 | <abastro> | Let me post an issue then! |
2022-04-08 04:07:19 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 04:09:59 +0200 | alp_ | (~alp@user/alp) |
2022-04-08 04:10:35 +0200 | ubert | (~Thunderbi@p200300ecdf15885c99f35b3e45127b02.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2022-04-08 04:10:54 +0200 | ubert | (~Thunderbi@p200300ecdf1588f2bfd6f68985df9e03.dip0.t-ipconnect.de) |
2022-04-08 04:16:27 +0200 | <sub0> | adding UTC offset to the Show instance would be an easy fix. and Read instance could read both old and new format |
2022-04-08 04:20:29 +0200 | <sub0> | this would only be required for timezones without built-in support. supported ones could remain as they are now |
2022-04-08 04:21:46 +0200 | <abastro> | Thank you, let me summarize these suggestions in an issue |
2022-04-08 04:22:29 +0200 | <sub0> | for complete support, timeZoneSummerOnly field should be added to Show instance as well in some form or another |
2022-04-08 04:25:37 +0200 | AlexNoo_ | (~AlexNoo@94.233.241.39) |
2022-04-08 04:27:15 +0200 | Alex_test | (~al_test@178.34.163.99) (Ping timeout: 250 seconds) |
2022-04-08 04:27:31 +0200 | alp_ | (~alp@user/alp) (Remote host closed the connection) |
2022-04-08 04:27:50 +0200 | alp_ | (~alp@user/alp) |
2022-04-08 04:28:07 +0200 | AlexZenon | (~alzenon@178.34.163.99) (Ping timeout: 250 seconds) |
2022-04-08 04:29:16 +0200 | AlexNoo | (~AlexNoo@178.34.163.99) (Ping timeout: 272 seconds) |
2022-04-08 04:29:46 +0200 | <energizer> | why does haskell distinguish between functions and constructors? |
2022-04-08 04:30:01 +0200 | <energizer> | (it does, right?) |
2022-04-08 04:31:03 +0200 | <c_wraith> | sort of. Constructors are functions, but not all functions are constructors |
2022-04-08 04:31:10 +0200 | Alex_test | (~al_test@94.233.241.39) |
2022-04-08 04:31:27 +0200 | <sub0> | you can pattern match on Constructors |
2022-04-08 04:31:30 +0200 | <c_wraith> | This is done because you can pattern match on a constructor, but pattern-matching on a function doesn't even mean anything |
2022-04-08 04:31:53 +0200 | <abastro> | `PatternSynonyms` btw |
2022-04-08 04:32:25 +0200 | AlexZenon | (~alzenon@94.233.241.39) |
2022-04-08 04:32:52 +0200 | <c_wraith> | (also, to clarify - constructors that take arguments are functions. nullary constructors simply exist) |
2022-04-08 04:33:29 +0200 | benin | (~benin@183.82.204.110) (Quit: The Lounge - https://thelounge.chat) |
2022-04-08 04:35:07 +0200 | <c_wraith> | abastro: I assure you, Pattern synonyms are nothing like matching on a function. they're cool, but they have a much more precise definition than that. Also, they're still quite limited in comparison to what functions can do. |
2022-04-08 04:35:51 +0200 | benin | (~benin@183.82.204.110) |
2022-04-08 04:36:45 +0200 | <c_wraith> | (for one, functions can take values as arguments. pattern synonyms can only take patterns, which they then match recursively) |
2022-04-08 04:37:35 +0200 | <abastro> | Oh, I was simply suggesting that pattern synonym expaans from constructors |
2022-04-08 04:37:38 +0200 | <abastro> | They are not functions, ofc |
2022-04-08 04:39:03 +0200 | <energizer> | given an integer why can't i pattern match on (succ n)? |
2022-04-08 04:39:16 +0200 | <c_wraith> | energizer: because that's not what pattern match syntax *means* |
2022-04-08 04:39:30 +0200 | <energizer> | why doesnt it mean that? |
2022-04-08 04:39:44 +0200 | <c_wraith> | to make implementing it trivial |
2022-04-08 04:39:53 +0200 | alp_ | (~alp@user/alp) (Ping timeout: 248 seconds) |
2022-04-08 04:40:01 +0200 | <c_wraith> | and understanding it when you read it, for that matter |
2022-04-08 04:40:49 +0200 | <c_wraith> | A lowercase token in a pattern match always means "bind a value to this name" |
2022-04-08 04:40:54 +0200 | <abastro> | Perhaps you can pattern match against `n+1` |
2022-04-08 04:40:56 +0200 | <c_wraith> | always. 100% of the time |
2022-04-08 04:41:05 +0200 | <c_wraith> | it really helps to not have special cases |
2022-04-08 04:41:07 +0200 | <abastro> | sub0: https://github.com/haskell/time/issues/203 any further opinions? |
2022-04-08 04:43:32 +0200 | <sub0> | abastro, I like it, but I'd put more emphasis on adding UTC offset and summerOnly to Show instance, as that is more likely to be accepted. it is completely backward compatible if Show/Read instances of supported timezones remain the same, and Read instance for other (most) timezones becomes useful |
2022-04-08 04:44:10 +0200 | <energizer> | that's not how 'dearth' is supposed to be used |
2022-04-08 04:44:54 +0200 | <abastro> | <del>It was there to emphasize that I am unfamiliar with English</del> Well yea I should fix it asap |
2022-04-08 04:48:00 +0200 | benin | (~benin@183.82.204.110) (Quit: The Lounge - https://thelounge.chat) |
2022-04-08 04:48:18 +0200 | <energizer> | i guess the alternative would be to have a sigil for binders |
2022-04-08 04:48:20 +0200 | <c_wraith> | energizer: generally when you want to compare an argument to the output of a function, guards are the way to go. |
2022-04-08 04:49:05 +0200 | <abastro> | sub0: Hm, I do think problem statement should come first. I have put the suggestion of changing Show instance before removing Read instance suggestion. |
2022-04-08 04:49:23 +0200 | <abastro> | Hopefully boldface there would attract more attention. |
2022-04-08 04:49:53 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Ping timeout: 256 seconds) |
2022-04-08 04:50:47 +0200 | <energizer> | c_wraith: could that work? |
2022-04-08 04:50:49 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-04-08 04:51:23 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 246 seconds) |
2022-04-08 04:51:29 +0200 | <c_wraith> | energizer: sure. foo x | x == succ n = whatever |
2022-04-08 04:52:35 +0200 | <energizer> | c_wraith: i mean | succ 'n -> 99 |
2022-04-08 04:52:59 +0200 | ellie | (~ellie@user/ellie) |
2022-04-08 04:53:00 +0200 | benin | (~benin@183.82.204.110) |
2022-04-08 04:53:10 +0200 | <c_wraith> | a guard needs to have type Bool |
2022-04-08 04:54:15 +0200 | <sub0> | abastro looks good.can you paste the link to the issue when you post it |
2022-04-08 04:54:17 +0200 | <c_wraith> | (there are also pattern guards, but they won't help you here. they mostly exist to pattern-match on the output of functions of the input) |
2022-04-08 04:54:52 +0200 | <abastro> | Well, the issue is already posted there! |
2022-04-08 04:55:29 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2022-04-08 04:55:40 +0200 | <sub0> | oh, heh! for some reason I thought that was your own github page |
2022-04-08 04:56:40 +0200 | <abastro> | XD |
2022-04-08 05:11:15 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-04-08 05:12:04 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) |
2022-04-08 05:13:13 +0200 | <energizer> | how come (.) and ($) aren't in any type classes? |
2022-04-08 05:15:07 +0200 | <energizer> | maybe that's only for types and those aren't types? |
2022-04-08 05:15:47 +0200 | <abastro> | Lots of functions are not in any typeclasses |
2022-04-08 05:16:03 +0200 | <energizer> | are some functions in any type classes? |
2022-04-08 05:16:07 +0200 | <dons> | they're functions. they appear in instances in some classes. they'er not abstracted themselves (there are other things that are more generalized versions of (.) for examlpe) |
2022-04-08 05:16:10 +0200 | <dons> | instance MonadReader r ((->) r) where ask = id local f m = m . f |
2022-04-08 05:16:25 +0200 | <dons> | e.g. (.) is the implementation of 'ask' in the Reader monad for (-> r) types |
2022-04-08 05:16:26 +0200 | mbuf | (~Shakthi@122.164.195.88) |
2022-04-08 05:16:45 +0200 | Midjak | (~Midjak@10.233.130.77.rev.sfr.net) (Quit: This computer has gone to sleep) |
2022-04-08 05:17:05 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2022-04-08 05:18:21 +0200 | <dons> | there are generalized forms of composition and application that have their own names, where (.) or ($) are just specific forms. see e.g. https://hackage.haskell.org/package/base-4.16.1.0/docs/Control-Applicative.html#t:Applicative |
2022-04-08 05:19:10 +0200 | <dons> | i.e. more generic $ , https://hackage.haskell.org/package/base-4.16.1.0/docs/Prelude.html#v:-60--36--62- |
2022-04-08 05:20:02 +0200 | <energizer> | and <*> is more generic (.) ? |
2022-04-08 05:20:34 +0200 | benin | (~benin@183.82.204.110) (Quit: The Lounge - https://thelounge.chat) |
2022-04-08 05:20:37 +0200 | <dons> | that's a bit different, if you look at the types |
2022-04-08 05:20:39 +0200 | <dons> | :t (.) |
2022-04-08 05:20:40 +0200 | <lambdabot> | (b -> c) -> (a -> b) -> a -> c |
2022-04-08 05:20:43 +0200 | <dons> | :t (<*>) |
2022-04-08 05:20:44 +0200 | <lambdabot> | Applicative f => f (a -> b) -> f a -> f b |
2022-04-08 05:21:10 +0200 | frost | (~frost@user/frost) (Ping timeout: 250 seconds) |
2022-04-08 05:21:28 +0200 | <dons> | i guess my point is that sometimes these ideas, like composition or application, have more generic forms. and those get put into libraries and other type classes. the core of the language is mostly about combining simple functions to build programs |
2022-04-08 05:21:54 +0200 | fef | (~thedawn@user/thedawn) |
2022-04-08 05:23:50 +0200 | <energizer> | maybe the more generic (.) is (,) ? |
2022-04-08 05:23:51 +0200 | redb | (~nmh@136.49.49.211) (Ping timeout: 260 seconds) |
2022-04-08 05:24:10 +0200 | <dons> | :t (,) |
2022-04-08 05:24:11 +0200 | <lambdabot> | a -> b -> (a, b) |
2022-04-08 05:24:24 +0200 | <energizer> | :i (,) |
2022-04-08 05:24:27 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 256 seconds) |
2022-04-08 05:24:31 +0200 | <energizer> | it seems weird that (,) is in a bunch of classes but (.) isn't |
2022-04-08 05:25:34 +0200 | <dons> | to figure this stuff out, look at the types . try to undertand what the type says. "a -> b -> (a,b)" is really doing something very different to (b -> c) -> (a -> b) -> a -> c |
2022-04-08 05:25:37 +0200 | redb | (~nmh@136.49.49.211) |
2022-04-08 05:25:49 +0200 | <dons> | completely different lego pieces |
2022-04-08 05:27:26 +0200 | abastro | (~abab9579@220.75.216.63) (Ping timeout: 246 seconds) |
2022-04-08 05:27:53 +0200 | <energizer> | Prelude> (times10 . plus3 . plus7) 5 -> 150; Prelude> ((times10 . plus3) . plus7) 5 -> 150 |
2022-04-08 05:28:06 +0200 | <energizer> | (.) should have Monoid |
2022-04-08 05:30:07 +0200 | redb | (~nmh@136.49.49.211) (Ping timeout: 256 seconds) |
2022-04-08 05:30:11 +0200 | <energizer> | ...or, what is it that i mean to say |
2022-04-08 05:30:36 +0200 | redb | (~nmh@136.49.49.211) |
2022-04-08 05:30:58 +0200 | <zzz> | composition is associative? |
2022-04-08 05:32:36 +0200 | <zzz> | also maybe you meant (times10 . (plus3 . plus7)) 5 |
2022-04-08 05:32:40 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2022-04-08 05:32:43 +0200 | <zzz> | both your examples are equivalent |
2022-04-08 05:32:44 +0200 | <abastro[m]> | :i Endo |
2022-04-08 05:33:07 +0200 | <abastro[m]> | Hm |
2022-04-08 05:33:39 +0200 | <abastro[m]> | @ :i Endo |
2022-04-08 05:33:57 +0200 | <abastro[m]> | % :i Endo |
2022-04-08 05:33:57 +0200 | <yahb> | abastro[m]: type Endo :: * -> *; newtype Endo a = Endo {appEndo :: a -> a}; -- Defined in `base-4.15.0.0:Data.Semigroup.Internal'; instance Monoid (Endo a) -- Defined in `base-4.15.0.0:Data.Semigroup.Internal'; instance Semigroup (Endo a) -- Defined in `base-4.15.0.0:Data.Semigroup.Internal'; instance (t ~ Endo b) => Rewrapped (Endo a) t -- Defined in `Control.Lens.Wrapped'; instance Wrapped (Endo a) -- Defined |
2022-04-08 05:34:05 +0200 | <abastro[m]> | Finally |
2022-04-08 05:35:28 +0200 | zaquest | (~notzaques@5.130.79.72) (Ping timeout: 268 seconds) |
2022-04-08 05:37:33 +0200 | xkuru | (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
2022-04-08 05:37:46 +0200 | <energizer> | is it possible to say `instance Monoid $ where` |
2022-04-08 05:37:48 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) |
2022-04-08 05:38:04 +0200 | <zzz> | no |
2022-04-08 05:38:17 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 246 seconds) |
2022-04-08 05:38:25 +0200 | <zzz> | $ is not a type |
2022-04-08 05:39:12 +0200 | coot | (~coot@213.134.190.95) |
2022-04-08 05:43:05 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 252 seconds) |
2022-04-08 05:44:24 +0200 | deadmarshal_ | (~deadmarsh@95.38.116.104) |
2022-04-08 05:44:31 +0200 | rawley | (~rawley@216-197-141-102.nbfr.hsdb.sasknet.sk.ca) (Remote host closed the connection) |
2022-04-08 05:44:51 +0200 | rawley | (~rawley@216-197-141-102.nbfr.hsdb.sasknet.sk.ca) |
2022-04-08 05:46:21 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 246 seconds) |
2022-04-08 05:46:26 +0200 | zaquest | (~notzaques@5.130.79.72) |
2022-04-08 05:46:33 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 248 seconds) |
2022-04-08 05:50:10 +0200 | <dsal> | energizer: what are you trying to do with that? |
2022-04-08 05:50:37 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-04-08 05:51:24 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::9d5a) (Ping timeout: 240 seconds) |
2022-04-08 05:51:28 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 05:52:38 +0200 | rawley | (~rawley@216-197-141-102.nbfr.hsdb.sasknet.sk.ca) (Ping timeout: 246 seconds) |
2022-04-08 05:53:11 +0200 | <sub0> | abastro, btw, I am not sure that the instance is unlawful. AFAIK there are no laws for Read instance, or law requiring that read . show = id, even though it is desirable |
2022-04-08 05:53:49 +0200 | <Axman6> | energizer: you seem to be confused about the difference between types and values. (.) is a value. (,) uis both a type, which has kind Type -> Type -> Type, and a value, which is a function with type a -> b -> (a,b) |
2022-04-08 05:53:55 +0200 | <sub0> | someone correct me if I'm wrong |
2022-04-08 05:53:58 +0200 | <jackdk> | > :i Endo -- abastro[m]: if you prefer lambdabot |
2022-04-08 05:54:00 +0200 | <lambdabot> | <hint>:1:1: error: parse error on input ‘:’ |
2022-04-08 05:54:06 +0200 | <jackdk> | =( |
2022-04-08 05:54:08 +0200 | <Axman6> | there is no such thing as (.) at the type level (at least not with that syntax, arguable Compose does that |
2022-04-08 05:55:19 +0200 | <Axman6> | type classes take types as arguments, and ($) and (.) are not types, but they do _have_ types, namely (b -> c) -> (a -> b) -> (a -> c) and (a -> b) -> a -> b |
2022-04-08 05:55:54 +0200 | <Axman6> | It's also not really true to say that (.) isn't in any type classes, because it is the implementation of fmap for the function Functor |
2022-04-08 05:56:00 +0200 | <Axman6> | :t fmap |
2022-04-08 05:56:01 +0200 | <lambdabot> | Functor f => (a -> b) -> f a -> f b |
2022-04-08 05:56:14 +0200 | <Axman6> | % :t fmap @((->) r) |
2022-04-08 05:56:14 +0200 | <yahb> | Axman6: ; <interactive>:1:13: error: Not in scope: type variable `r' |
2022-04-08 05:56:18 +0200 | <Axman6> | % :t fmap @((->) Int) |
2022-04-08 05:56:18 +0200 | <yahb> | Axman6: (a -> b) -> (Int -> a) -> Int -> b |
2022-04-08 05:57:13 +0200 | <Axman6> | it is also in the Category class, which defines a function called (.) (of which Prelude.(.) is the implementation of the instance for (->)) |
2022-04-08 05:57:31 +0200 | <Axman6> | % :t Control.Category.(.) |
2022-04-08 05:57:31 +0200 | <yahb> | Axman6: ; <interactive>:1:1: error:; Not in scope: data constructor `Control.Category'; No module named `Control' is imported. |
2022-04-08 05:57:43 +0200 | <Axman6> | @hoogle (.) |
2022-04-08 05:57:43 +0200 | <lambdabot> | Prelude (.) :: (b -> c) -> (a -> b) -> a -> c |
2022-04-08 05:57:43 +0200 | <lambdabot> | Data.Function (.) :: (b -> c) -> (a -> b) -> a -> c |
2022-04-08 05:57:43 +0200 | <lambdabot> | Control.Category (.) :: Category cat => cat b c -> cat a b -> cat a c |
2022-04-08 06:02:01 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-04-08 06:02:18 +0200 | califax | (~califax@user/califx) |
2022-04-08 06:02:25 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 06:03:09 +0200 | benin | (~benin@183.82.204.110) |
2022-04-08 06:07:18 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-04-08 06:07:31 +0200 | califax | (~califax@user/califx) |
2022-04-08 06:12:16 +0200 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2022-04-08 06:12:28 +0200 | kaph_ | (~kaph@dynamic-adsl-78-12-162-98.clienti.tiscali.it) |
2022-04-08 06:14:42 +0200 | kaph | (~kaph@dynamic-adsl-78-12-162-98.clienti.tiscali.it) (Ping timeout: 246 seconds) |
2022-04-08 06:14:44 +0200 | Topsi | (~Tobias@dyndsl-095-033-089-233.ewe-ip-backbone.de) |
2022-04-08 06:16:10 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) |
2022-04-08 06:16:39 +0200 | Unicorn_Princess | (~Unicorn_P@93-103-228-248.dynamic.t-2.net) |
2022-04-08 06:18:47 +0200 | <abastro[m]> | So lambdabot dislikes :i |
2022-04-08 06:19:04 +0200 | <Axman6> | lambdabot doesn't really have :info |
2022-04-08 06:19:14 +0200 | <Axman6> | @info Bool |
2022-04-08 06:19:14 +0200 | <lambdabot> | Bool |
2022-04-08 06:19:46 +0200 | <Axman6> | it actually in that case attempts to correct your typo of "@echo" |
2022-04-08 06:19:56 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) (Ping timeout: 246 seconds) |
2022-04-08 06:20:45 +0200 | <abastro[m]> | Lambdabot needs updates perhaps |
2022-04-08 06:21:02 +0200 | <Axman6> | we already have yahb |
2022-04-08 06:21:15 +0200 | <abastro[m]> | Hm |
2022-04-08 06:36:23 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 246 seconds) |
2022-04-08 06:39:21 +0200 | deadmarshal_ | (~deadmarsh@95.38.116.104) (Ping timeout: 248 seconds) |
2022-04-08 06:41:00 +0200 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 272 seconds) |
2022-04-08 06:41:58 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 06:42:20 +0200 | <vaibhavsagar[m]> | does anyone have a link to the most recent ghc proposal for multiple case alternatives in a single clause? |
2022-04-08 06:43:15 +0200 | <vaibhavsagar[m]> | I wouldn't mind the lack of this feature so much if the pattern coverage checker could handle it correctly |
2022-04-08 06:45:30 +0200 | <Axman6> | like case foo of (Left x | Right x) -> x? |
2022-04-08 06:45:41 +0200 | <vaibhavsagar[m]> | yeah |
2022-04-08 06:46:32 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 246 seconds) |
2022-04-08 06:46:53 +0200 | <vaibhavsagar[m]> | the pattern match coverage checker as of 8.10 complains when you do case x of y | y == AltA || y == AltB || y == AltC -> someValue even when all cases are handled |
2022-04-08 06:47:12 +0200 | <vaibhavsagar[m]> | maybe 9.0 onwards are better here after all the Lower Your Guards stuff |
2022-04-08 06:47:42 +0200 | <abastro[m]> | Well why would you have such function |
2022-04-08 06:47:46 +0200 | <abastro[m]> | What would be the reasoning? |
2022-04-08 06:48:01 +0200 | <vaibhavsagar[m]> | multiple cases are no-ops |
2022-04-08 06:48:48 +0200 | <vaibhavsagar[m]> | and it's IMO better to handle all the cases than use a wildcard pattern match, which would hide problems when the data type is extended |
2022-04-08 06:49:04 +0200 | <abastro[m]> | Ehh |
2022-04-08 06:49:25 +0200 | <vaibhavsagar[m]> | my personal suggestion was to duplicate the code and have the same RHS for each alternative |
2022-04-08 06:49:34 +0200 | <abastro[m]> | You need to design your datatype to avoid such duplicate cases |
2022-04-08 06:49:37 +0200 | <vaibhavsagar[m]> | no, it's not that simple |
2022-04-08 06:49:52 +0200 | <abastro[m]> | Also iirc most or patterns in many languages does not allow binders on both branches |
2022-04-08 06:50:56 +0200 | <vaibhavsagar[m]> | https://wiki.haskell.org/MultiCase is a long-standing feature request |
2022-04-08 06:52:00 +0200 | <vaibhavsagar[m]> | oh I see what you mean about the binders |
2022-04-08 06:52:06 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 06:52:09 +0200 | <vaibhavsagar[m]> | that's totally fine for my use case here |
2022-04-08 06:52:24 +0200 | <abastro[m]> | Long-standing feature request, that sounds like there are multitude of reasons why it is not yet accepted |
2022-04-08 06:52:30 +0200 | <vaibhavsagar[m]> | not really |
2022-04-08 06:52:35 +0200 | <abastro[m]> | That is, it is a bad idea for many reasons |
2022-04-08 06:52:46 +0200 | <vaibhavsagar[m]> | the discussion I remember seeing was basically that nobody could be bothered to implement it |
2022-04-08 06:52:46 +0200 | <dibblego> | use a traversal |
2022-04-08 06:53:09 +0200 | <vaibhavsagar[m]> | I don't see how a traversal would help here |
2022-04-08 06:53:11 +0200 | <abastro[m]> | Yea, nobody bothers because it is not really necessary or convenient |
2022-04-08 06:53:34 +0200 | <abastro[m]> | When even LambdaCase and MultiWayIf is implemented |
2022-04-08 06:55:18 +0200 | <monochrom> | No no, @info is corrected to: |
2022-04-08 06:55:27 +0200 | <vaibhavsagar[m]> | also the syntax is confusing |
2022-04-08 06:55:29 +0200 | <monochrom> | @info do { x <- foo; bar x; } |
2022-04-08 06:55:30 +0200 | <lambdabot> | foo >>= \ x -> bar x |
2022-04-08 06:55:33 +0200 | <vaibhavsagar[m]> | i.e. what the syntax should be |
2022-04-08 06:55:37 +0200 | <abastro[m]> | Wdym syntax is confusing |
2022-04-08 06:56:11 +0200 | <vaibhavsagar[m]> | whether it should be a pipe (already used), a comma (already used), some other combination of characters that is less ambiguous (unknown) |
2022-04-08 06:56:28 +0200 | <dibblego> | vaibhavsagar[m]: https://gist.github.com/tonymorris/6fcd16b4e3dc7b9abc071056a0417d4b |
2022-04-08 06:56:52 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 268 seconds) |
2022-04-08 06:57:49 +0200 | <abastro[m]> | Oh right, optics are useful here too |
2022-04-08 06:58:00 +0200 | <abastro[m]> | Now that obviates need of Or patterns |
2022-04-08 06:58:02 +0200 | <vaibhavsagar[m]> | oh cool |
2022-04-08 06:58:24 +0200 | <vaibhavsagar[m]> | we probably don't want to use Lens in this codebase though |
2022-04-08 06:58:34 +0200 | <dibblego> | then why get out of bed? |
2022-04-08 06:58:50 +0200 | <abastro[m]> | Hahahaha |
2022-04-08 06:58:58 +0200 | <dibblego> | I'm just kidding; that's ^^ what I would do, regardless of any fancy syntax |
2022-04-08 06:59:06 +0200 | <dibblego> | and I wouldn't write code without lens |
2022-04-08 06:59:13 +0200 | <abastro[m]> | Well if you dislike lens, you could use optics |
2022-04-08 06:59:22 +0200 | <sm> | what's this.. 24 hours later and it's still about lens... :) |
2022-04-08 06:59:35 +0200 | <abastro[m]> | Lmao we have gone through full circle |
2022-04-08 06:59:43 +0200 | <abastro[m]> | But this time lens is a good guy |
2022-04-08 06:59:48 +0200 | <monochrom> | I couldn't sleep so I got out of bed. |
2022-04-08 06:59:55 +0200 | <abastro[m]> | Oh no |
2022-04-08 07:00:13 +0200 | <dibblego> | I don't mean lens specifically, more like, "a prelude like it's the 2000s" |
2022-04-08 07:00:23 +0200 | <geekosaur> | at least we're not still trying to derive (.) from ($) |
2022-04-08 07:00:27 +0200 | cdman | (~dcm@user/dmc/x-4369397) |
2022-04-08 07:00:42 +0200 | geekosaur | couldn't sleep either. will pay for this tomorrow… |
2022-04-08 07:02:39 +0200 | Topsi1 | (~Tobias@dyndsl-095-033-091-154.ewe-ip-backbone.de) |
2022-04-08 07:02:41 +0200 | <monochrom> | Bed is for reading. Desk is for sleeping. Work or school is for IRC. |
2022-04-08 07:03:02 +0200 | <monochrom> | The ideal work-life balance >:) |
2022-04-08 07:03:07 +0200 | <abastro[m]> | >.> |
2022-04-08 07:03:29 +0200 | benin | (~benin@183.82.204.110) (Quit: The Lounge - https://thelounge.chat) |
2022-04-08 07:04:09 +0200 | <dibblego> | there is an ideal lens library, which produces the Iso for your data type, and so that ^^ Prism comes for free — rather than writing one for each combination of constructors |
2022-04-08 07:04:23 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 246 seconds) |
2022-04-08 07:04:26 +0200 | Topsi | (~Tobias@dyndsl-095-033-089-233.ewe-ip-backbone.de) (Ping timeout: 272 seconds) |
2022-04-08 07:05:03 +0200 | <abastro[m]> | I guess you could implement sth like that without lens dependency, ye |
2022-04-08 07:06:32 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-04-08 07:06:39 +0200 | rish | (~rishikesh@128.90.143.237) |
2022-04-08 07:06:48 +0200 | rish | (~rishikesh@128.90.143.237) (Client Quit) |
2022-04-08 07:06:52 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 07:07:19 +0200 | deadmarshal_ | (~deadmarsh@95.38.116.104) |
2022-04-08 07:07:23 +0200 | rekahsoft | (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) (Remote host closed the connection) |
2022-04-08 07:07:49 +0200 | rekahsoft | (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) |
2022-04-08 07:08:14 +0200 | benin | (~benin@183.82.204.110) |
2022-04-08 07:10:37 +0200 | rekahsoft | (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) (Remote host closed the connection) |
2022-04-08 07:10:59 +0200 | rekahsoft | (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) |
2022-04-08 07:11:21 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 248 seconds) |
2022-04-08 07:11:22 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-04-08 07:11:43 +0200 | rekahsoft | (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) (Remote host closed the connection) |
2022-04-08 07:11:57 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) |
2022-04-08 07:12:05 +0200 | rekahsoft | (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) |
2022-04-08 07:12:17 +0200 | deadmarshal_ | (~deadmarsh@95.38.116.104) (Ping timeout: 268 seconds) |
2022-04-08 07:12:26 +0200 | motherfsck | (~motherfsc@user/motherfsck) (Ping timeout: 246 seconds) |
2022-04-08 07:13:43 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2022-04-08 07:15:26 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2022-04-08 07:16:46 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 07:21:11 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 246 seconds) |
2022-04-08 07:21:30 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2022-04-08 07:24:37 +0200 | Topsi1 | (~Tobias@dyndsl-095-033-091-154.ewe-ip-backbone.de) (Ping timeout: 268 seconds) |
2022-04-08 07:24:40 +0200 | liz | (~liz@host109-151-125-217.range109-151.btcentralplus.com) (Quit: Lost terminal) |
2022-04-08 07:24:49 +0200 | Topsi | (~Tobias@dyndsl-095-033-091-154.ewe-ip-backbone.de) |
2022-04-08 07:25:14 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 268 seconds) |
2022-04-08 07:26:51 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-04-08 07:26:56 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 07:31:20 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 246 seconds) |
2022-04-08 07:33:10 +0200 | Topsi1 | (~Tobias@dyndsl-095-033-091-154.ewe-ip-backbone.de) |
2022-04-08 07:34:08 +0200 | Topsi | (~Tobias@dyndsl-095-033-091-154.ewe-ip-backbone.de) (Ping timeout: 246 seconds) |
2022-04-08 07:34:39 +0200 | rekahsoft | (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) (Remote host closed the connection) |
2022-04-08 07:36:57 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:676f:8485:4af0:d43b) (Ping timeout: 268 seconds) |
2022-04-08 07:37:03 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 07:37:07 +0200 | rekahsoft | (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) |
2022-04-08 07:37:38 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:7d1a:acbd:2bb4:f) |
2022-04-08 07:37:59 +0200 | rekahsoft | (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) (Remote host closed the connection) |
2022-04-08 07:38:23 +0200 | rekahsoft | (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) |
2022-04-08 07:39:05 +0200 | rekahsoft | (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) (Remote host closed the connection) |
2022-04-08 07:39:24 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-04-08 07:39:25 +0200 | rekahsoft | (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) |
2022-04-08 07:41:35 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 256 seconds) |
2022-04-08 07:42:09 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) |
2022-04-08 07:46:07 +0200 | rekahsoft | (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) (Ping timeout: 256 seconds) |
2022-04-08 07:46:39 +0200 | pera | (~pera@user/pera) (Ping timeout: 260 seconds) |
2022-04-08 07:46:44 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) (Ping timeout: 246 seconds) |
2022-04-08 07:49:08 +0200 | mncheck | (~mncheck@193.224.205.254) |
2022-04-08 07:53:46 +0200 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) (Quit: leaving) |
2022-04-08 07:54:05 +0200 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) |
2022-04-08 07:56:04 +0200 | ygrn | (~Guest50@c-24-23-216-62.hsd1.ca.comcast.net) |
2022-04-08 07:58:29 +0200 | acidjnk | (~acidjnk@p200300d0c7049f91e010d86dcc64fbcb.dip0.t-ipconnect.de) |
2022-04-08 08:00:49 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2022-04-08 08:04:07 +0200 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-04-08 08:06:21 +0200 | pera | (~pera@90.208.230.100) |
2022-04-08 08:06:44 +0200 | pera | Guest2498 |
2022-04-08 08:07:08 +0200 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 272 seconds) |
2022-04-08 08:13:49 +0200 | <Athas> | What's the most efficient list-ish type for concatenation-heavy workloads? DList? Seq? |
2022-04-08 08:14:29 +0200 | <Athas> | It's right-nested appends in case it matters. |
2022-04-08 08:14:38 +0200 | <monochrom> | I would bet on DList. |
2022-04-08 08:14:55 +0200 | <Axman6> | depends if you you're using it as a queue or just appending |
2022-04-08 08:14:58 +0200 | <Athas> | Yeah, reading the docs this looks like a DList problem. |
2022-04-08 08:15:01 +0200 | <Athas> | Just appending. |
2022-04-08 08:15:05 +0200 | <Axman6> | then DList |
2022-04-08 08:15:16 +0200 | <Athas> | I want to append a bunch of lists and then turn the result into a normal list. |
2022-04-08 08:15:31 +0200 | <Axman6> | or STArray with exponential resizing >_> |
2022-04-08 08:15:47 +0200 | <monochrom> | What is right-nested appends? Is it like foldr (++)? Is it like foldl (++)? |
2022-04-08 08:16:44 +0200 | <Athas> | foldl (++) |
2022-04-08 08:16:57 +0200 | <monochrom> | But I guess DList is the safe bet because it's good for both. :) |
2022-04-08 08:17:09 +0200 | <monochrom> | But [] does fine with foldr (++). |
2022-04-08 08:17:18 +0200 | <Athas> | Yeah, and it's not super performance sensitive what I'm writing. I just don't want unpleasant surprises later. |
2022-04-08 08:19:57 +0200 | <Axman6> | DList is great if you do lots of appending and very little consuming (consume once) If you do need to read from it a t multiple points, Seq might be a better option, but definitely sounds like DList problem |
2022-04-08 08:20:42 +0200 | <Athas> | DList it is. |
2022-04-08 08:22:00 +0200 | zeenk | (~zeenk@2a02:2f04:a313:d600:8d26:ec9f:3ff6:fc94) |
2022-04-08 08:25:46 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:10cd:909d:df46:ee8c) |
2022-04-08 08:26:53 +0200 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2022-04-08 08:35:41 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-04-08 08:38:20 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2022-04-08 08:39:14 +0200 | epolanski | (uid312403@id-312403.helmsley.irccloud.com) |
2022-04-08 08:39:53 +0200 | odnes | (~odnes@5-203-246-201.pat.nym.cosmote.net) |
2022-04-08 08:40:39 +0200 | fvr | (uid503686@id-503686.uxbridge.irccloud.com) |
2022-04-08 08:41:42 +0200 | fvr | (uid503686@id-503686.uxbridge.irccloud.com) (Client Quit) |
2022-04-08 08:41:53 +0200 | fvr | (uid503686@id-503686.uxbridge.irccloud.com) |
2022-04-08 08:45:48 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 08:46:37 +0200 | <energizer> | :t Compose |
2022-04-08 08:46:38 +0200 | <lambdabot> | error: |
2022-04-08 08:46:38 +0200 | <lambdabot> | • Data constructor not in scope: Compose |
2022-04-08 08:46:38 +0200 | <lambdabot> | • Perhaps you meant variable ‘icompose’ (imported from Control.Lens) |
2022-04-08 08:49:07 +0200 | deadmarshal_ | (~deadmarsh@95.38.116.104) |
2022-04-08 08:50:04 +0200 | <abastro[m]> | Whh |
2022-04-08 08:50:32 +0200 | <abastro[m]> | Btw why does scala not have `DList` |
2022-04-08 08:57:18 +0200 | dextaa_54 | dextaa |
2022-04-08 09:01:10 +0200 | alp_ | (~alp@user/alp) |
2022-04-08 09:01:18 +0200 | <Axman6> | if you can write functions of the type [a] -> [a] then it does, that's all DLists are - functions which accept an argument which represents the end of the list |
2022-04-08 09:01:47 +0200 | Guest2498 | (~pera@90.208.230.100) (Quit: leaving) |
2022-04-08 09:01:56 +0200 | <Axman6> | :t \rest -> 'H':'e':'l':'l':'o':rest |
2022-04-08 09:01:57 +0200 | <lambdabot> | [Char] -> [Char] |
2022-04-08 09:02:26 +0200 | <Axman6> | > let myDList = \rest -> 'H':'e':'l':'l':'o':rest in myDList ", world!" |
2022-04-08 09:02:27 +0200 | <lambdabot> | "Hello, world!" |
2022-04-08 09:03:14 +0200 | <energizer> | how can i make a type that's like compose? |
2022-04-08 09:03:35 +0200 | <Axman6> | > let hello = \rest -> 'H':'e':'l':'l':'o':rest; commaSpace = \rest -> ',':' ':rest in hello . commaSpace $ "world!" |
2022-04-08 09:03:37 +0200 | <lambdabot> | "Hello, world!" |
2022-04-08 09:03:45 +0200 | <Axman6> | energizer: "like" in what way? |
2022-04-08 09:04:41 +0200 | <energizer> | you were saying (.) isn't a type so it can't be instance Monoid, so i want to make a compose that is instance Monoid |
2022-04-08 09:04:50 +0200 | <abastro[m]> | Scala doesn't have monoids, Axman6 |
2022-04-08 09:05:14 +0200 | <abastro[m]> | energizer: use Endo |
2022-04-08 09:05:23 +0200 | <abastro[m]> | % :i Endo |
2022-04-08 09:05:23 +0200 | <yahb> | abastro[m]: type Endo :: * -> *; newtype Endo a = Endo {appEndo :: a -> a}; -- Defined in `base-4.15.0.0:Data.Semigroup.Internal'; instance Monoid (Endo a) -- Defined in `base-4.15.0.0:Data.Semigroup.Internal'; instance Semigroup (Endo a) -- Defined in `base-4.15.0.0:Data.Semigroup.Internal'; instance (t ~ Endo b) => Rewrapped (Endo a) t -- Defined in `Control.Lens.Wrapped'; instance Wrapped (Endo a) -- Defined |
2022-04-08 09:05:34 +0200 | <abastro[m]> | ^ |
2022-04-08 09:05:58 +0200 | <Axman6> | having instance Monoid (Compose f g a) means having something of type (<>) :: Compose f g a -> Compose f g a -> Compose f g a |
2022-04-08 09:06:34 +0200 | <abastro[m]> | Oh |
2022-04-08 09:06:35 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds) |
2022-04-08 09:06:58 +0200 | <Axman6> | energizer: I'm not sure the questions you're asking make sense though, it still feels like you're confused about the difference between functions and types, but I don't understand what you actually want well enough to tell where you're getting stuck |
2022-04-08 09:07:05 +0200 | <abastro[m]> | Uhm does that makes sense? |
2022-04-08 09:07:26 +0200 | <Axman6> | Scala definitely does have monoids btw |
2022-04-08 09:07:46 +0200 | <abastro[m]> | Eh, where? I could not find it in stdlib |
2022-04-08 09:08:06 +0200 | <Axman6> | it probably has some dumb name like additive |
2022-04-08 09:08:21 +0200 | <Axman6> | but it might not be in the stdlib |
2022-04-08 09:08:26 +0200 | <energizer> | Axman6: what is `a` doing there? |
2022-04-08 09:08:29 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-04-08 09:08:41 +0200 | <Axman6> | % :info Compose |
2022-04-08 09:08:41 +0200 | <yahb> | Axman6: ; <interactive>:1:1: error: Not in scope: `Compose' |
2022-04-08 09:08:45 +0200 | <abastro[m]> | Parameter of the generics |
2022-04-08 09:08:48 +0200 | <Axman6> | @hoogle Compose |
2022-04-08 09:08:48 +0200 | <lambdabot> | module Data.Functor.Compose |
2022-04-08 09:08:48 +0200 | <lambdabot> | Data.Functor.Compose newtype Compose f g a |
2022-04-08 09:08:48 +0200 | <lambdabot> | Data.Functor.Compose Compose :: f (g a) -> Compose f g a |
2022-04-08 09:09:32 +0200 | <Axman6> | Data.Functor.Compose defined newtype Compose f g a = Compose (f (g a)) -- it is the composition of two functors, which is also always functor |
2022-04-08 09:09:43 +0200 | <Axman6> | % import Data.Functor.Compose |
2022-04-08 09:09:43 +0200 | <yahb> | Axman6: |
2022-04-08 09:09:47 +0200 | <Axman6> | % :info Compose |
2022-04-08 09:09:47 +0200 | <yahb> | Axman6: type role Compose representational nominal nominal; type Compose :: forall {k} {k1}. (k -> *) -> (k1 -> k) -> k1 -> *; newtype Compose f g a = Compose {getCompose :: f (g a)}; -- Defined in `Data.Functor.Compose'; infixr 9 `Compose`; instance (Alternative f, Applicative g) => Alternative (Compose f g) -- Defined in `Data.Functor.Compose'; instance (Applicative f, Applicative g) => Applicative (Compos |
2022-04-08 09:10:08 +0200 | <Axman6> | % fmap show $ Compose [Just 1] |
2022-04-08 09:10:08 +0200 | <yahb> | Axman6: Compose [Just "1"] |
2022-04-08 09:10:26 +0200 | <Axman6> | % fmap show $ Compose (Compose [Just (True,1)] |
2022-04-08 09:10:26 +0200 | <yahb> | Axman6: ; <interactive>:88:45: error: parse error (possibly incorrect indentation or mismatched brackets) |
2022-04-08 09:10:34 +0200 | <Axman6> | % fmap show $ Compose (Compose [Just (True,1)]) |
2022-04-08 09:10:34 +0200 | <yahb> | Axman6: Compose (Compose [Just (True,"1")]) |
2022-04-08 09:10:48 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) |
2022-04-08 09:11:18 +0200 | deadmarshal_ | (~deadmarsh@95.38.116.104) (Ping timeout: 268 seconds) |
2022-04-08 09:11:21 +0200 | <abastro[m]> | % Compose [Just 1] <> Compose [Nothing] |
2022-04-08 09:11:21 +0200 | <yahb> | abastro[m]: ; <interactive>:90:1: error:; * No instance for (Semigroup (Compose [] Maybe Integer)) arising from a use of `it'; * In the first argument of `print', namely `it'; In a stmt of an interactive GHCi command: print it |
2022-04-08 09:11:27 +0200 | <energizer> | i dont really know what that's saying |
2022-04-08 09:11:31 +0200 | <abastro[m]> | Noo |
2022-04-08 09:11:49 +0200 | <abastro[m]> | Well `Compose` type is indeed a complex one |
2022-04-08 09:12:27 +0200 | <abastro[m]> | You need to understand haskell generics before trying on Compose |
2022-04-08 09:14:08 +0200 | <Axman6> | % :t Compose (Compose [Just (True,"1")]) |
2022-04-08 09:14:08 +0200 | <yahb> | Axman6: Compose (Compose [] Maybe) ((,) Bool) String |
2022-04-08 09:14:23 +0200 | <Axman6> | that's the composition of three functors |
2022-04-08 09:14:45 +0200 | <Axman6> | which isn't really related to the composition of functions (except that functions are functors, but that's another issue) |
2022-04-08 09:14:56 +0200 | <Axman6> | it does sound like you migth be looking for Endo? |
2022-04-08 09:15:56 +0200 | <energizer> | ok i'll just leave it for now. thank you. |
2022-04-08 09:16:15 +0200 | <Axman6> | an endomorphism is just a function with type a -> a, newtype Endo a = Endo (a -> a). it _does_ have a monoid instance, because you can define mempty = Endo id :: Endo a; and mappend (Endo f) (Endo g) = Endo (f . g) |
2022-04-08 09:17:07 +0200 | <Axman6> | so the idea of combining functions of the type a -> a is represented by Endo, and lots of instances can be defined for that type |
2022-04-08 09:20:11 +0200 | Akiva | (~Akiva@user/Akiva) (Ping timeout: 246 seconds) |
2022-04-08 09:22:33 +0200 | cfricke | (~cfricke@user/cfricke) |
2022-04-08 09:22:47 +0200 | vysn | (~vysn@user/vysn) (Quit: WeeChat 3.4) |
2022-04-08 09:22:51 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2022-04-08 09:23:55 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-04-08 09:24:40 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) |
2022-04-08 09:27:16 +0200 | michalz | (~michalz@185.246.204.122) |
2022-04-08 09:27:33 +0200 | shriekingnoise | (~shrieking@201.231.16.156) (Quit: Quit) |
2022-04-08 09:29:42 +0200 | ygrn | (~Guest50@c-24-23-216-62.hsd1.ca.comcast.net) (Quit: Client closed) |
2022-04-08 09:31:28 +0200 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) |
2022-04-08 09:38:38 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 09:46:15 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 256 seconds) |
2022-04-08 09:48:17 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2022-04-08 09:48:40 +0200 | machinedgod | (~machinedg@24.105.81.50) |
2022-04-08 09:51:03 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
2022-04-08 09:51:36 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 09:52:18 +0200 | <abastro[m]> | Oh right |
2022-04-08 09:52:31 +0200 | <abastro[m]> | Higher associativity of (.) is encoded in Category |
2022-04-08 09:52:56 +0200 | <abastro[m]> | I hate Category tho |
2022-04-08 09:54:26 +0200 | frost | (~frost@user/frost) |
2022-04-08 09:56:09 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 248 seconds) |
2022-04-08 09:56:56 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 268 seconds) |
2022-04-08 09:58:51 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-04-08 10:00:26 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) |
2022-04-08 10:00:56 +0200 | deadmarshal_ | (~deadmarsh@95.38.116.104) |
2022-04-08 10:01:07 +0200 | ccntrq | (~Thunderbi@2a01:e34:eccb:b060:3869:aeec:4353:22a7) |
2022-04-08 10:01:47 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 10:03:41 +0200 | machinedgod | (~machinedg@24.105.81.50) (Remote host closed the connection) |
2022-04-08 10:04:11 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2022-04-08 10:04:33 +0200 | AlexNoo_ | AlexNoo |
2022-04-08 10:05:23 +0200 | chele | (~chele@user/chele) |
2022-04-08 10:06:03 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 246 seconds) |
2022-04-08 10:08:59 +0200 | mncheckm | (~mncheck@193.224.205.254) |
2022-04-08 10:09:45 +0200 | machinedgod | (~machinedg@24.105.81.50) |
2022-04-08 10:11:17 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-04-08 10:23:45 +0200 | ccntrq1 | (~Thunderbi@2a01:e34:eccb:b060:3869:aeec:4353:22a7) |
2022-04-08 10:23:50 +0200 | ccntrq | (~Thunderbi@2a01:e34:eccb:b060:3869:aeec:4353:22a7) (Read error: Connection reset by peer) |
2022-04-08 10:23:51 +0200 | ccntrq1 | ccntrq |
2022-04-08 10:24:09 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) |
2022-04-08 10:31:24 +0200 | _________ | (~nobody@user/noodly) (Ping timeout: 240 seconds) |
2022-04-08 10:33:14 +0200 | niko | (~niko@libera/staff/niko) (Quit: Reconnecting) |
2022-04-08 10:33:33 +0200 | niko | (~niko@libera/staff/niko) |
2022-04-08 10:34:11 +0200 | niko | (~niko@libera/staff/niko) (Client Quit) |
2022-04-08 10:34:45 +0200 | o | (~niko@libera/staff/niko) |
2022-04-08 10:35:15 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-04-08 10:36:51 +0200 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-04-08 10:43:33 +0200 | cdman | (~dcm@user/dmc/x-4369397) (Quit: Leaving) |
2022-04-08 10:44:05 +0200 | MajorBiscuit | (~MajorBisc@wlan-145-94-161-127.wlan.tudelft.nl) |
2022-04-08 10:45:39 +0200 | <energizer> | w |
2022-04-08 10:46:46 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-04-08 10:46:58 +0200 | <energizer> | what is the relationship between multiplication and application? would it make any difference if they were the same operator? |
2022-04-08 10:48:04 +0200 | <tomsmeding> | why would it make sense for them to be the same operator? |
2022-04-08 10:48:38 +0200 | <tomsmeding> | multiplication takes two values of the same type, application does not, so in any case the types don't match |
2022-04-08 10:48:38 +0200 | cdman | (~dcm@27.2.217.240) |
2022-04-08 10:48:38 +0200 | cdman | (~dcm@27.2.217.240) (Changing host) |
2022-04-08 10:48:38 +0200 | cdman | (~dcm@user/dmc/x-4369397) |
2022-04-08 10:49:35 +0200 | <energizer> | multiplication hopefully supports vector * scalar |
2022-04-08 10:49:54 +0200 | <tomsmeding> | :t (*) |
2022-04-08 10:49:55 +0200 | <lambdabot> | Num a => a -> a -> a |
2022-04-08 10:50:00 +0200 | fvr | (uid503686@id-503686.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2022-04-08 10:50:01 +0200 | <tomsmeding> | though I guess you could generalise that |
2022-04-08 10:50:01 +0200 | <energizer> | oh that's dumb |
2022-04-08 10:50:20 +0200 | <tomsmeding> | I guess the question is: what would be the type of the generalised operator |
2022-04-08 10:51:39 +0200 | <energizer> | hm i guess that actually demonstrates a counterexample |
2022-04-08 10:52:07 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:c02d:dd64:a284:8819) |
2022-04-08 10:52:18 +0200 | <tomsmeding> | for vector-scalar multiplication, you can kind of achieve that by lifting the scalar to a vector first and then performing element-wise multiplication |
2022-04-08 10:52:41 +0200 | <tomsmeding> | if the scalar is a literal, that lifting can even be done invisibly using fromInteger/fromRational |
2022-04-08 10:52:42 +0200 | <energizer> | [10,20,30] $ 2 would give 30 but [10,20,30] * 2 would give [20,40,60] |
2022-04-08 10:52:49 +0200 | <tomsmeding> | right |
2022-04-08 10:53:04 +0200 | <tomsmeding> | > [10,20,30] $ 2 |
2022-04-08 10:53:06 +0200 | <lambdabot> | error: |
2022-04-08 10:53:06 +0200 | <lambdabot> | • Couldn't match expected type ‘t0 -> t’ with actual type ‘[a0]’ |
2022-04-08 10:53:06 +0200 | <lambdabot> | • The first argument of ($) takes one argument, |
2022-04-08 10:53:11 +0200 | <tomsmeding> | not sure what the meaning of that would be though |
2022-04-08 10:53:33 +0200 | <energizer> | it would be getindex, whatever that's called in haskell, maybe !! |
2022-04-08 10:53:44 +0200 | <tomsmeding> | ah I see, seeing an array as a function from index to value |
2022-04-08 10:53:56 +0200 | sub0 | (~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (Session timeout)) |
2022-04-08 10:54:06 +0200 | <energizer> | ya |
2022-04-08 10:54:08 +0200 | CiaoSen | (~Jura@p200300c9572d40002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-04-08 10:54:21 +0200 | <tomsmeding> | but yeah, you'll get conflicts, as you see |
2022-04-08 11:00:55 +0200 | _________ | (~nobody@user/noodly) |
2022-04-08 11:02:32 +0200 | Pickchea | (~private@user/pickchea) |
2022-04-08 11:03:48 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.4.1) |
2022-04-08 11:06:01 +0200 | _________ | (~nobody@user/noodly) (Ping timeout: 248 seconds) |
2022-04-08 11:07:07 +0200 | _________ | (~nobody@user/noodly) |
2022-04-08 11:12:19 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-04-08 11:14:56 +0200 | haskellberryfinn | (~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2022-04-08 11:16:45 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds) |
2022-04-08 11:16:55 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-04-08 11:28:09 +0200 | gurkenglas | (~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de) |
2022-04-08 11:28:30 +0200 | chenqisu1 | (~chenqisu1@183.217.200.239) (Quit: Leaving) |
2022-04-08 11:39:49 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:c02d:dd64:a284:8819) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-04-08 11:40:21 +0200 | Guest89 | (~Guest89@2a01:41e1:4454:c00:c143:656:2260:f5bd) |
2022-04-08 11:50:20 +0200 | vpan | (~0@212.117.1.172) |
2022-04-08 11:50:49 +0200 | sprout_ | (~quassel@2a02:a467:ccd6:1:cc9d:606d:275:46cf) |
2022-04-08 11:51:07 +0200 | <haskellberryfinn> | does Haskell have undefined behavior like in C? Such as in C, 1 << -1 is undefined |
2022-04-08 11:52:57 +0200 | sprout | (~quassel@2a02:a467:ccd6:1:70be:3437:d6be:b5ae) (Ping timeout: 248 seconds) |
2022-04-08 12:00:53 +0200 | CiaoSen | (~Jura@p200300c9572d40002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2022-04-08 12:02:15 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:c02d:dd64:a284:8819) |
2022-04-08 12:02:37 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 12:05:32 +0200 | <abastro[m]> | I don't think haskell have undefined behavior |
2022-04-08 12:05:53 +0200 | <abastro[m]> | Eliminating those unknown behaviors, I think that's the point of type system |
2022-04-08 12:09:01 +0200 | epolanski | (uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2022-04-08 12:09:42 +0200 | xff0x | (~xff0x@125x102x200x106.ap125.ftth.ucom.ne.jp) (Ping timeout: 272 seconds) |
2022-04-08 12:11:00 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 246 seconds) |
2022-04-08 12:13:11 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-04-08 12:16:59 +0200 | <lortabac> | AFAIK Haskell doesn't have a notion of undefined behavior, but it can run into unpredictable behavior when you use the unsafe* functions |
2022-04-08 12:17:09 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 12:17:56 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds) |
2022-04-08 12:18:09 +0200 | <lortabac> | by "unpredictable" I mean behavior that is hard to predict and can vary when optimizations are on |
2022-04-08 12:19:50 +0200 | uncomfy | (~uncomfy@27.110.174.130) |
2022-04-08 12:21:09 +0200 | <abastro[m]> | Right, unsafe functions are exceptions to this. Meh |
2022-04-08 12:21:10 +0200 | <abastro[m]> | Momentarily forgot about them |
2022-04-08 12:21:37 +0200 | benin | (~benin@183.82.204.110) (Quit: The Lounge - https://thelounge.chat) |
2022-04-08 12:21:56 +0200 | <abastro[m]> | Well also, evaluation order is kind of not concretely defined for nearly everything in haskell |
2022-04-08 12:22:22 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 272 seconds) |
2022-04-08 12:25:09 +0200 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2022-04-08 12:25:42 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2022-04-08 12:25:48 +0200 | cdman | (~dcm@user/dmc/x-4369397) (Quit: Leaving) |
2022-04-08 12:25:52 +0200 | <dibblego> | > head [] |
2022-04-08 12:25:54 +0200 | <lambdabot> | *Exception: Prelude.head: empty list |
2022-04-08 12:26:41 +0200 | cdman | (~dcm@27.2.217.240) |
2022-04-08 12:26:41 +0200 | cdman | (~dcm@27.2.217.240) (Changing host) |
2022-04-08 12:26:41 +0200 | cdman | (~dcm@user/dmc/x-4369397) |
2022-04-08 12:27:18 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 12:30:04 +0200 | <abastro[m]> | I thought that behavior is predictable |
2022-04-08 12:31:32 +0200 | chddr | (~Thunderbi@91.226.35.164) |
2022-04-08 12:32:13 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 260 seconds) |
2022-04-08 12:33:08 +0200 | kaph_ | (~kaph@dynamic-adsl-78-12-162-98.clienti.tiscali.it) (Ping timeout: 272 seconds) |
2022-04-08 12:35:15 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2022-04-08 12:37:27 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 12:38:37 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-04-08 12:38:49 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 248 seconds) |
2022-04-08 12:41:55 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 256 seconds) |
2022-04-08 12:42:42 +0200 | benin | (~benin@183.82.204.110) |
2022-04-08 12:44:00 +0200 | <haskellberryfinn> | lortabac: can we ask GHC to protect a region in the source code not to optimize them? |
2022-04-08 12:45:01 +0200 | <tomsmeding> | why would you want that |
2022-04-08 12:45:32 +0200 | <lortabac> | haskellberryfinn: yes, you can do it at module level with a pragma |
2022-04-08 12:46:12 +0200 | <tomsmeding> | I guess you'd also need to annotate the exported functions from that module with NOINLINE, else they might get inlined somewhere else and subsequently optimised? |
2022-04-08 12:46:45 +0200 | <lortabac> | in fact I had to do it once because of a GHC bug that was triggered by a particular optimization |
2022-04-08 12:46:56 +0200 | <tomsmeding> | right, bugs are a reason |
2022-04-08 12:47:38 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2022-04-08 12:47:39 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 12:48:07 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.4.1) |
2022-04-08 12:49:18 +0200 | <haskellberryfinn> | tomsmeding: no particular reason, just want to understand GHC's behavior |
2022-04-08 12:49:20 +0200 | <tomsmeding> | HLS question: I have a multi-component cabal file (library, testsuite and benchmark), and each have different dependencies, but HLS gets confused: opening bench/Main.hs is fine, but if I then also open test/Main.hs, suddenly a bench-only dependency X is unavailable in bench/Main.hs. Is this a known issue? |
2022-04-08 12:51:47 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2022-04-08 12:51:57 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 246 seconds) |
2022-04-08 12:56:53 +0200 | ccntrq1 | (~Thunderbi@imx92-1-78-204-187-6.fbx.proxad.net) |
2022-04-08 12:57:33 +0200 | ccntrq | (~Thunderbi@2a01:e34:eccb:b060:3869:aeec:4353:22a7) (Read error: Connection reset by peer) |
2022-04-08 12:57:33 +0200 | ccntrq1 | ccntrq |
2022-04-08 12:57:46 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 12:57:55 +0200 | acidjnk | (~acidjnk@p200300d0c7049f91e010d86dcc64fbcb.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2022-04-08 13:00:57 +0200 | hololeap_ | (~hololeap@user/hololeap) (Remote host closed the connection) |
2022-04-08 13:01:13 +0200 | simeon | (~pi@dslb-090-186-003-168.090.186.pools.vodafone-ip.de) (Ping timeout: 248 seconds) |
2022-04-08 13:02:12 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-04-08 13:02:19 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 256 seconds) |
2022-04-08 13:02:23 +0200 | hololeap_ | (~hololeap@user/hololeap) |
2022-04-08 13:02:25 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2022-04-08 13:02:44 +0200 | simeon | (~pi@dslb-002-202-026-141.002.202.pools.vodafone-ip.de) |
2022-04-08 13:06:27 +0200 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2022-04-08 13:07:17 +0200 | Guest89 | (~Guest89@2a01:41e1:4454:c00:c143:656:2260:f5bd) (Quit: Client closed) |
2022-04-08 13:07:56 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 13:09:13 +0200 | shriekingnoise | (~shrieking@201.231.16.156) |
2022-04-08 13:11:28 +0200 | liz | (~liz@host109-151-125-217.range109-151.btcentralplus.com) |
2022-04-08 13:12:57 +0200 | <abastro[m]> | Well I experienced it being confused with ghc-options field, but never with the dependencies |
2022-04-08 13:13:23 +0200 | <abastro[m]> | Different dependencies for multiple components were fine to be actually |
2022-04-08 13:13:25 +0200 | jgeerds | (~jgeerds@d5364b87.access.ecotel.net) |
2022-04-08 13:13:30 +0200 | <abastro[m]> | So I wonder why your case is happening |
2022-04-08 13:13:39 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 256 seconds) |
2022-04-08 13:16:52 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) |
2022-04-08 13:17:36 +0200 | ub | (~Thunderbi@p200300ecdf1588f29c6b5cc0b4490e88.dip0.t-ipconnect.de) |
2022-04-08 13:18:40 +0200 | <tomsmeding> | maybe ghc 9.2.1 is too new? |
2022-04-08 13:22:12 +0200 | ub | (~Thunderbi@p200300ecdf1588f29c6b5cc0b4490e88.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2022-04-08 13:24:26 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds) |
2022-04-08 13:27:21 +0200 | ccntrq | (~Thunderbi@imx92-1-78-204-187-6.fbx.proxad.net) (Ping timeout: 248 seconds) |
2022-04-08 13:28:29 +0200 | <pavonia> | Debugging a parser exception "Maybe.fromJust: Nothing" in a 6MB data file, yay |
2022-04-08 13:28:45 +0200 | <tomsmeding> | HasCallStack all the things |
2022-04-08 13:29:48 +0200 | <pavonia> | It just tells me the function producing the error, but no information about the input |
2022-04-08 13:30:54 +0200 | glguy | (x@libera/staff/glguy) (Read error: Connection reset by peer) |
2022-04-08 13:31:05 +0200 | haskellberryfinn | (~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 248 seconds) |
2022-04-08 13:32:35 +0200 | glguy | (x@libera/staff/glguy) |
2022-04-08 13:34:01 +0200 | <abastro[m]> | tomsmeding: I am using ghc 9.2.2 |
2022-04-08 13:34:13 +0200 | <abastro[m]> | It works well.. with HLS 1.6.1.1 |
2022-04-08 13:34:19 +0200 | <abastro[m]> | Wait, are you using 1.6.1.0? |
2022-04-08 13:34:49 +0200 | <tomsmeding> | yes, but self-compiled |
2022-04-08 13:34:51 +0200 | tabemann | (~travisb@2600:1700:7990:24e0:77bc:a0c0:b3f2:8f7c) (Remote host closed the connection) |
2022-04-08 13:35:04 +0200 | tabemann | (~travisb@2600:1700:7990:24e0:da3f:51e6:d535:6e76) |
2022-04-08 13:35:10 +0200 | <tomsmeding> | I can retry using ghc 9.2.2 |
2022-04-08 13:37:39 +0200 | <abastro[m]> | 1.6.1.0 doesn't work on ghc 9.2+ tomsmeding |
2022-04-08 13:37:51 +0200 | <tomsmeding> | oh crap sorry |
2022-04-08 13:37:54 +0200 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2022-04-08 13:37:55 +0200 | <tomsmeding> | I'm running HLS HEAD |
2022-04-08 13:37:56 +0200 | <abastro[m]> | Oh you mean you are using 1.6.1.1? |
2022-04-08 13:38:01 +0200 | <tomsmeding> | because otherwise it doesn't compile on 9.2.2 |
2022-04-08 13:38:01 +0200 | <abastro[m]> | I see |
2022-04-08 13:38:15 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-04-08 13:38:18 +0200 | <tomsmeding> | no the only difference between 1.6.1.1 and 1.6.1.0 is the addition of a cabal flag for compiling dynamically linked |
2022-04-08 13:38:18 +0200 | <abastro[m]> | Hmm yeah, I forgot that lol |
2022-04-08 13:38:30 +0200 | <tomsmeding> | so that's irrelevant here if I self-compile |
2022-04-08 13:39:02 +0200 | <abastro[m]> | Well I mean, 1.6.1.0 did not recognize the `with-compiler:` field of cabal.project |
2022-04-08 13:39:14 +0200 | <tomsmeding> | wa- |
2022-04-08 13:39:21 +0200 | <abastro[m]> | I recommend you to do try 9.2.2 for good measure |
2022-04-08 13:39:57 +0200 | <tomsmeding> | $ git diff 1.6.1.0..1.6.1.1 --stat -> .github/... ; ChangeLog.md ; docs/troubleshooting.md ; haskell-language-server.cabal |
2022-04-08 13:40:12 +0200 | <tomsmeding> | and the diff in the .cabal is literally the addition of a flag |
2022-04-08 13:41:54 +0200 | <tomsmeding> | 9.2.2 seems to work...? |
2022-04-08 13:43:22 +0200 | <tomsmeding> | the command-line test invocation completely fails with a bunch of internal errors, but in the editor as LSP server it seems to work |
2022-04-08 13:43:23 +0200 | <tomsmeding> | ¯\_(ツ)_/¯ |
2022-04-08 13:53:39 +0200 | xff0x | (~xff0x@i121-117-52-147.s41.a013.ap.plala.or.jp) |
2022-04-08 13:54:28 +0200 | aeka | (~aeka@user/hiruji) (Ping timeout: 260 seconds) |
2022-04-08 13:58:29 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) |
2022-04-08 13:59:47 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Quit: leaving) |
2022-04-08 14:00:05 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-04-08 14:02:08 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:c02d:dd64:a284:8819) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-04-08 14:02:08 +0200 | aeka | (~aeka@2606:6080:1001:13:a777:ff73:dfdc:3ab0) |
2022-04-08 14:04:24 +0200 | MajorBiscuit | (~MajorBisc@wlan-145-94-161-127.wlan.tudelft.nl) (Ping timeout: 246 seconds) |
2022-04-08 14:05:45 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:c02d:dd64:a284:8819) |
2022-04-08 14:05:55 +0200 | MajorBiscuit | (~MajorBisc@wlan-145-94-161-127.wlan.tudelft.nl) |
2022-04-08 14:06:23 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-04-08 14:07:04 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) |
2022-04-08 14:10:15 +0200 | FragByte | (~christian@user/fragbyte) (Quit: Quit) |
2022-04-08 14:12:13 +0200 | FragByte | (~christian@user/fragbyte) |
2022-04-08 14:13:47 +0200 | krappix | (~krappix@nat-eduroam-76-gw-01-lne.lille.inria.fr) |
2022-04-08 14:17:34 +0200 | frost | (~frost@user/frost) (Quit: Client closed) |
2022-04-08 14:19:01 +0200 | <abastro[m]> | Oh meh |
2022-04-08 14:19:18 +0200 | <abastro[m]> | Idk why cabal.project reading in 1.6.1.0 did not work for me hmm |
2022-04-08 14:23:45 +0200 | cfricke | (~cfricke@user/cfricke) |
2022-04-08 14:24:34 +0200 | MajorBiscuit | (~MajorBisc@wlan-145-94-161-127.wlan.tudelft.nl) (Ping timeout: 268 seconds) |
2022-04-08 14:24:48 +0200 | dextaa | (~dextaa@user/dextaa) (Remote host closed the connection) |
2022-04-08 14:26:52 +0200 | <maerwald[m]> | <tomsmeding> "the command-line test invocation..." <- typecheck? |
2022-04-08 14:26:53 +0200 | <tomsmeding> | that particular part did work for me :p |
2022-04-08 14:27:16 +0200 | <tomsmeding> | maerwald[m]: what I meant is running 'haskell-language-server-9.2.2' in my shell |
2022-04-08 14:27:20 +0200 | <tomsmeding> | not sure what you're asking |
2022-04-08 14:27:22 +0200 | __monty__ | (~toonn@user/toonn) |
2022-04-08 14:27:42 +0200 | coot | (~coot@213.134.190.95) |
2022-04-08 14:28:08 +0200 | <maerwald[m]> | There are subcommands |
2022-04-08 14:28:45 +0200 | <tomsmeding> | TIL |
2022-04-08 14:28:52 +0200 | <tomsmeding> | seems the default is 'typecheck' |
2022-04-08 14:29:18 +0200 | dextaa | (~dextaa@user/dextaa) |
2022-04-08 14:30:42 +0200 | <krappix> | Hello all I want to understand how this project `fortran-src` write the output when I use it to get an AST `fortran-src stop_message.f`. `stop_message.f`obtained from here https://people.sc.fsu.edu/~jburkardt/f77_src/f77/stop_message.f . The output is something like this https://dpaste.org/PzXfd/raw and the project is |
2022-04-08 14:30:42 +0200 | <krappix> | https://github.com/camfort/fortran-src . My question is how I can change this output in XML if Haskell can do that ? |
2022-04-08 14:41:42 +0200 | jgeerds | (~jgeerds@d5364b87.access.ecotel.net) (Ping timeout: 272 seconds) |
2022-04-08 14:42:24 +0200 | fr33domlover | (~fr33@5.102.204.220) |
2022-04-08 14:42:50 +0200 | Guest89 | (~Guest89@2a01:41e1:4454:c00:c143:656:2260:f5bd) |
2022-04-08 14:50:33 +0200 | Pickchea | (~private@user/pickchea) (Ping timeout: 248 seconds) |
2022-04-08 14:56:27 +0200 | dextaa | (~dextaa@user/dextaa) (Remote host closed the connection) |
2022-04-08 14:56:27 +0200 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2022-04-08 15:00:40 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) (Ping timeout: 260 seconds) |
2022-04-08 15:02:05 +0200 | gentauro | (~gentauro@user/gentauro) |
2022-04-08 15:02:31 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) |
2022-04-08 15:03:11 +0200 | krappix | (~krappix@nat-eduroam-76-gw-01-lne.lille.inria.fr) (Quit: Client closed) |
2022-04-08 15:03:25 +0200 | Neuromancer | (~Neuromanc@user/neuromancer) (Ping timeout: 240 seconds) |
2022-04-08 15:03:52 +0200 | cosimone | (~user@93-47-228-79.ip115.fastwebnet.it) (Remote host closed the connection) |
2022-04-08 15:06:20 +0200 | krappix | (~krappix@nat-eduroam-76-gw-01-lne.lille.inria.fr) |
2022-04-08 15:07:15 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-04-08 15:07:41 +0200 | xkuru | (~xkuru@user/xkuru) |
2022-04-08 15:08:08 +0200 | jgeerds | (~jgeerds@d5364b87.access.ecotel.net) |
2022-04-08 15:08:46 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 15:09:35 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
2022-04-08 15:11:30 +0200 | liz | (~liz@host109-151-125-217.range109-151.btcentralplus.com) (Quit: Lost terminal) |
2022-04-08 15:12:36 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-04-08 15:13:47 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
2022-04-08 15:14:17 +0200 | frost | (~frost@user/frost) |
2022-04-08 15:15:39 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-04-08 15:17:11 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 256 seconds) |
2022-04-08 15:19:57 +0200 | ystael | (~ystael@user/ystael) |
2022-04-08 15:20:00 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds) |
2022-04-08 15:21:36 +0200 | jgeerds | (~jgeerds@d5364b87.access.ecotel.net) (Ping timeout: 272 seconds) |
2022-04-08 15:22:34 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 15:22:57 +0200 | dextaa | (~dextaa@user/dextaa) |
2022-04-08 15:23:09 +0200 | _________ | (~nobody@user/noodly) (Ping timeout: 268 seconds) |
2022-04-08 15:25:59 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2022-04-08 15:27:18 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 272 seconds) |
2022-04-08 15:27:18 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 272 seconds) |
2022-04-08 15:30:45 +0200 | goepsilongo | (~chacho@2603-7000-ab00-62ed-0000-0000-0000-0bd0.res6.spectrum.com) |
2022-04-08 15:31:44 +0200 | zebrag | (~chris@user/zebrag) |
2022-04-08 15:32:57 +0200 | deadmarshal_ | (~deadmarsh@95.38.116.104) (Ping timeout: 246 seconds) |
2022-04-08 15:34:28 +0200 | Guest|59 | (~Guest|59@wf0460.dip.tu-dresden.de) |
2022-04-08 15:36:58 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 15:38:41 +0200 | haskellberryfinn | (~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2022-04-08 15:41:21 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 246 seconds) |
2022-04-08 15:42:55 +0200 | cheater | (~Username@user/cheater) |
2022-04-08 15:46:21 +0200 | frost | (~frost@user/frost) (Quit: Client closed) |
2022-04-08 15:46:39 +0200 | Guest|59 | (~Guest|59@wf0460.dip.tu-dresden.de) (Quit: Connection closed) |
2022-04-08 15:47:07 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 15:48:19 +0200 | abastro | (~abab9579@220.75.216.63) |
2022-04-08 15:52:00 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 272 seconds) |
2022-04-08 15:53:50 +0200 | abastro | (~abab9579@220.75.216.63) (Remote host closed the connection) |
2022-04-08 15:55:25 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-04-08 15:55:59 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Quit: Leaving) |
2022-04-08 15:56:32 +0200 | biberu\ | (~biberu@user/biberu) |
2022-04-08 15:57:25 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) |
2022-04-08 15:57:35 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2022-04-08 15:59:24 +0200 | biberu | (~biberu@user/biberu) (Ping timeout: 240 seconds) |
2022-04-08 16:00:35 +0200 | biberu | (~biberu@user/biberu) |
2022-04-08 16:00:49 +0200 | biberu\ | (~biberu@user/biberu) (Ping timeout: 256 seconds) |
2022-04-08 16:01:23 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2022-04-08 16:01:38 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 16:02:06 +0200 | krappix | (~krappix@nat-eduroam-76-gw-01-lne.lille.inria.fr) (Quit: Client closed) |
2022-04-08 16:02:37 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) (Ping timeout: 268 seconds) |
2022-04-08 16:03:24 +0200 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) |
2022-04-08 16:05:02 +0200 | CiaoSen | (~Jura@p200300c9572d40002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-04-08 16:06:17 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 248 seconds) |
2022-04-08 16:06:49 +0200 | razetime | (~quassel@117.254.34.143) |
2022-04-08 16:09:08 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:10cd:909d:df46:ee8c) (Quit: WeeChat 2.8) |
2022-04-08 16:12:39 +0200 | motherfsck | (~motherfsc@user/motherfsck) |
2022-04-08 16:15:39 +0200 | MajorBiscuit | (~MajorBisc@wlan-145-94-161-127.wlan.tudelft.nl) |
2022-04-08 16:16:21 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-04-08 16:17:41 +0200 | Akiva | (~Akiva@user/Akiva) |
2022-04-08 16:21:07 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds) |
2022-04-08 16:21:57 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) (Quit: WeeChat 3.4.1) |
2022-04-08 16:22:01 +0200 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2022-04-08 16:23:40 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2022-04-08 16:23:51 +0200 | <lechner> | Hi, what are package registration files, please? https://cabal.readthedocs.io/en/3.4/setup-commands.html#cmdoption-runhaskell-Setup.hs-register-gen… |
2022-04-08 16:24:49 +0200 | <geekosaur> | they look a lot like cabal files. go look inside any package database to see what one looks like |
2022-04-08 16:27:02 +0200 | <geekosaur> | they contain all the information needed by the package database for a package. you normally manipulate them with `ghc-pkg` |
2022-04-08 16:27:45 +0200 | hololeap_ | hololeap |
2022-04-08 16:32:01 +0200 | razetime | (~quassel@117.254.34.143) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2022-04-08 16:32:47 +0200 | benin | (~benin@183.82.204.110) (Quit: The Lounge - https://thelounge.chat) |
2022-04-08 16:32:57 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 248 seconds) |
2022-04-08 16:35:01 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-04-08 16:36:19 +0200 | nun13 | (~nun@61.140.162.8) |
2022-04-08 16:37:09 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds) |
2022-04-08 16:37:37 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) |
2022-04-08 16:40:37 +0200 | mncheckm | (~mncheck@193.224.205.254) (Remote host closed the connection) |
2022-04-08 16:40:37 +0200 | mncheck | (~mncheck@193.224.205.254) (Remote host closed the connection) |
2022-04-08 16:40:51 +0200 | haskellberryfinn | (~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 246 seconds) |
2022-04-08 16:42:45 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
2022-04-08 16:43:10 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) |
2022-04-08 16:48:25 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
2022-04-08 16:48:44 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) |
2022-04-08 16:52:29 +0200 | zaquest | (~notzaques@5.130.79.72) (Remote host closed the connection) |
2022-04-08 16:53:44 +0200 | zaquest | (~notzaques@5.130.79.72) |
2022-04-08 16:55:34 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2022-04-08 16:56:53 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 268 seconds) |
2022-04-08 16:57:21 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-04-08 16:57:25 +0200 | deadmarshal_ | (~deadmarsh@95.38.116.104) |
2022-04-08 16:58:37 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
2022-04-08 17:02:18 +0200 | deadmarshal_ | (~deadmarsh@95.38.116.104) (Ping timeout: 272 seconds) |
2022-04-08 17:02:39 +0200 | Guest89 | (~Guest89@2a01:41e1:4454:c00:c143:656:2260:f5bd) (Quit: Client closed) |
2022-04-08 17:03:23 +0200 | lambdabot | (~lambdabot@haskell/bot/lambdabot) (Ping timeout: 260 seconds) |
2022-04-08 17:04:43 +0200 | jumper149 | (~jumper149@base.felixspringer.xyz) |
2022-04-08 17:04:53 +0200 | <jumper149> | Is the package search on Hackage broken for anyone else? |
2022-04-08 17:06:04 +0200 | <geekosaur> | worked for melast night. it just works differently now |
2022-04-08 17:06:33 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 256 seconds) |
2022-04-08 17:06:33 +0200 | <geekosaur> | it used to load the whole package database into your browser and search as you typed, now you have to hit return and the backend does the search |
2022-04-08 17:07:31 +0200 | <jumper149> | Ah, firefox works. |
2022-04-08 17:08:00 +0200 | <geekosaur> | I used chrome |
2022-04-08 17:08:19 +0200 | <jumper149> | I guess there is some problem with qutebrowser/QtWebEngine |
2022-04-08 17:09:07 +0200 | edro | edr |
2022-04-08 17:10:29 +0200 | cdman | (~dcm@user/dmc/x-4369397) (Quit: Leaving) |
2022-04-08 17:10:44 +0200 | <janus> | jumper149: i am the one who did these changes |
2022-04-08 17:10:57 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) |
2022-04-08 17:11:01 +0200 | <janus> | jumper149: probably it breaks in qutebrower because i used top-level await |
2022-04-08 17:11:35 +0200 | <janus> | jumper149: i could try and adapt it to working on older browsers, what kinda configuration are you exactly using? |
2022-04-08 17:11:37 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-04-08 17:11:48 +0200 | <jumper149> | janus: Should I open an issue for qutebrowser? |
2022-04-08 17:12:10 +0200 | Guest89 | (~Guest89@2a01:41e1:4454:c00:c143:656:2260:f5bd) |
2022-04-08 17:12:12 +0200 | napping | (~brandon@65.128.49.110) |
2022-04-08 17:12:25 +0200 | <jumper149> | janus: https://github.com/jumper149/dotfiles/tree/master/.config/qutebrowser |
2022-04-08 17:12:42 +0200 | <janus> | i think the qutebrowser people are already aware that they are lagging behind.. i was just not realizing how many people browse hackage with weird browsers |
2022-04-08 17:13:00 +0200 | <janus> | just had a user complain that it doesn't work on Elinks, so i am working on a patch such that it will |
2022-04-08 17:13:37 +0200 | <jumper149> | janus: Actually Hackage was one of my favorite sites to browse with qutebrowser :D |
2022-04-08 17:13:57 +0200 | <janus> | so essentially, i am planning to have a separate /packages/noscript-search endpoint, then that would be compatible with every single weird browser out there |
2022-04-08 17:14:09 +0200 | <jumper149> | Almost everything is(was?) simple HTML and also Haddock's HTML is very straightforward |
2022-04-08 17:14:24 +0200 | <geekosaur> | mm, /packages still works (if somewhat annoyingly) |
2022-04-08 17:14:40 +0200 | <geekosaur> | thyat is, the ancient interface, which *really* doesn't scale to hackage's current size |
2022-04-08 17:15:09 +0200 | <janus> | the /packages endpoint wasn't changed, i only worked on browse/search |
2022-04-08 17:15:51 +0200 | yauhsien | (~yauhsien@61-231-21-149.dynamic-ip.hinet.net) (Ping timeout: 246 seconds) |
2022-04-08 17:16:12 +0200 | <geekosaur> | right, I'm just pointing to it as an alternative that works now if people need it |
2022-04-08 17:16:37 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:9916:58c:9a05:3071) |
2022-04-08 17:16:52 +0200 | kaph_ | (~kaph@dynamic-adsl-78-12-162-98.clienti.tiscali.it) |
2022-04-08 17:16:56 +0200 | <napping> | hypertypes looks maybe nice for handling mutually recursive AST types. Any comments before I try it out? |
2022-04-08 17:17:19 +0200 | <janus> | jumper149: the issue with the old browse/search pages is that it was rendering the full list of 19k packages on the server, and then sending that to the client for pagination on the client |
2022-04-08 17:18:08 +0200 | <janus> | jumper149: for people with no javascript, it degraded decently, into a giant table. a server side rendered giant table is what i am to provide with /packages/noscript-search |
2022-04-08 17:18:15 +0200 | <geekosaur> | my poor little laptop was less than amused |
2022-04-08 17:18:24 +0200 | <jumper149> | janus: Ah yeah, I noticed that :D I guess that really did need the improvement |
2022-04-08 17:21:20 +0200 | <janus> | jumper149: so here is what i have been working on last night, as you can see it is just a plain multi-part form with no js: https://github.com/ysangkok/hackage-server/commit/5cd00fdcdfad53ac984d6f2237ae5255276f12f8?w=1#dif… |
2022-04-08 17:22:02 +0200 | <janus> | and it uses <select> to configure the sorting options, which works great in Elinks |
2022-04-08 17:22:07 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-04-08 17:23:25 +0200 | <jumper149> | janus: I'm not sure what is happening on elinks, but maybe I should clarify. |
2022-04-08 17:23:47 +0200 | <janus> | sure, i'd be happy to hear any suggestions |
2022-04-08 17:23:48 +0200 | <jumper149> | janus: On qutebrowser, when I do a search I don't get a single hit. |
2022-04-08 17:24:38 +0200 | <janus> | right, and it is probably because the javascript i have written is a bit too new. Mikolaj (ManOfLetters) had a problem like this |
2022-04-08 17:25:14 +0200 | <jumper149> | Oh, I was just making sure, that got across ^^ |
2022-04-08 17:25:34 +0200 | <janus> | so i realize you don't fall into the 'noscript' bucket, i am just trying to explain how i will make sure nobody gets left behind at all. because we had a bug report from a blind user that uses Elinks |
2022-04-08 17:27:18 +0200 | <janus> | it would probably be worthwhile to avoid top-level await too, if that is the only feature that is too new. it only has 84% penetration: https://caniuse.com/?search=top%20level%20await |
2022-04-08 17:27:35 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-04-08 17:27:41 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:c02d:dd64:a284:8819) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-04-08 17:27:53 +0200 | <jumper149> | I can confirm, that the "Advanced Options" also don't currently work on qutebrowser. |
2022-04-08 17:28:38 +0200 | <jumper149> | But I guess the change you mentioned takes care of that. |
2022-04-08 17:29:26 +0200 | <janus> | i think what is happening is that qutebrowser rejects all of browse.js once it sees the top-level await, which is a new syntactical construct |
2022-04-08 17:30:01 +0200 | jmct_ | (sid160793@id-160793.tinside.irccloud.com) () |
2022-04-08 17:30:20 +0200 | jmct | (sid160793@id-160793.tinside.irccloud.com) |
2022-04-08 17:32:13 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:c02d:dd64:a284:8819) |
2022-04-08 17:35:56 +0200 | razetime | (~quassel@117.207.16.47) |
2022-04-08 17:39:01 +0200 | lambdabot | (~lambdabot@silicon.int-e.eu) |
2022-04-08 17:39:01 +0200 | lambdabot | (~lambdabot@silicon.int-e.eu) (Changing host) |
2022-04-08 17:39:01 +0200 | lambdabot | (~lambdabot@haskell/bot/lambdabot) |
2022-04-08 17:40:30 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:9916:58c:9a05:3071) (Quit: WeeChat 2.8) |
2022-04-08 17:41:08 +0200 | _________ | (~nobody@user/noodly) |
2022-04-08 17:45:36 +0200 | jumper149 | (~jumper149@base.felixspringer.xyz) (Ping timeout: 268 seconds) |
2022-04-08 17:46:22 +0200 | jumper149 | (~jumper149@base.felixspringer.xyz) |
2022-04-08 17:48:49 +0200 | jinsun | (~jinsun@user/jinsun) (Read error: Connection reset by peer) |
2022-04-08 17:50:08 +0200 | foul_owl | (~kerry@23.82.193.88) (Ping timeout: 260 seconds) |
2022-04-08 17:50:49 +0200 | _ht | (~quassel@231-169-21-31.ftth.glasoperator.nl) |
2022-04-08 17:51:19 +0200 | jinsun | (~jinsun@user/jinsun) |
2022-04-08 17:52:47 +0200 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-04-08 17:53:30 +0200 | jumper149 | (~jumper149@base.felixspringer.xyz) (Quit: WeeChat 3.3) |
2022-04-08 17:57:27 +0200 | Guest5 | (~Guest5@ppp079166066114.access.hol.gr) |
2022-04-08 17:57:29 +0200 | jumper149 | (~jumper149@base.felixspringer.xyz) |
2022-04-08 17:57:39 +0200 | <shapr> | Anyone know enough about hpc to know if I can call it from any old Haskell program and use the results to possibly call it again? |
2022-04-08 17:57:58 +0200 | <shapr> | I want to try hooking code coverage into QuickCheck / Hedgehog |
2022-04-08 17:58:35 +0200 | Guest89 | (~Guest89@2a01:41e1:4454:c00:c143:656:2260:f5bd) (Quit: Client closed) |
2022-04-08 17:59:10 +0200 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) (Remote host closed the connection) |
2022-04-08 18:00:59 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2022-04-08 18:02:29 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 18:03:35 +0200 | CiaoSen | (~Jura@p200300c9572d40002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2022-04-08 18:04:40 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:908b:fdde:9e41:1717) |
2022-04-08 18:04:46 +0200 | <dsal> | Like coverage-oriented fuzzing? That'd be my dream. :) |
2022-04-08 18:05:50 +0200 | foul_owl | (~kerry@23.82.193.88) |
2022-04-08 18:05:57 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.4.1) |
2022-04-08 18:07:12 +0200 | <shapr> | dsal: yes, last night I was reading https://danluu.com/testing/ and thought it'd be fun to try qc+coverage |
2022-04-08 18:07:36 +0200 | <shapr> | I'll move this to #haskell-in-depth |
2022-04-08 18:09:43 +0200 | odnes | (~odnes@5-203-246-201.pat.nym.cosmote.net) (Quit: Leaving) |
2022-04-08 18:11:20 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 272 seconds) |
2022-04-08 18:14:35 +0200 | alp_ | (~alp@user/alp) (Ping timeout: 268 seconds) |
2022-04-08 18:16:14 +0200 | Guest5 | (~Guest5@ppp079166066114.access.hol.gr) (Quit: Client closed) |
2022-04-08 18:17:04 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 18:18:25 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) |
2022-04-08 18:21:55 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds) |
2022-04-08 18:21:59 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 268 seconds) |
2022-04-08 18:22:15 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds) |
2022-04-08 18:24:07 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2022-04-08 18:24:59 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2022-04-08 18:25:44 +0200 | alp_ | (~alp@user/alp) |
2022-04-08 18:29:17 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
2022-04-08 18:30:44 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-04-08 18:31:23 +0200 | rembo10 | (~rembo10@main.remulis.com) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-04-08 18:32:17 +0200 | rembo10 | (~rembo10@main.remulis.com) |
2022-04-08 18:32:46 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:c02d:dd64:a284:8819) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-04-08 18:33:15 +0200 | fef | (~thedawn@user/thedawn) (Ping timeout: 240 seconds) |
2022-04-08 18:33:27 +0200 | ehammarstrom | (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 260 seconds) |
2022-04-08 18:36:55 +0200 | cfricke | (~cfricke@user/cfricke) |
2022-04-08 18:39:53 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) |
2022-04-08 18:39:53 +0200 | uncomfy | (~uncomfy@27.110.174.130) (Remote host closed the connection) |
2022-04-08 18:43:50 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:908b:fdde:9e41:1717) (Quit: WeeChat 2.8) |
2022-04-08 18:44:11 +0200 | MajorBiscuit | (~MajorBisc@wlan-145-94-161-127.wlan.tudelft.nl) (Ping timeout: 268 seconds) |
2022-04-08 18:46:01 +0200 | fef | (~thedawn@user/thedawn) |
2022-04-08 18:47:28 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) (Read error: Connection reset by peer) |
2022-04-08 18:48:00 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) |
2022-04-08 18:49:03 +0200 | merijn | (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds) |
2022-04-08 18:58:59 +0200 | theproffesor | (~theprofff@user/theproffesor) (Ping timeout: 268 seconds) |
2022-04-08 19:01:55 +0200 | fef | (~thedawn@user/thedawn) (Ping timeout: 240 seconds) |
2022-04-08 19:04:43 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-04-08 19:09:14 +0200 | econo | (uid147250@user/econo) |
2022-04-08 19:12:33 +0200 | raym | (~raym@user/raym) (Ping timeout: 268 seconds) |
2022-04-08 19:14:00 +0200 | razetime | (~quassel@117.207.16.47) (Remote host closed the connection) |
2022-04-08 19:14:11 +0200 | sander | (~sander@user/sander) (Quit: So long! :)) |
2022-04-08 19:14:28 +0200 | mbuf | (~Shakthi@122.164.195.88) (Quit: Leaving) |
2022-04-08 19:14:40 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2022-04-08 19:14:48 +0200 | fef | (~thedawn@user/thedawn) |
2022-04-08 19:15:49 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2022-04-08 19:16:07 +0200 | sander | (~sander@user/sander) |
2022-04-08 19:16:07 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-04-08 19:18:45 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-04-08 19:19:40 +0200 | zeenk | (~zeenk@2a02:2f04:a313:d600:8d26:ec9f:3ff6:fc94) (Quit: Konversation terminated!) |
2022-04-08 19:20:56 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.4.1) |
2022-04-08 19:22:37 +0200 | Inst | (~Liam@c-98-208-218-119.hsd1.fl.comcast.net) |
2022-04-08 19:24:51 +0200 | sander | (~sander@user/sander) (Quit: So long! :)) |
2022-04-08 19:28:19 +0200 | sander | (~sander@user/sander) |
2022-04-08 19:40:42 +0200 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) |
2022-04-08 19:56:30 +0200 | chddr1 | (~Thunderbi@91.226.34.187) |
2022-04-08 19:57:30 +0200 | raym | (~raym@user/raym) |
2022-04-08 19:58:24 +0200 | <Inst> | i finally made my first haskell program that does anything! |
2022-04-08 19:58:28 +0200 | chddr | (~Thunderbi@91.226.35.164) (Ping timeout: 260 seconds) |
2022-04-08 19:58:28 +0200 | chddr1 | chddr |
2022-04-08 19:58:37 +0200 | <Inst> | converts a lined wordlist to a 6^6 diceware |
2022-04-08 20:00:14 +0200 | <Franciman> | i'm trying to outperform haskell, instead |
2022-04-08 20:00:17 +0200 | <Franciman> | it's a breeze to do |
2022-04-08 20:01:39 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-04-08 20:01:45 +0200 | vpan | (~0@212.117.1.172) (Quit: Leaving.) |
2022-04-08 20:06:38 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2022-04-08 20:09:19 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 20:10:04 +0200 | [_] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-04-08 20:10:07 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2022-04-08 20:11:05 +0200 | [_] | [itchyjunk] |
2022-04-08 20:11:35 +0200 | fef | (~thedawn@user/thedawn) (Ping timeout: 240 seconds) |
2022-04-08 20:12:15 +0200 | redb | (~nmh@136.49.49.211) (Ping timeout: 246 seconds) |
2022-04-08 20:12:37 +0200 | ub | (~Thunderbi@p200300ecdf1588f2984ffad2347eabc0.dip0.t-ipconnect.de) |
2022-04-08 20:12:41 +0200 | fef | (~thedawn@user/thedawn) |
2022-04-08 20:13:12 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-04-08 20:13:40 +0200 | <maerwald> | what |
2022-04-08 20:14:24 +0200 | <monochrom> | I think the idea is that it is trivial to get better performance by hating laziness. |
2022-04-08 20:14:32 +0200 | <Inst> | haskell isn't high performance |
2022-04-08 20:14:37 +0200 | <Inst> | it's high correctness and high productivity |
2022-04-08 20:14:47 +0200 | <maerwald> | monochrom: hate? |
2022-04-08 20:14:59 +0200 | <maerwald> | ah, you mean *negative production experience* |
2022-04-08 20:15:04 +0200 | <maerwald> | :P |
2022-04-08 20:15:10 +0200 | <monochrom> | discriminating against. refusing to support. or support but second class. etc. |
2022-04-08 20:15:25 +0200 | <maerwald> | well, Idris and Mu work fine with strictness |
2022-04-08 20:15:44 +0200 | <Inst> | btw, maerwald, any thoughts on selling Haskell to middle management? |
2022-04-08 20:15:54 +0200 | <maerwald> | Inst: I never sell haskell to anyone |
2022-04-08 20:16:02 +0200 | <maerwald> | because you need to be all in |
2022-04-08 20:16:03 +0200 | <Inst> | Mu is the best example since Barclays or Standard Chartered (can't remember which) trained all their traders in Haskell |
2022-04-08 20:16:09 +0200 | <maerwald> | they either are already or they are not |
2022-04-08 20:16:22 +0200 | <Inst> | "Control your IT: Haskell for Management" in the business section of a bookstore |
2022-04-08 20:16:51 +0200 | <maerwald> | yes, Standard Charterted talked to GHC devs before they came up with their own compiler |
2022-04-08 20:16:52 +0200 | <monochrom> | Do you know of a way to implement immutable FIFO queue with O(1)-time operations without laziness? |
2022-04-08 20:17:03 +0200 | <Inst> | iirc mu is strict by default |
2022-04-08 20:17:06 +0200 | <maerwald> | it appears there wasn't enough overlap |
2022-04-08 20:17:23 +0200 | <maerwald> | and GHC wasn't able to deliver their needs |
2022-04-08 20:17:53 +0200 | <maerwald> | Inst: https://www.youtube.com/watch?v=A70SN7vFsKU |
2022-04-08 20:17:54 +0200 | <monochrom> | I may jump ship and start to prefer eagerness (in the context of purity) if I know how to do that. |
2022-04-08 20:18:15 +0200 | <Inst> | laziness is just an awesome language feature |
2022-04-08 20:18:20 +0200 | <Inst> | it's not just very practical |
2022-04-08 20:18:45 +0200 | <maerwald> | Inst: some people argue laziness is more interesting for compiler optimization than it is for end-users |
2022-04-08 20:18:46 +0200 | <Inst> | Xie Ningning is cute |
2022-04-08 20:19:11 +0200 | <maerwald> | as a reasoning platform, I agree that laziness can be quite awful beyond simplistic teaching snippets |
2022-04-08 20:19:30 +0200 | <maerwald> | but the topic is somewhat complicated as a whole |
2022-04-08 20:20:06 +0200 | <Franciman> | next time somebody shows me how to have an elegant fix in strict languages |
2022-04-08 20:20:07 +0200 | <maerwald> | I'm not sure eagerness by default is a better choice for a *general purpose* language. But for certain use cases, it very much is. |
2022-04-08 20:20:14 +0200 | <Franciman> | i may start to prefer eagerness |
2022-04-08 20:20:48 +0200 | <Inst> | i'm more wondering if if you roll an educational prelude, whether you'd set up strict |
2022-04-08 20:20:55 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 256 seconds) |
2022-04-08 20:21:10 +0200 | <maerwald> | Inst: laziness issues usually happen in complex code, not in small examples |
2022-04-08 20:21:25 +0200 | <Inst> | laziness issues: exploitation of laziness? |
2022-04-08 20:21:35 +0200 | <maerwald> | you don't have complex code when you teach Haskell |
2022-04-08 20:21:36 +0200 | <Franciman> | i mean, fix f = let x = f x in x |
2022-04-08 20:21:45 +0200 | <Inst> | i mean, i get the feeling it'd be better, if you had an educational prelude, to set strict by default, then drop it once you start teaching laziness |
2022-04-08 20:22:14 +0200 | <Inst> | you're saying laziness wouldn't provide an issue |
2022-04-08 20:22:16 +0200 | <Franciman> | i dare you to do better in an eager language |
2022-04-08 20:22:32 +0200 | <maerwald> | laziness is probably much better for teaching... as a high-level concept it's quite cool. It breaks down once you have complex programs and you need to reason about the *exact* behavior (the allocations) |
2022-04-08 20:23:32 +0200 | <Franciman> | as a whole, i probably like optimal evaluation more. I mean, the whole concept of laziness is sparing the useless computations right? |
2022-04-08 20:23:38 +0200 | <Franciman> | well optimal evaluation does it better |
2022-04-08 20:23:38 +0200 | <maerwald> | naive debugging won't help you much there |
2022-04-08 20:23:46 +0200 | <Franciman> | but, optimal evaluation is DAYUMN HARD |
2022-04-08 20:24:03 +0200 | <monochrom> | All of "laziness is easier for beginners", "eagerness is easier for beginners", "no no no, call-by-name is easier for beginners" are prejudiced. |
2022-04-08 20:24:28 +0200 | <maerwald> | but hey, we're complaining on a high-level here. We want haskell to do everything: abstract nonsense and performant complex applications. Shows how much Haskell has spoiled us ;) |
2022-04-08 20:24:47 +0200 | <Franciman> | i wonder if you can have monochrom's favourite task in optimal evaluation |
2022-04-08 20:24:53 +0200 | <Franciman> | O(1)-time operations on a fifo queue |
2022-04-08 20:25:13 +0200 | <dolio> | Doesn't optimal save strictly more work than lazy? |
2022-04-08 20:25:21 +0200 | <monochrom> | An absolute beginner (one without any previous programming exposure) is equally likely to prefer any of the three. |
2022-04-08 20:25:36 +0200 | <Franciman> | dolio: would the same implementation work, hence? |
2022-04-08 20:25:51 +0200 | <dolio> | Presumably. |
2022-04-08 20:25:53 +0200 | <Franciman> | it may trigger different computations |
2022-04-08 20:25:53 +0200 | <monochrom> | And a Haskell beginner who is not a programming beginner is necessarily prejudiced towards whatever the previous language does. |
2022-04-08 20:26:04 +0200 | <Franciman> | yeah |
2022-04-08 20:26:11 +0200 | <Franciman> | it should work |
2022-04-08 20:26:17 +0200 | <Franciman> | maybe it becomes O(0) |
2022-04-08 20:26:19 +0200 | <Franciman> | XD |
2022-04-08 20:26:25 +0200 | <dolio> | If it doesn't avoid unnecessary work, then it's not saving strictly more work. |
2022-04-08 20:26:37 +0200 | <Franciman> | because we don't have an optimal evaluation implementation |
2022-04-08 20:26:42 +0200 | <Franciman> | so it's impossible to implement it |
2022-04-08 20:26:43 +0200 | <dolio> | Or, unnecessary under lazy evaluation. |
2022-04-08 20:26:58 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 20:27:11 +0200 | <Franciman> | wait we have HVM. |
2022-04-08 20:27:32 +0200 | <monochrom> | How do I do optimal evaluation? |
2022-04-08 20:27:54 +0200 | <Franciman> | there is a book by asperti on the subject |
2022-04-08 20:28:04 +0200 | <monochrom> | Yikes. OK. |
2022-04-08 20:28:07 +0200 | <Franciman> | and it hints that optimal evaluation is linked to linear logic |
2022-04-08 20:29:25 +0200 | <Franciman> | http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.465.2149&rep=rep1&type=pdf |
2022-04-08 20:29:41 +0200 | <monochrom> | Thanks. |
2022-04-08 20:29:52 +0200 | <dolio> | It's not terribly clear that there are non-gimmick examples where it's actually meaningfully better. |
2022-04-08 20:29:56 +0200 | <Franciman> | this is an implementation |
2022-04-08 20:30:07 +0200 | <Franciman> | i can't find the book hmm |
2022-04-08 20:30:34 +0200 | <monochrom> | I probably won't be reading the book either. |
2022-04-08 20:30:49 +0200 | <Franciman> | monochrom: https://www.cambridge.org/catalogue/catalogue.asp?isbn=9780521621120 |
2022-04-08 20:31:38 +0200 | <Franciman> | ah ok |
2022-04-08 20:31:55 +0200 | <monochrom> | Oh, CUP books are very affordable though. |
2022-04-08 20:31:56 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 272 seconds) |
2022-04-08 20:32:00 +0200 | <Franciman> | supercombinators |
2022-04-08 20:32:34 +0200 | coot | (~coot@213.134.190.95) |
2022-04-08 20:32:48 +0200 | <Franciman> | as dolio says, it's a controversial subject |
2022-04-08 20:33:42 +0200 | <dolio> | Like, it's good if you want to lambda-encode every data type. However, that's just fixing something you decided to do for philosophical reasons or something. |
2022-04-08 20:34:23 +0200 | <dolio> | In a considerably more complicated way. |
2022-04-08 20:34:45 +0200 | <Franciman> | it would be good for system f to be practically used |
2022-04-08 20:34:47 +0200 | <Franciman> | yes |
2022-04-08 20:35:54 +0200 | <napping> | strictness collapses in a total language. Not sure Idris is good for beginners, but perhaps? |
2022-04-08 20:36:10 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:c02d:dd64:a284:8819) |
2022-04-08 20:37:36 +0200 | <Franciman> | dolio: would proof search benefit from it tho? |
2022-04-08 20:37:46 +0200 | <monochrom> | Wait, what does "strictness collapses" mean? |
2022-04-08 20:37:48 +0200 | <Franciman> | i don't think so. So it's not relevant for Theorem Provers either |
2022-04-08 20:38:08 +0200 | <napping> | I mean you can't observe different results between strict and lazy evaluation in a total language |
2022-04-08 20:38:12 +0200 | <dolio> | I don't see the connection. |
2022-04-08 20:38:25 +0200 | ub | (~Thunderbi@p200300ecdf1588f2984ffad2347eabc0.dip0.t-ipconnect.de) (Quit: ub) |
2022-04-08 20:38:33 +0200 | <monochrom> | Ah right, but people start to observe time and space consumptions... |
2022-04-08 20:38:47 +0200 | ub | (~Thunderbi@p200300ecdf1588f2984ffad2347eabc0.dip0.t-ipconnect.de) |
2022-04-08 20:39:12 +0200 | <Franciman> | the nice thing about laziness is that it allows you to decide wether to mention or to use a term |
2022-04-08 20:39:13 +0200 | <dolio> | Right, that's exactly why it's simplistic to say that 'data' should be eager and 'codata' is for lazy stuff. |
2022-04-08 20:39:35 +0200 | <Franciman> | so you can mention infinitely looping things |
2022-04-08 20:39:42 +0200 | <Franciman> | and evaluate just a bit of them |
2022-04-08 20:39:56 +0200 | <napping> | If you postulate beginning programs wouldn't have a preference, your beginners are writing small enough programs to not care about such operational concerns |
2022-04-08 20:39:58 +0200 | <Franciman> | that's intriguing... Composing infinitely looping things, in a way that actually won't loop forever |
2022-04-08 20:40:36 +0200 | <Franciman> | o1lo0lol1o[m]: why is it a simplistic view? |
2022-04-08 20:40:38 +0200 | <Franciman> | ops |
2022-04-08 20:40:39 +0200 | <monochrom> | OK yeah. I don't think Idris is difficult for beginners. |
2022-04-08 20:40:40 +0200 | <Franciman> | sorry |
2022-04-08 20:40:42 +0200 | <Franciman> | dolio: ^ |
2022-04-08 20:41:17 +0200 | <dolio> | Because just because something is finite doesn't mean it's best for it to be barfed into memory in its entirety immediately. |
2022-04-08 20:41:35 +0200 | <o1lo0lol1o[m]> | Franciman: Pff, who you calling simplistic! |
2022-04-08 20:41:42 +0200 | <monochrom> | haha |
2022-04-08 20:41:45 +0200 | <Franciman> | :) |
2022-04-08 20:41:49 +0200 | redb | (~nmh@136.49.49.211) |
2022-04-08 20:42:17 +0200 | <napping> | yes, 2^2^2^2^2^2^2^2 is trivially total, but you shouldn't eagerly evaluate it |
2022-04-08 20:42:18 +0200 | theproffesor | (~theprofff@user/theproffesor) |
2022-04-08 20:42:28 +0200 | <Franciman> | dolio: but categorical semantics are cleaner that way |
2022-04-08 20:42:41 +0200 | <Franciman> | i mean that's where the simpistic view is coming from |
2022-04-08 20:43:03 +0200 | fr33domlover | (~fr33@5.102.204.220) (Ping timeout: 246 seconds) |
2022-04-08 20:43:20 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-04-08 20:43:35 +0200 | <Franciman> | well. I'll be leaving for the night |
2022-04-08 20:43:39 +0200 | <Franciman> | have a nice lazy time! |
2022-04-08 20:44:54 +0200 | <dolio> | No, it comes from people conflating data in total languages with superficially similar definitions in eager partial languages, and similarly with codata. |
2022-04-08 20:45:00 +0200 | <napping> | and sometimes a useful trick in total programming - "no, don't evaluate *forever*, just check if it returns a result before 2^2^2^2^2^2^2^2 steps" |
2022-04-08 20:45:40 +0200 | ub | (~Thunderbi@p200300ecdf1588f2984ffad2347eabc0.dip0.t-ipconnect.de) (Quit: ub) |
2022-04-08 20:46:12 +0200 | redb | (~nmh@136.49.49.211) (Ping timeout: 246 seconds) |
2022-04-08 20:46:50 +0200 | geranim0 | (~geranim0@modemcable242.171-178-173.mc.videotron.ca) |
2022-04-08 20:46:50 +0200 | bob | (~geranim0@modemcable242.171-178-173.mc.videotron.ca) |
2022-04-08 20:47:06 +0200 | bob | (~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Read error: Connection reset by peer) |
2022-04-08 20:47:36 +0200 | <monochrom> | "Example 3: Suppose to represent an array as a function, considering the index as an argument. The following code contains a mergesort algorithm for this representation of arrays." :( |
2022-04-08 20:48:17 +0200 | <monochrom> | (It's from the technical report on optimal evaluation, "The Bologna Optimal Higher-order Machine". |
2022-04-08 20:49:07 +0200 | <monochrom> | So yeah gimmick example that presupposes a very stubborn philosophy... |
2022-04-08 20:49:23 +0200 | <dolio> | Yeah. |
2022-04-08 20:49:58 +0200 | redb | (~nmh@136.49.49.211) |
2022-04-08 20:54:55 +0200 | redb | (~nmh@136.49.49.211) (Ping timeout: 268 seconds) |
2022-04-08 20:56:05 +0200 | <dolio> | That's a common thing to fixate on. Minimizataion of the number of building blocks to the exclusion of all else. |
2022-04-08 21:00:01 +0200 | <dolio> | Like the complaints people with a Python philosophy make here, where there are two (or more) ways to write something, and you need to choose which is nicest in each case. |
2022-04-08 21:00:21 +0200 | <monochrom> | Even Turing recognized "no no of course you'd better build special hardware adders instead of a Turing adder machine"... |
2022-04-08 21:06:53 +0200 | <monochrom> | "Tartaglia’s triangle (also and improperly known as Pascal’s triangle)." Haha, sounds like the Italians are reminding us "this was an Italian achievement, not a French achievement!" |
2022-04-08 21:07:47 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 21:08:10 +0200 | <monochrom> | But more seriously, "We just remark the use of the function “eval” to “force” the explicit evaluation of each row. This is needed in order to share this computation at later steps." You know what, I heard of a dual issue or two in lazy evaluation... |
2022-04-08 21:11:09 +0200 | redb | (~nmh@136.49.49.211) |
2022-04-08 21:12:12 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 240 seconds) |
2022-04-08 21:12:15 +0200 | epolanski | (uid312403@id-312403.helmsley.irccloud.com) |
2022-04-08 21:12:29 +0200 | Henson | (~kvirc@107-179-133-201.cpe.teksavvy.com) |
2022-04-08 21:12:56 +0200 | <monochrom> | The overall thesis being that, for each evaluation order, there is a use case, even in toy examples, that requires hand annotation to nudge the computer away from dumb work. None is fully automatic. |
2022-04-08 21:15:15 +0200 | redb | (~nmh@136.49.49.211) (Ping timeout: 246 seconds) |
2022-04-08 21:17:25 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 21:18:05 +0200 | <dolio> | Yeah, my "production experience" is that you don't get something good from not thinking about the problem, regardless of default evaluation order. |
2022-04-08 21:23:17 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 268 seconds) |
2022-04-08 21:27:58 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 21:31:46 +0200 | redb | (~nmh@136.49.49.211) |
2022-04-08 21:32:03 +0200 | nun13 | (~nun@61.140.162.8) (Ping timeout: 246 seconds) |
2022-04-08 21:32:41 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 248 seconds) |
2022-04-08 21:41:55 +0200 | fef | (~thedawn@user/thedawn) (Ping timeout: 240 seconds) |
2022-04-08 21:42:17 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 21:42:53 +0200 | vicfred | (~vicfred@user/vicfred) |
2022-04-08 21:43:26 +0200 | vicfred | (~vicfred@user/vicfred) (Remote host closed the connection) |
2022-04-08 21:44:26 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-04-08 21:45:01 +0200 | vicfred | (~vicfred@user/vicfred) |
2022-04-08 21:47:20 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 268 seconds) |
2022-04-08 21:47:56 +0200 | Unicorn_Princess | (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Ping timeout: 272 seconds) |
2022-04-08 21:48:43 +0200 | phma_ | (~phma@2001:5b0:210d:6f38:47d2:1a57:a8ac:4c26) |
2022-04-08 21:48:45 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
2022-04-08 21:50:03 +0200 | phma | (~phma@2001:5b0:210d:afb8:c88d:676:78f3:7b6d) (Read error: Connection reset by peer) |
2022-04-08 21:50:44 +0200 | Topsi1 | (~Tobias@dyndsl-095-033-091-154.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
2022-04-08 21:52:29 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 21:52:43 +0200 | Unicorn_Princess | (~Unicorn_P@93-103-228-248.dynamic.t-2.net) |
2022-04-08 21:52:53 +0200 | redb | (~nmh@136.49.49.211) (Ping timeout: 268 seconds) |
2022-04-08 21:55:53 +0200 | Henson | (~kvirc@107-179-133-201.cpe.teksavvy.com) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/) |
2022-04-08 21:55:53 +0200 | <maerwald> | dolio: lazy evaulation is harder to reason about in complex cases |
2022-04-08 21:56:13 +0200 | <maerwald> | I don't know many who disagree with that |
2022-04-08 21:56:54 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 246 seconds) |
2022-04-08 21:57:35 +0200 | rekahsoft | (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) |
2022-04-08 21:58:04 +0200 | <maerwald> | https://docs.idris-lang.org/en/v0.9.18.1/faq/faq.html#why-does-idris-use-eager-evaluation-rather-t… |
2022-04-08 22:00:08 +0200 | acidjnk | (~acidjnk@p200300d0c7049f91e010d86dcc64fbcb.dip0.t-ipconnect.de) |
2022-04-08 22:02:21 +0200 | rekahsoft | (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) (Remote host closed the connection) |
2022-04-08 22:02:43 +0200 | rekahsoft | (~rekahsoft@cpe001b21a2fd89-cm64777ddc63a0.cpe.net.cable.rogers.com) |
2022-04-08 22:03:06 +0200 | _ht | (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection) |
2022-04-08 22:05:38 +0200 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection) |
2022-04-08 22:06:13 +0200 | chddr | (~Thunderbi@91.226.34.187) (Ping timeout: 240 seconds) |
2022-04-08 22:06:32 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 22:09:27 +0200 | redb | (~nmh@136.49.49.211) |
2022-04-08 22:10:54 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 246 seconds) |
2022-04-08 22:13:21 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 246 seconds) |
2022-04-08 22:13:42 +0200 | redb | (~nmh@136.49.49.211) (Ping timeout: 246 seconds) |
2022-04-08 22:15:20 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-04-08 22:15:21 +0200 | slack1256 | (~slack1256@191.125.227.86) |
2022-04-08 22:17:05 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 22:18:41 +0200 | <slack1256> | Is there a haskell-cafe like for stack and stack lts? |
2022-04-08 22:19:59 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2022-04-08 22:21:12 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds) |
2022-04-08 22:21:37 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 256 seconds) |
2022-04-08 22:22:44 +0200 | Lord_of_Life_ | Lord_of_Life |
2022-04-08 22:25:14 +0200 | dextaa7 | (~dextaa@user/dextaa) |
2022-04-08 22:25:22 +0200 | redb | (~nmh@136.49.49.211) |
2022-04-08 22:28:41 +0200 | dextaa | (~dextaa@user/dextaa) (Ping timeout: 248 seconds) |
2022-04-08 22:28:41 +0200 | dextaa7 | dextaa |
2022-04-08 22:29:45 +0200 | redb | (~nmh@136.49.49.211) (Ping timeout: 248 seconds) |
2022-04-08 22:31:08 +0200 | redb | (~nmh@136.49.49.211) |
2022-04-08 22:32:02 +0200 | gabriel_sevecek | (~gabriel@188-167-229-200.dynamic.chello.sk) (Quit: WeeChat 3.5) |
2022-04-08 22:33:03 +0200 | Guest27 | (~Guest27@2601:281:d47f:1590::a504) |
2022-04-08 22:34:27 +0200 | <Guest27> | Trying to get `cabal v2-install` to dynamically link. `cabal v2-build` does it successfully but passing `--enable-executable-dynamic` to `install` still results in a static executable being built and symlinked |
2022-04-08 22:35:21 +0200 | <sclv> | known bug with install iirc |
2022-04-08 22:35:37 +0200 | redb | (~nmh@136.49.49.211) (Ping timeout: 248 seconds) |
2022-04-08 22:35:41 +0200 | <sclv> | treats those flags as not applying properly |
2022-04-08 22:36:34 +0200 | <Guest27> | Is there another way to get them to apply? Having a `<pkg>.cabal` and `cabal.project` file in the root directory seems to break cabal |
2022-04-08 22:37:04 +0200 | <sclv> | just use build and symlink by hand? |
2022-04-08 22:37:24 +0200 | <Guest27> | Yee I'll just do that |
2022-04-08 22:37:30 +0200 | gabriel_sevecek | (~gabriel@188-167-229-200.dynamic.chello.sk) |
2022-04-08 22:38:33 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 246 seconds) |
2022-04-08 22:39:04 +0200 | <jumper149> | In the base Haddock it says, that `Word` has the same size as `Int`. So I guess they should be coercible? How can I cast one to the other? |
2022-04-08 22:40:01 +0200 | ubert | (~Thunderbi@p200300ecdf1588f2bfd6f68985df9e03.dip0.t-ipconnect.de) (Remote host closed the connection) |
2022-04-08 22:40:14 +0200 | michalz | (~michalz@185.246.204.122) (Remote host closed the connection) |
2022-04-08 22:40:17 +0200 | <geekosaur> | :t fromIntegral |
2022-04-08 22:40:18 +0200 | <lambdabot> | (Integral a, Num b) => a -> b |
2022-04-08 22:40:40 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-04-08 22:42:22 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 22:42:52 +0200 | <jumper149> | geekosaur: That does work :) Do you know why this works, but `toEnum` doesn't? |
2022-04-08 22:44:17 +0200 | [_] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-04-08 22:44:53 +0200 | <geekosaur> | not offhand |
2022-04-08 22:44:56 +0200 | <Guest27> | :t toEnum |
2022-04-08 22:44:57 +0200 | <lambdabot> | Enum a => Int -> a |
2022-04-08 22:45:09 +0200 | <geekosaur> | toEnum does have restrictions though |
2022-04-08 22:45:35 +0200 | <geekosaur> | you'd use fromEnum to go the other way |
2022-04-08 22:45:57 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2022-04-08 22:46:57 +0200 | <geekosaur> | or did you mean something other than a type error for "doesn't"? |
2022-04-08 22:47:13 +0200 | deadmarshal_ | (~deadmarsh@95.38.116.104) |
2022-04-08 22:49:20 +0200 | redb | (~nmh@136.49.49.211) |
2022-04-08 22:51:39 +0200 | deadmarshal_ | (~deadmarsh@95.38.116.104) (Ping timeout: 256 seconds) |
2022-04-08 22:51:56 +0200 | <geekosaur> | (also note that de facto Int is one bit shorter than Word) |
2022-04-08 22:51:56 +0200 | <geekosaur> | > 2^63 :: Int |
2022-04-08 22:51:56 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2022-04-08 22:51:58 +0200 | <lambdabot> | -9223372036854775808 |
2022-04-08 22:53:35 +0200 | <int-e> | > Seq.length $ iterate (\a -> a <> a) (Seq.singleton ()) !! 63 |
2022-04-08 22:53:37 +0200 | <lambdabot> | -9223372036854775808 |
2022-04-08 22:53:41 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2022-04-08 22:53:45 +0200 | <monochrom> | toEnum probably has bound checks that fromIntegral doesn't. |
2022-04-08 22:54:01 +0200 | <monochrom> | To a large extent Enum requires bound checks. |
2022-04-08 22:54:34 +0200 | <monochrom> | Also note that "same size" means same number of bits, therefore ironically not range-safe. |
2022-04-08 22:55:45 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Excess Flood) |
2022-04-08 22:55:47 +0200 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2022-04-08 22:55:50 +0200 | allbery_b | geekosaur |
2022-04-08 22:57:39 +0200 | phma_ | phma |
2022-04-08 23:00:09 +0200 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 256 seconds) |
2022-04-08 23:01:06 +0200 | dextaa | (~dextaa@user/dextaa) (Read error: Connection reset by peer) |
2022-04-08 23:03:14 +0200 | dextaa | (~dextaa@user/dextaa) |
2022-04-08 23:05:20 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-04-08 23:05:27 +0200 | hgolden | (~hgolden2@cpe-172-251-233-141.socal.res.rr.com) |
2022-04-08 23:06:27 +0200 | redb | (~nmh@136.49.49.211) (Ping timeout: 260 seconds) |
2022-04-08 23:08:02 +0200 | Guest27 | (~Guest27@2601:281:d47f:1590::a504) (Ping timeout: 250 seconds) |
2022-04-08 23:09:21 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 268 seconds) |
2022-04-08 23:10:58 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-04-08 23:14:55 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 23:17:52 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds) |
2022-04-08 23:21:51 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:c02d:dd64:a284:8819) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-04-08 23:23:29 +0200 | redb | (~nmh@136.49.49.211) |
2022-04-08 23:23:43 +0200 | coot | (~coot@213.134.190.95) (Ping timeout: 260 seconds) |
2022-04-08 23:25:51 +0200 | neurocyte8614492 | (~neurocyte@IP-212232093103.dynamic.medianet-world.de) |
2022-04-08 23:25:51 +0200 | neurocyte8614492 | (~neurocyte@IP-212232093103.dynamic.medianet-world.de) (Changing host) |
2022-04-08 23:25:51 +0200 | neurocyte8614492 | (~neurocyte@user/neurocyte) |
2022-04-08 23:27:36 +0200 | DNH | (~DNH@2a02:8108:1100:16d8:c02d:dd64:a284:8819) |
2022-04-08 23:29:26 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-04-08 23:31:33 +0200 | redb | (~nmh@136.49.49.211) (Ping timeout: 268 seconds) |
2022-04-08 23:39:38 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 23:39:42 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection) |
2022-04-08 23:40:14 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) |
2022-04-08 23:41:54 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 246 seconds) |
2022-04-08 23:43:09 +0200 | deadmarshal_ | (~deadmarsh@95.38.117.122) |
2022-04-08 23:43:15 +0200 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) (Ping timeout: 240 seconds) |
2022-04-08 23:44:55 +0200 | lavaman | (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Ping timeout: 256 seconds) |
2022-04-08 23:46:01 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-04-08 23:46:08 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2022-04-08 23:46:29 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2022-04-08 23:48:16 +0200 | deadmarshal_ | (~deadmarsh@95.38.117.122) (Ping timeout: 272 seconds) |
2022-04-08 23:50:03 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 268 seconds) |
2022-04-08 23:50:10 +0200 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) |
2022-04-08 23:50:35 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
2022-04-08 23:51:28 +0200 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-04-08 23:53:07 +0200 | acidjnk | (~acidjnk@p200300d0c7049f91e010d86dcc64fbcb.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2022-04-08 23:53:23 +0200 | sander | sndr |
2022-04-08 23:53:29 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
2022-04-08 23:56:17 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2022-04-08 23:59:53 +0200 | redb | (~nmh@136.49.49.211) |