Logs on 2023-03-20 (liberachat/#haskell)
| 00:01:43 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 265 seconds) |
| 00:03:18 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 00:03:19 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 00:03:19 | → | wroathe joins (~wroathe@user/wroathe) |
| 00:03:39 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
| 00:24:42 | → | sagax joins (~sagax_nb@user/sagax) |
| 00:25:15 | × | xff0x quits (~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 248 seconds) |
| 00:29:18 | → | freeside joins (~mengwong@122.11.248.245) |
| 00:34:06 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 265 seconds) |
| 00:37:06 | → | freeside joins (~mengwong@122.11.248.245) |
| 00:41:15 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 248 seconds) |
| 00:44:17 | → | ddellaco1 joins (~ddellacos@146.70.165.10) |
| 00:50:02 | → | mauke_ joins (~mauke@user/mauke) |
| 00:51:59 | × | mauke quits (~mauke@user/mauke) (Ping timeout: 265 seconds) |
| 00:51:59 | mauke_ | is now known as mauke |
| 00:54:29 | → | anpad joins (~pandeyan@user/anpad) |
| 01:01:13 | × | slack1256 quits (~slack1256@181.42.50.18) (Ping timeout: 276 seconds) |
| 01:01:48 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 01:02:53 | → | califax joins (~califax@user/califx) |
| 01:05:09 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:add4:765e:c41a:7ea4) (Remote host closed the connection) |
| 01:07:04 | × | smallville7123 quits (~Android@cpe-172-193-179-86.qld.foxtel.net.au) (Ping timeout: 276 seconds) |
| 01:08:51 | → | johnw joins (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) |
| 01:09:20 | → | jwiegley joins (~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net) |
| 01:10:28 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:11:27 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 01:16:35 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:20:32 | → | falafel joins (~falafel@2603-8000-d700-115c-7bb8-b1e6-248b-2bac.res6.spectrum.com) |
| 01:27:57 | → | freeside joins (~mengwong@122.11.248.245) |
| 01:33:03 | → | srz joins (~srz@179.36.78.212) |
| 01:35:22 | × | srz quits (~srz@179.36.78.212) (Remote host closed the connection) |
| 01:35:41 | → | srz joins (~srz@179.36.78.212) |
| 01:35:47 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 260 seconds) |
| 01:36:51 | × | gehmehgeh quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 01:37:41 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 01:43:32 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
| 01:47:04 | → | smallville7123 joins (~Android@cpe-172-193-179-86.qld.foxtel.net.au) |
| 01:48:12 | → | freeside joins (~mengwong@122.11.248.245) |
| 01:49:41 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 01:51:37 | → | razetime joins (~Thunderbi@117.193.1.102) |
| 01:55:42 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 255 seconds) |
| 02:01:49 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:add4:765e:c41a:7ea4) |
| 02:03:09 | × | kimjetwav quits (~user@2607:fea8:235e:b600:8d5f:c19:135b:d0c3) (Ping timeout: 250 seconds) |
| 02:03:10 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 246 seconds) |
| 02:08:04 | × | smallville7123 quits (~Android@cpe-172-193-179-86.qld.foxtel.net.au) (Read error: Connection reset by peer) |
| 02:12:02 | → | smallville7123_ joins (~Android@cpe-172-193-179-86.qld.foxtel.net.au) |
| 02:13:25 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 02:14:18 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:add4:765e:c41a:7ea4) (Remote host closed the connection) |
| 02:14:25 | → | freeside joins (~mengwong@122.11.248.245) |
| 02:15:52 | × | srz quits (~srz@179.36.78.212) (Remote host closed the connection) |
| 02:18:21 | → | srz joins (~srz@179.36.78.212) |
| 02:18:59 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 265 seconds) |
| 02:21:35 | × | srz quits (~srz@179.36.78.212) (Remote host closed the connection) |
| 02:21:48 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
| 02:21:50 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:add4:765e:c41a:7ea4) |
| 02:21:51 | → | srz joins (~srz@179.36.78.212) |
| 02:23:31 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 250 seconds) |
| 02:24:47 | → | the_proffesor joins (~theproffe@2601:282:8800:840::4b0f) |
| 02:24:47 | × | the_proffesor quits (~theproffe@2601:282:8800:840::4b0f) (Changing host) |
| 02:24:47 | → | the_proffesor joins (~theproffe@user/theproffesor) |
| 02:28:45 | → | theproffesor_ joins (~theproffe@2601:282:8800:840::821d) |
| 02:28:56 | → | dcoutts joins (~duncan@host86-167-90-128.range86-167.btcentralplus.com) |
| 02:30:56 | × | dcoutts__ quits (~duncan@host86-167-90-128.range86-167.btcentralplus.com) (Ping timeout: 252 seconds) |
| 02:31:18 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 02:32:07 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds) |
| 02:32:36 | Lord_of_Life_ | is now known as Lord_of_Life |
| 02:32:37 | × | the_proffesor quits (~theproffe@user/theproffesor) (Ping timeout: 250 seconds) |
| 02:33:19 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 02:35:17 | → | freeside joins (~mengwong@122.11.248.245) |
| 02:35:44 | → | the_proffesor joins (~theproffe@2601:282:8800:840::20ee) |
| 02:35:44 | × | the_proffesor quits (~theproffe@2601:282:8800:840::20ee) (Changing host) |
| 02:35:44 | → | the_proffesor joins (~theproffe@user/theproffesor) |
| 02:38:49 | × | srz quits (~srz@179.36.78.212) (Quit: Leaving) |
| 02:39:39 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 268 seconds) |
| 02:39:48 | × | mixfix41 quits (~sdenynine@user/mixfix41) (Quit: stick with me) |
| 02:40:03 | × | theproffesor_ quits (~theproffe@2601:282:8800:840::821d) (Ping timeout: 256 seconds) |
| 02:40:16 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 267 seconds) |
| 02:40:30 | → | theproffesor_ joins (~theproffe@2601:282:8800:840::5781) |
| 02:41:44 | → | mixfix41 joins (~sdenynine@user/mixfix41) |
| 02:45:09 | × | the_proffesor quits (~theproffe@user/theproffesor) (Ping timeout: 256 seconds) |
| 02:46:13 | → | the_proffesor joins (~theproffe@2601:282:8800:840::9521) |
| 02:46:13 | × | the_proffesor quits (~theproffe@2601:282:8800:840::9521) (Changing host) |
| 02:46:13 | → | the_proffesor joins (~theproffe@user/theproffesor) |
| 02:50:15 | × | theproffesor_ quits (~theproffe@2601:282:8800:840::5781) (Ping timeout: 256 seconds) |
| 02:54:42 | → | gmg joins (~user@user/gehmehgeh) |
| 02:56:01 | × | the_proffesor quits (~theproffe@user/theproffesor) (Ping timeout: 250 seconds) |
| 02:58:10 | × | jero98772 quits (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection) |
| 02:58:14 | × | gehmehgeh quits (~user@user/gehmehgeh) (Ping timeout: 255 seconds) |
| 03:02:38 | → | gdr3941 joins (~gregreich@2601:483:4800:5740:f998:7c21:2dc2:5367) |
| 03:03:54 | → | kimjetwav joins (~user@2607:fea8:235e:b600:9f24:e4a7:bfdd:ae72) |
| 03:04:54 | × | mikoto-chan quits (~mikoto-ch@dy54z4y1bml78xgm-ky0t-4.rev.dnainternet.fi) (Ping timeout: 265 seconds) |
| 03:16:30 | × | td_ quits (~td@i5387093A.versanet.de) (Ping timeout: 265 seconds) |
| 03:18:19 | → | td_ joins (~td@i5387092A.versanet.de) |
| 03:23:18 | → | freeside joins (~mengwong@122.11.248.245) |
| 03:25:41 | × | razetime quits (~Thunderbi@117.193.1.102) (Ping timeout: 265 seconds) |
| 03:26:19 | → | mikoto-chan joins (~mikoto-ch@dy54z4y1t9qnwdj1ryyby-4.rev.dnainternet.fi) |
| 03:27:07 | × | falafel quits (~falafel@2603-8000-d700-115c-7bb8-b1e6-248b-2bac.res6.spectrum.com) (Ping timeout: 248 seconds) |
| 03:28:07 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 276 seconds) |
| 03:32:28 | → | lisbeths joins (uid135845@id-135845.lymington.irccloud.com) |
| 03:32:37 | × | gdr3941 quits (~gregreich@2601:483:4800:5740:f998:7c21:2dc2:5367) () |
| 03:36:01 | → | kupi joins (uid212005@id-212005.hampstead.irccloud.com) |
| 03:41:24 | → | jushur joins (~human@user/jushur) |
| 03:42:26 | × | finnekit quits (~finnekit@fsf/member/finnekit) (Ping timeout: 252 seconds) |
| 03:44:12 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 03:46:12 | → | gdr3941 joins (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) |
| 03:48:43 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 03:48:43 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 03:48:43 | finn_elija | is now known as FinnElija |
| 03:48:59 | × | smallville7123_ quits (~Android@cpe-172-193-179-86.qld.foxtel.net.au) (Ping timeout: 248 seconds) |
| 03:50:41 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 03:52:16 | × | gurkenglas quits (~gurkengla@dynamic-046-114-183-233.46.114.pool.telefonica.de) (Ping timeout: 265 seconds) |
| 04:00:33 | × | gdr3941 quits (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) (Quit: Fading out...) |
| 04:00:45 | → | razetime joins (~Thunderbi@117.193.3.134) |
| 04:02:28 | → | gdr3941 joins (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) |
| 04:06:46 | → | mbuf joins (~Shakthi@49.207.178.186) |
| 04:17:59 | → | jmorris joins (uid537181@id-537181.uxbridge.irccloud.com) |
| 04:18:33 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 04:18:37 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 04:19:45 | × | gdr3941 quits (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) (Remote host closed the connection) |
| 04:19:58 | → | gdr3941 joins (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) |
| 04:23:45 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
| 04:24:43 | × | gdr3941 quits (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) (Ping timeout: 248 seconds) |
| 04:27:45 | → | gdr3941 joins (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) |
| 04:32:32 | × | gdr3941 quits (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) (Ping timeout: 246 seconds) |
| 04:34:15 | → | razetime1 joins (~Thunderbi@117.254.35.66) |
| 04:36:15 | × | razetime quits (~Thunderbi@117.193.3.134) (Ping timeout: 265 seconds) |
| 04:36:16 | razetime1 | is now known as razetime |
| 04:38:13 | × | waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 246 seconds) |
| 04:40:10 | → | gdr3941 joins (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) |
| 04:40:50 | → | trev joins (~trev@user/trev) |
| 04:46:25 | × | gdr3941 quits (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) (Ping timeout: 256 seconds) |
| 04:46:54 | → | freeside joins (~mengwong@122.11.248.245) |
| 04:48:06 | → | gdr3941 joins (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) |
| 04:51:43 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 265 seconds) |
| 04:53:01 | × | gdr3941 quits (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) (Ping timeout: 250 seconds) |
| 05:01:11 | → | finnekit joins (~finnekit@fsf/member/finnekit) |
| 05:04:05 | → | gdr3941 joins (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) |
| 05:11:03 | × | mikoto-chan quits (~mikoto-ch@dy54z4y1t9qnwdj1ryyby-4.rev.dnainternet.fi) (Ping timeout: 265 seconds) |
| 05:11:07 | × | gdr3941 quits (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) (Ping timeout: 248 seconds) |
| 05:18:54 | → | raym joins (~ray@user/raym) |
| 05:21:49 | → | razetime1 joins (~Thunderbi@117.193.3.23) |
| 05:22:38 | × | razetime quits (~Thunderbi@117.254.35.66) (Ping timeout: 246 seconds) |
| 05:22:39 | razetime1 | is now known as razetime |
| 05:22:54 | → | gdr3941 joins (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) |
| 05:23:55 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 05:27:29 | × | gdr3941 quits (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) (Ping timeout: 246 seconds) |
| 05:36:44 | → | freeside joins (~mengwong@122.11.248.245) |
| 05:39:52 | → | gdr3941 joins (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) |
| 05:40:46 | → | dcoutts_ joins (~duncan@host86-176-29-87.range86-176.btcentralplus.com) |
| 05:41:23 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 256 seconds) |
| 05:43:25 | × | dcoutts quits (~duncan@host86-167-90-128.range86-167.btcentralplus.com) (Ping timeout: 268 seconds) |
| 05:43:32 | → | freeside joins (~mengwong@122.11.248.245) |
| 05:44:33 | × | jushur quits (~human@user/jushur) (Quit: ¯\_(ツ)_/¯) |
| 05:45:16 | → | falafel joins (~falafel@2603-8000-d700-115c-1dac-23d3-4896-ea0f.res6.spectrum.com) |
| 05:51:06 | → | razetime1 joins (~Thunderbi@117.193.0.52) |
| 05:51:57 | × | razetime quits (~Thunderbi@117.193.3.23) (Ping timeout: 255 seconds) |
| 05:51:58 | razetime1 | is now known as razetime |
| 05:52:36 | × | razetime quits (~Thunderbi@117.193.0.52) (Client Quit) |
| 05:55:20 | → | razetime joins (~Thunderbi@117.193.0.52) |
| 06:01:14 | × | razetime quits (~Thunderbi@117.193.0.52) (Quit: See You Space Cowboy) |
| 06:05:31 | × | kupi quits (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 06:05:45 | × | gdr3941 quits (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) (Ping timeout: 256 seconds) |
| 06:09:13 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 06:10:25 | → | smallville7123 joins (~Android@cpe-172-193-179-86.qld.foxtel.net.au) |
| 06:16:28 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 276 seconds) |
| 06:16:50 | → | gdr3941 joins (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) |
| 06:17:53 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:21:09 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 06:25:55 | → | bgs joins (~bgs@212-85-160-171.dynamic.telemach.net) |
| 06:33:15 | × | _xor quits (~xor@74.215.46.17) (Quit: bbiab) |
| 06:34:19 | × | smallville7123 quits (~Android@cpe-172-193-179-86.qld.foxtel.net.au) (Read error: Connection reset by peer) |
| 06:35:02 | → | smallville7123 joins (~Android@cpe-172-193-179-86.qld.foxtel.net.au) |
| 06:44:13 | → | freeside joins (~mengwong@122.11.214.161) |
| 06:47:45 | → | jushur joins (~human@user/jushur) |
| 06:48:12 | × | smallville7123 quits (~Android@cpe-172-193-179-86.qld.foxtel.net.au) (Ping timeout: 265 seconds) |
| 06:53:43 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 06:55:21 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 06:56:34 | → | zeenk joins (~zeenk@2a02:2f04:a307:2300::7fe) |
| 06:57:46 | × | jushur quits (~human@user/jushur) (Quit: ¯\_(ツ)_/¯) |
| 06:58:05 | × | emmanuelux_ quits (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
| 06:59:44 | → | smallville7123 joins (~Android@cpe-172-193-179-86.qld.foxtel.net.au) |
| 07:05:44 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 255 seconds) |
| 07:06:57 | × | falafel quits (~falafel@2603-8000-d700-115c-1dac-23d3-4896-ea0f.res6.spectrum.com) (Ping timeout: 256 seconds) |
| 07:07:23 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 07:15:02 | Taneb0 | is now known as Taneb |
| 07:17:19 | × | sagax quits (~sagax_nb@user/sagax) (Quit: Konversation terminated!) |
| 07:17:54 | × | smallville7123 quits (~Android@cpe-172-193-179-86.qld.foxtel.net.au) (Ping timeout: 255 seconds) |
| 07:19:16 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 07:21:11 | → | kenran joins (~user@user/kenran) |
| 07:22:31 | × | gdr3941 quits (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) (Ping timeout: 250 seconds) |
| 07:26:51 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 07:31:53 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 07:33:12 | × | dsrt^ quits (~dsrt@c-24-30-76-89.hsd1.ga.comcast.net) (Ping timeout: 246 seconds) |
| 07:33:40 | → | gdr3941 joins (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) |
| 07:38:20 | × | freeside quits (~mengwong@122.11.214.161) (Read error: Connection reset by peer) |
| 07:38:23 | × | gdr3941 quits (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) (Ping timeout: 246 seconds) |
| 07:44:33 | × | bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
| 07:51:25 | → | gdr3941 joins (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) |
| 07:53:27 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 07:54:23 | × | gdr3941 quits (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) (Remote host closed the connection) |
| 07:54:38 | → | gdr3941 joins (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) |
| 07:55:52 | × | shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 265 seconds) |
| 07:57:45 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 07:59:49 | × | gdr3941 quits (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) (Ping timeout: 246 seconds) |
| 08:02:34 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 08:11:22 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 246 seconds) |
| 08:12:34 | → | gdr3941 joins (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) |
| 08:13:24 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 08:17:32 | → | michalz joins (~michalz@185.246.207.221) |
| 08:17:33 | × | gdr3941 quits (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) (Ping timeout: 250 seconds) |
| 08:19:46 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 08:23:17 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
| 08:24:17 | → | mastarija joins (~mastarija@188.252.197.201) |
| 08:30:00 | → | gdr3941 joins (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) |
| 08:30:21 | → | acidjnk joins (~acidjnk@p200300d6e715c483dd18d0975368fd0c.dip0.t-ipconnect.de) |
| 08:35:28 | → | bontaq joins (~user@ool-45779fe5.dyn.optonline.net) |
| 08:37:56 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:a481:627b:18e8:f88b) |
| 08:45:04 | <siers69> | Is the Num typeclass encoding numbers in a tagless final style? It has a typeclass over repr, defining an algebra that returns the repr (in the code repr is "a"). It can be both ints and strings. |
| 08:47:26 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 08:53:43 | × | mastarija quits (~mastarija@188.252.197.201) (Quit: WeeChat 3.7.1) |
| 09:00:09 | × | charukiewicz[m] quits (~charukiew@2001:470:69fc:105::ded4) (Quit: You have been kicked for being idle) |
| 09:00:27 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:add4:765e:c41a:7ea4) (Remote host closed the connection) |
| 09:02:44 | × | gmg quits (~user@user/gehmehgeh) (Ping timeout: 255 seconds) |
| 09:05:11 | → | gmg joins (~user@user/gehmehgeh) |
| 09:05:45 | → | freeside joins (~mengwong@122.11.248.245) |
| 09:13:01 | → | Guest97 joins (~Guest97@178.233.29.85) |
| 09:28:05 | → | dcoutts joins (~duncan@host86-150-41-249.range86-150.btcentralplus.com) |
| 09:30:49 | × | dcoutts_ quits (~duncan@host86-176-29-87.range86-176.btcentralplus.com) (Ping timeout: 276 seconds) |
| 09:31:12 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 09:32:41 | → | mastarija joins (~mastarija@188.252.197.201) |
| 09:34:38 | × | gdr3941 quits (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) (Ping timeout: 246 seconds) |
| 09:34:43 | <[exa]> | siers69: that's a radical look at the problem but I'd say yeah |
| 09:36:46 | <dminuoso> | siers69: Mmm, I think tagless final is less about immediate combinators, than it is about structure programs. That is keeping the "leaves of your program" in a polymorphic form. |
| 09:39:02 | × | mastarija quits (~mastarija@188.252.197.201) (Quit: WeeChat 3.7.1) |
| 09:45:22 | → | vglfr joins (~vglfr@46.96.158.131) |
| 09:45:38 | <[exa]> | yeah well, `1` is a perfectly polymorphic leaf right? |
| 09:46:04 | <dminuoso> | Sure, but I rather when when your top level declarations of your programs are written polymorphic over `Num p => ... p ...` |
| 09:46:30 | <dminuoso> | But I suppose from the perspective of ghc, its a tagless final encoding |
| 09:46:35 | <dminuoso> | or `base` rather. |
| 09:48:15 | → | gdr3941 joins (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) |
| 09:48:24 | <[exa]> | it's certainly not "usual" way to encode stuff, but the better it is actually. I can't find any separating property that would say it's not TF. |
| 09:51:03 | × | Guest97 quits (~Guest97@178.233.29.85) (Ping timeout: 260 seconds) |
| 09:53:20 | × | ft quits (~ft@p3e9bc443.dip0.t-ipconnect.de) (Quit: leaving) |
| 09:55:35 | × | gdr3941 quits (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) (Ping timeout: 260 seconds) |
| 09:56:27 | → | gurkenglas joins (~gurkengla@dynamic-046-114-183-233.46.114.pool.telefonica.de) |
| 09:56:51 | → | mmhat joins (~mmh@p200300f1c715f775ee086bfffe095315.dip0.t-ipconnect.de) |
| 10:01:11 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 10:02:59 | × | vglfr quits (~vglfr@46.96.158.131) (Read error: Connection reset by peer) |
| 10:03:45 | → | vglfr joins (~vglfr@46.96.158.131) |
| 10:05:55 | × | eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 276 seconds) |
| 10:07:24 | → | kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be) |
| 10:07:33 | → | gdr3941 joins (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) |
| 10:08:03 | <kuribas> | Is there a good dataframe library for haskell? |
| 10:08:06 | <kuribas> | I found Frame, but it is quite heavy on the type level (using vynil) |
| 10:08:12 | <kuribas> | Then there is heidi, which looks easier to use. |
| 10:08:15 | <kuribas> | Anyone used any of these? |
| 10:11:06 | → | mikoto-chan joins (~mikoto-ch@194.136.169.101) |
| 10:11:11 | → | dsp joins (~dsp@host86-137-135-17.range86-137.btcentralplus.com) |
| 10:13:48 | → | chele joins (~chele@user/chele) |
| 10:14:26 | <kuribas> | But heidi seems to use an inefficient list representation... |
| 10:17:31 | × | jmorris quits (uid537181@id-537181.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 10:18:44 | × | acidjnk quits (~acidjnk@p200300d6e715c483dd18d0975368fd0c.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 10:19:10 | <dminuoso> | kuribas: What about repa? |
| 10:19:30 | <siers69> | [exa], right! |
| 10:21:34 | <kuribas> | dminuoso: isn't repa more like numpy arrays, rather than pandas dataframes? |
| 10:24:18 | × | mikoto-chan quits (~mikoto-ch@194.136.169.101) (Ping timeout: 252 seconds) |
| 10:27:10 | → | mastarija joins (~mastarija@188.252.197.201) |
| 10:31:15 | → | mikoto-chan joins (~mikoto-ch@193.66.184.122) |
| 10:34:53 | × | dsp quits (~dsp@host86-137-135-17.range86-137.btcentralplus.com) (Ping timeout: 265 seconds) |
| 10:35:22 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 265 seconds) |
| 10:40:34 | × | mastarija quits (~mastarija@188.252.197.201) (Quit: WeeChat 3.7.1) |
| 10:42:29 | × | lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
| 10:43:34 | × | szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 10:43:44 | × | mikoto-chan quits (~mikoto-ch@193.66.184.122) (Ping timeout: 268 seconds) |
| 10:44:06 | → | dsp joins (~dsp@host86-137-135-17.range86-137.btcentralplus.com) |
| 10:45:51 | → | mikoto-chan joins (~mikoto-ch@193.66.184.122) |
| 10:47:29 | <dminuoso> | I dont quite know your desired access patterns |
| 10:50:41 | <kuribas> | timeseries with different variables mostly |
| 10:50:55 | → | lagash joins (lagash@lagash.shelltalk.net) |
| 10:51:07 | <kuribas> | the need to merge dataframes. |
| 10:51:19 | <kuribas> | calculate averages, transformations, etc... |
| 10:52:50 | <TheMatten[m]> | Table in https://gitlab.haskell.org/ghc/ghc/-/wikis/dependent-haskell#4-quantifiers is technically missing two types of quantifiers - visible and invisible non-dependent erased ones |
| 10:52:51 | <TheMatten[m]> | In principle, wouldn't some equivalent of `unsafe` in Rust qualify as example for latter? (In HS it can be approximated by nullary typeclass) |
| 10:53:15 | × | mikoto-chan quits (~mikoto-ch@193.66.184.122) (Ping timeout: 265 seconds) |
| 10:53:22 | → | Sciencentistguy3 joins (~sciencent@hacksoc/ordinary-member) |
| 10:53:31 | × | vglfr quits (~vglfr@46.96.158.131) (Ping timeout: 248 seconds) |
| 10:54:00 | → | vglfr joins (~vglfr@88.155.5.251) |
| 10:55:50 | × | Sciencentistguy quits (~sciencent@hacksoc/ordinary-member) (Ping timeout: 252 seconds) |
| 10:55:50 | Sciencentistguy3 | is now known as Sciencentistguy |
| 11:00:55 | → | jinsl- joins (~jinsl@123.120.195.215) |
| 11:01:07 | × | jinsl quits (~jinsl@2408:8207:2557:5df0:211:32ff:fec8:6aea) (Ping timeout: 246 seconds) |
| 11:05:49 | × | vglfr quits (~vglfr@88.155.5.251) (Ping timeout: 265 seconds) |
| 11:08:01 | → | mastarija joins (~mastarija@188.252.197.201) |
| 11:08:14 | × | dsp quits (~dsp@host86-137-135-17.range86-137.btcentralplus.com) (Ping timeout: 265 seconds) |
| 11:09:12 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 11:09:23 | → | acidjnk joins (~acidjnk@p200300d6e715c483659304cc434f2db7.dip0.t-ipconnect.de) |
| 11:13:33 | × | kmein quits (~weechat@user/kmein) (Quit: ciao kakao) |
| 11:13:55 | × | gdr3941 quits (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) (Ping timeout: 250 seconds) |
| 11:14:14 | → | vglfr joins (~vglfr@88.155.5.251) |
| 11:15:44 | → | kmein joins (~weechat@static.173.83.99.88.clients.your-server.de) |
| 11:21:11 | → | NiceBird joins (~NiceBird@185.133.111.196) |
| 11:24:58 | → | gdr3941 joins (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) |
| 11:28:01 | × | kmein quits (~weechat@static.173.83.99.88.clients.your-server.de) (Quit: ciao kakao) |
| 11:28:24 | → | kmein joins (~weechat@static.173.83.99.88.clients.your-server.de) |
| 11:29:44 | × | gdr3941 quits (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) (Ping timeout: 246 seconds) |
| 11:31:38 | × | robobub quits (uid248673@id-248673.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 11:31:41 | → | xff0x joins (~xff0x@ai098135.d.east.v6connect.net) |
| 11:31:42 | × | Alex_test quits (~al_test@178.34.160.55) (Ping timeout: 255 seconds) |
| 11:32:09 | × | AlexZenon quits (~alzenon@178.34.160.55) (Ping timeout: 255 seconds) |
| 11:34:00 | → | Alex_test joins (~al_test@178.34.160.55) |
| 11:34:47 | → | AlexZenon joins (~alzenon@178.34.160.55) |
| 11:35:19 | × | lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
| 11:35:47 | × | vglfr quits (~vglfr@88.155.5.251) (Ping timeout: 265 seconds) |
| 11:35:50 | → | lagash joins (lagash@lagash.shelltalk.net) |
| 11:36:43 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 248 seconds) |
| 11:37:18 | → | gdr3941 joins (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) |
| 11:37:27 | <mesaoptimizer2> | "Of course, just as in GHC/Haskell today, to reach the more sophisticated corners of the type system the programmer must supply some type annotations (for example, define higher-rank types, guide impredicative type inference, check GADT pattern-matches), but the goal is to have simple, predictable rules to say when such annotations are necessary." interesting |
| 11:42:21 | × | gdr3941 quits (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) (Ping timeout: 256 seconds) |
| 11:42:55 | → | vpan joins (~0@212.117.1.172) |
| 11:44:04 | → | gdr3941 joins (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) |
| 11:45:39 | × | Guest2579 quits (~m-mzmz6l@vmi833741.contaboserver.net) (Ping timeout: 255 seconds) |
| 11:51:56 | × | lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 11:52:49 | × | NiceBird quits (~NiceBird@185.133.111.196) (Quit: Leaving) |
| 11:55:51 | <AWizzArd> | Servant: I would look to add a new type combinator `Foo`. When this is present in the URL then the handler must have a new Int parameter. In every run a new random Int will be provided to that Handler. I got this working but it "feels" incorrect, because I use/abuse the addAuthCheck function from an internal module. Here is my route implementation for the HasServer class: |
| 11:56:13 | <AWizzArd> | route Proxy context subserver = route (Proxy :: Proxy api) context $ addAuthCheck subserver (withRequest (\_req -> liftIO randomIO)) |
| 11:57:29 | <AWizzArd> | Is there a better way to achieve this? Without using addAuthCheck? Without using something from a module named “Internal”? |
| 11:57:34 | → | root joins (~m-mzmz6l@vmi833741.contaboserver.net) |
| 11:57:42 | root | is now known as Guest3140 |
| 11:59:12 | <dminuoso> | AWizzArd: I would just use Context, an external IORef and a counter in a reader environment for handlers. |
| 11:59:16 | × | lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
| 11:59:17 | <dminuoso> | Or uh |
| 11:59:21 | <dminuoso> | Do you just want this for some endpoints? |
| 11:59:27 | → | lagash joins (lagash@lagash.shelltalk.net) |
| 11:59:55 | <AWizzArd> | dminuoso: I want this as a reusable Combinator. This Foo thing is just for learning how the Servant API works, to see how I can add my own Combinators. |
| 12:00:06 | <dminuoso> | I see. |
| 12:00:50 | <AWizzArd> | dminuoso: when you say `Context`, are you then talking about this one here? https://hackage.haskell.org/package/servant-server-0.19.2/docs/Servant-Server-Internal-Context.html |
| 12:01:09 | <dminuoso> | Yeah, but if your goal is to just practice with combinators, ignore Context entirely |
| 12:02:16 | <AWizzArd> | I will need to produce a Router. I saw that calling `route` itself again in my own implementation could deliver me one. |
| 12:03:00 | × | Guest3140 quits (~m-mzmz6l@vmi833741.contaboserver.net) (Remote host closed the connection) |
| 12:03:47 | → | root__ joins (~m-mzmz6l@vmi833741.contaboserver.net) |
| 12:05:26 | <dminuoso> | Mmm, I have come to a new revelation. `when (foo /= Bar)` .. can be quite brittle because you do not have pattern match coverage checker at your back. |
| 12:05:42 | → | Midjak joins (~Midjak@82.66.147.146) |
| 12:05:55 | <dminuoso> | Something like `case foo of ...` with explicit branches, potentially having `pure ()` leads to better regression detection when constructors get added |
| 12:07:12 | × | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 265 seconds) |
| 12:08:08 | × | tusko quits (~yeurt@user/tusko) (Ping timeout: 255 seconds) |
| 12:08:39 | × | MasseR46 quits (thelounge@2001:bc8:47a0:1521::1) (Ping timeout: 246 seconds) |
| 12:08:54 | → | tusko joins (~yeurt@user/tusko) |
| 12:13:06 | × | root__ quits (~m-mzmz6l@vmi833741.contaboserver.net) (Ping timeout: 255 seconds) |
| 12:15:38 | × | kmein quits (~weechat@static.173.83.99.88.clients.your-server.de) (Quit: ciao kakao) |
| 12:15:50 | → | kmein joins (~weechat@static.173.83.99.88.clients.your-server.de) |
| 12:18:20 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 12:21:36 | × | kmein quits (~weechat@static.173.83.99.88.clients.your-server.de) (Quit: ciao kakao) |
| 12:21:49 | → | kmein joins (~weechat@user/kmein) |
| 12:22:18 | × | lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
| 12:23:10 | → | lagash joins (lagash@lagash.shelltalk.net) |
| 12:30:03 | → | Guest40 joins (~Guest40@142.198.177.73) |
| 12:30:37 | × | Guest40 quits (~Guest40@142.198.177.73) (Client Quit) |
| 12:31:40 | × | gemmaro quits (~user@240f:74:d1f0:1:ba1:e787:c9e:b1dc) (Remote host closed the connection) |
| 12:34:44 | × | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 268 seconds) |
| 12:35:55 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 12:38:33 | → | Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |
| 12:43:58 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 12:45:31 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 248 seconds) |
| 12:50:49 | → | root joins (~m-mzmz6l@vmi833741.contaboserver.net) |
| 12:51:11 | root | is now known as Guest295 |
| 13:00:49 | → | Square joins (~Square4@user/square) |
| 13:01:12 | → | dsp joins (~dsp@host86-137-135-17.range86-137.btcentralplus.com) |
| 13:05:45 | × | dsp quits (~dsp@host86-137-135-17.range86-137.btcentralplus.com) (Ping timeout: 255 seconds) |
| 13:07:10 | → | dsp joins (~dsp@host86-137-135-17.range86-137.btcentralplus.com) |
| 13:08:43 | × | lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
| 13:08:53 | → | lagash joins (lagash@lagash.shelltalk.net) |
| 13:10:50 | × | mmhat quits (~mmh@p200300f1c715f775ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.8) |
| 13:11:35 | × | Guest295 quits (~m-mzmz6l@vmi833741.contaboserver.net) (Remote host closed the connection) |
| 13:13:25 | → | root joins (~m-mzmz6l@vmi833741.contaboserver.net) |
| 13:13:49 | root | is now known as Guest5866 |
| 13:17:16 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds) |
| 13:19:13 | × | Guest5866 quits (~m-mzmz6l@vmi833741.contaboserver.net) (Remote host closed the connection) |
| 13:25:28 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 13:26:38 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 13:30:46 | → | bgs joins (~bgs@212-85-160-171.dynamic.telemach.net) |
| 13:32:19 | × | Putonlalla quits (~Putonlall@it-cyan.it.jyu.fi) (Ping timeout: 246 seconds) |
| 13:33:54 | → | Putonlalla joins (~Putonlall@it-cyan.it.jyu.fi) |
| 13:38:38 | × | dsp quits (~dsp@host86-137-135-17.range86-137.btcentralplus.com) (Ping timeout: 252 seconds) |
| 13:40:07 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 13:40:24 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 13:42:53 | → | root__ joins (~m-mzmz6l@vmi833741.contaboserver.net) |
| 13:44:14 | → | dsrt^ joins (~dsrt@c-24-30-76-89.hsd1.ga.comcast.net) |
| 13:46:55 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 13:48:22 | → | Guest97 joins (~Guest97@178.233.29.85) |
| 13:48:23 | × | Guest97 quits (~Guest97@178.233.29.85) (Client Quit) |
| 13:50:03 | → | freeside joins (~mengwong@103.252.202.85) |
| 13:51:25 | → | dsp joins (~dsp@host86-137-135-17.range86-137.btcentralplus.com) |
| 13:51:57 | × | root__ quits (~m-mzmz6l@vmi833741.contaboserver.net) (Remote host closed the connection) |
| 13:54:34 | → | notzmv joins (~zmv@user/notzmv) |
| 13:54:41 | × | freeside quits (~mengwong@103.252.202.85) (Ping timeout: 250 seconds) |
| 13:54:44 | → | kenran` joins (~user@user/kenran) |
| 13:54:55 | × | kenran` quits (~user@user/kenran) (Remote host closed the connection) |
| 13:56:28 | → | xiliuya joins (~xiliuya@user/xiliuya) |
| 13:59:33 | × | dsp quits (~dsp@host86-137-135-17.range86-137.btcentralplus.com) (Quit: Leaving) |
| 14:00:59 | × | dsrt^ quits (~dsrt@c-24-30-76-89.hsd1.ga.comcast.net) (Remote host closed the connection) |
| 14:02:07 | → | mikoto-chan joins (~mikoto-ch@dy54z4y1t9qnwdj1ryyby-4.rev.dnainternet.fi) |
| 14:03:12 | → | szkl joins (uid110435@id-110435.uxbridge.irccloud.com) |
| 14:04:49 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a807:948e:ff4f:3b94) |
| 14:09:04 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a807:948e:ff4f:3b94) (Ping timeout: 246 seconds) |
| 14:10:41 | → | monoidal joins (~monoidal@2a01cb0801ce4b004a3097b2a6e32336.ipv6.abo.wanadoo.fr) |
| 14:12:15 | → | root joins (~m-mzmz6l@vmi833741.contaboserver.net) |
| 14:12:38 | root | is now known as Guest621 |
| 14:15:24 | → | freeside joins (~mengwong@103.252.202.85) |
| 14:22:46 | × | mixfix41 quits (~sdenynine@user/mixfix41) (Quit: [BX] "got bitchx?") |
| 14:23:19 | × | freeside quits (~mengwong@103.252.202.85) (Ping timeout: 276 seconds) |
| 14:26:44 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 14:30:59 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 14:32:32 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds) |
| 14:32:32 | Lord_of_Life_ | is now known as Lord_of_Life |
| 14:32:48 | → | sagax joins (~sagax_nb@user/sagax) |
| 14:33:04 | × | xiliuya quits (~xiliuya@user/xiliuya) (Quit: Bye~) |
| 14:44:44 | → | jero98772 joins (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) |
| 14:52:52 | → | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 14:56:30 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 15:02:37 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 15:09:31 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a807:948e:ff4f:3b94) |
| 15:10:49 | → | famubu joins (~famubu@user/famubu) |
| 15:12:12 | <famubu> | Hi. Is there a way to print unicode strings in haskell? I was trying out in the string "x²" in ghci and the '²' just gets printed as ??. |
| 15:12:53 | <merijn> | famubu: how did you print? |
| 15:13:00 | <merijn> | tbh, sounds like your locale is busted |
| 15:14:08 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 15:14:20 | <geekosaur> | > text "x²" |
| 15:14:22 | <lambdabot> | x² |
| 15:15:20 | <merijn> | famubu: Also, what does it print if you run "locale" in your shell? |
| 15:16:06 | <famubu> | ghci> putStrLn "x??" -- x?? |
| 15:16:40 | <merijn> | Something's already going wrong sooner it seems? |
| 15:16:50 | <merijn> | λ putStrLn "x²" |
| 15:16:50 | <merijn> | x² |
| 15:17:20 | <merijn> | the string literal already having ?? has me suspecting messed up locale even more |
| 15:17:39 | → | vglfr joins (~vglfr@88.155.43.86) |
| 15:18:15 | × | irrgit_ quits (~irrgit@89.47.234.26) (Remote host closed the connection) |
| 15:18:40 | → | irrgit_ joins (~irrgit@146.70.27.218) |
| 15:18:44 | <dminuoso> | Something between your shell having borked unicode support/setting, your terminal emulator doing some nonsense and locale misconfigured |
| 15:18:52 | <dminuoso> | All possible. |
| 15:19:24 | <dminuoso> | How is this ghci run? Local terminal? |
| 15:19:26 | <dminuoso> | Local shell? |
| 15:19:35 | <famubu> | I guess it's my computer config problem.. |
| 15:19:44 | <famubu> | Output from `locale`: https://bpa.st/PDQX6 |
| 15:19:56 | <famubu> | It shows correct unicode when trying from emacs |
| 15:20:03 | <dminuoso> | famubu: How do you run ghci exactly |
| 15:20:06 | <famubu> | I was running ghci from a normal terminal earlier. |
| 15:20:14 | <merijn> | famubu: Try setting LC_ALL to en_US.UTF-8 too? |
| 15:20:26 | <merijn> | If that doesn't work, probably your terminal config is busted |
| 15:20:35 | <dminuoso> | merijn: that shouldnt be necessary really |
| 15:20:43 | <dminuoso> | Given that *all* other are set correctly |
| 15:20:46 | <merijn> | dminuoso: I'm paranoid :p |
| 15:21:17 | <dminuoso> | famubu: what terminal emulator? and what shell? |
| 15:21:50 | <dminuoso> | and how is the shell launched (perhaps there's some weird output redirection going on) |
| 15:22:17 | <dminuoso> | famubu: and when you type x² does it look borked on the echo already? |
| 15:22:20 | <dminuoso> | or just when you copy+paste it? |
| 15:22:38 | × | gdr3941 quits (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) (Remote host closed the connection) |
| 15:22:40 | <dminuoso> | Im fairly sure ghci doesnt run in raw mode, so if the echo is borked, it's your shell at minimum. |
| 15:22:51 | → | gdr3941 joins (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) |
| 15:22:51 | <dminuoso> | but more likely the terminal emulator |
| 15:23:08 | <famubu> | gnome-terminal but accessing another computer through ssh and screen |
| 15:23:22 | <geekosaur> | um |
| 15:23:28 | → | jonathank joins (~jonathank@81-226-21-87-no256.tbcn.telia.com) |
| 15:23:29 | <geekosaur> | this sounds familiar |
| 15:23:52 | <dminuoso> | famubu: I guess we have to talk about the shell and locale in between as well. |
| 15:24:00 | <dminuoso> | and as for screen.. okay really not sure. |
| 15:24:10 | <famubu> | when I type the text in the terminal it displays okay. Only inside ghci ?? is showing up |
| 15:24:11 | <dminuoso> | Not even sure what screen does. |
| 15:24:26 | <dminuoso> | famubu: Right as you type it, on the echo? |
| 15:24:38 | <geekosaur> | try `screen -U`` |
| 15:24:52 | <famubu> | dminuoso: Yeah. echo "x²" # x² |
| 15:24:58 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a807:948e:ff4f:3b94) (Remote host closed the connection) |
| 15:25:10 | <dminuoso> | Okay now Im genuinely curious. |
| 15:25:40 | × | jonathank quits (~jonathank@81-226-21-87-no256.tbcn.telia.com) (Quit: jonathank) |
| 15:25:41 | × | gdr3941 quits (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) (Remote host closed the connection) |
| 15:25:54 | → | gdr3941 joins (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) |
| 15:26:10 | → | ray_caster joins (~ray_caste@81-226-21-87-no256.tbcn.telia.com) |
| 15:28:38 | <famubu> | geekosaur: Just tried access the computer directly without screen. Still ?? shows up instead of the character... No idea what's happening. |
| 15:29:05 | <dminuoso> | I wonder, is ghc perhaps compiled without unicode support on that machine? Is that even possible? |
| 15:29:24 | <dminuoso> | famubu: what `locale` do you get when running directly? |
| 15:30:11 | <famubu> | Is there a way to find out? I'm using ghc from nix if that can cause any trouble.. |
| 15:30:24 | <geekosaur> | not possible. unicode was hardwired before 6.12, controlled by locale since then |
| 15:30:59 | <dminuoso> | famubu: run `locale` on the same shell you tried it on locally] |
| 15:31:08 | <dminuoso> | 16:28:38 famubu | geekosaur: Just tried access the computer directly without screen. Still ?? shows up instead of the character... No idea what's happening. |
| 15:31:10 | × | gdr3941 quits (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) (Ping timeout: 265 seconds) |
| 15:31:11 | <dminuoso> | That is inside that same context |
| 15:31:46 | <famubu> | dibblego: Tried `locale` directly on the computer. There is a slight change and there are no warning: https://bpa.st/2NGQC |
| 15:31:54 | <famubu> | oops.. |
| 15:32:09 | <famubu> | I meant to mention dminuoso |
| 15:32:10 | → | kenaryn joins (~aurele@89-88-44-27.abo.bbox.fr) |
| 15:32:12 | <geekosaur> | I am confused here. haskeline is a bit of a trainwreck but should handle unicode fine (and does here, and apparently for merijn) |
| 15:32:26 | <dminuoso> | Ah does haskeline run in raw mode? |
| 15:32:34 | <merijn> | geekosaur: What makes haskeline a trainwreck? |
| 15:32:37 | <merijn> | It's pretty nice, tbh |
| 15:32:55 | <geekosaur> | mostly that it hasn't had a maintainer for years |
| 15:33:17 | → | econo joins (uid147250@user/econo) |
| 15:33:19 | <geekosaur> | and ghc has to work around a number of bugs as a result |
| 15:33:32 | <dminuoso> | So what you really meant to say "the community is a trainwreck" |
| 15:33:47 | <dminuoso> | Place the blame where it belongs. |
| 15:33:49 | <geekosaur> | (I may yet break down and NMU/take over the package) |
| 15:34:13 | <merijn> | geekosaur: ?? it was still worked on in 2020/2021 |
| 15:34:13 | <dminuoso> | If nobody wants to pick up a widely used library, that's really a collective failure but not an issue of a package |
| 15:34:17 | <merijn> | So hardly "years" |
| 15:34:37 | <mauke> | 2020 was three years ago |
| 15:34:58 | <geekosaur> | hm. admittedly I was going by ben complaining about it in #ghc |
| 15:35:09 | <geekosaur> | and/or phyx |
| 15:35:15 | <famubu> | Well unicode seems to work okay on interactive-haskell-mode (I guess it's outdated, but not yet familiar with the newer ones). I can work with that for now. |
| 15:35:22 | <famubu> | Thanks for the help, folks! :) |
| 15:36:13 | → | shriekingnoise joins (~shrieking@186.137.175.87) |
| 15:36:49 | <dminuoso> | famubu: consider filing a bug though, probably on ghc |
| 15:37:06 | <dminuoso> | (while it may be haskeline, I think its a safer thing to start there since its ghc that gives you a UI that doesnt quite work as expected) |
| 15:37:33 | <dminuoso> | And if they point to haskeline, so be it. But perhaps ghc is using haskeline wrong *shrugs* |
| 15:39:21 | → | gdr3941 joins (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) |
| 15:40:45 | → | pkal joins (soju@2a01:4f8:1c1c:bd2c::1) |
| 15:43:38 | <pkal> | since when is ghcup a thing? |
| 15:44:17 | <merijn> | pkal: *at least* 2020, according to the copyright notes |
| 15:44:55 | <dminuoso> | Since 2018. |
| 15:45:13 | <dminuoso> | But roughly since 2020 it went into an official position |
| 15:45:33 | <dminuoso> | It was a rather gradual process |
| 15:46:05 | <pkal> | I am sorry to say this but it is pretty sad. |
| 15:46:36 | <dminuoso> | Care to elaborate? |
| 15:46:39 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:a481:627b:18e8:f88b) (Quit: WeeChat 2.8) |
| 15:46:46 | <pkal> | From what I see this is the resignation to manage software using your standard package manager. |
| 15:47:01 | <eldritchcookie[m> | how hard would it be to make a application similar to maptool? not supporting all features just the map, tokens and server connecting/hosting? |
| 15:47:10 | <eldritchcookie[m> | in haskell obviously |
| 15:48:44 | <geekosaur> | pkal, why are you complaining about that to us? (see also rustup) |
| 15:48:55 | <dminuoso> | I think it's fair to bring the point up. |
| 15:49:04 | <dminuoso> | pkal: And yes, it is. |
| 15:49:08 | <geekosaur> | getting debian/ubuntu to keep up to date is not something we can do |
| 15:49:28 | <pkal> | geekosaur: I'm sorry, I have been frustrating about this for a while and had to vent |
| 15:49:29 | <dminuoso> | pkal: For starters multiple concurrent versions is very difficult in a portable way across package managers. |
| 15:49:39 | <dminuoso> | So having two different Haskell compilers simultaneously, for example. |
| 15:49:54 | <dminuoso> | Doing this in a way that no frustration arises for either the package maintainers or the user is near impossible |
| 15:50:02 | <yushyin> | i don't like to mix my system environment with my dev environment anyway and am quite happy to be able to keep it as separate as possible |
| 15:50:13 | <dminuoso> | And this is a realistic constraint |
| 15:50:21 | <eldritchcookie[m> | nix has no problem managing my system and ghc versions |
| 15:50:31 | <dminuoso> | eldritchcookie[m: sure, but nix is a pretty hefty buy-in |
| 15:50:41 | <dminuoso> | We're rather comparing ghcup to regular package managers here |
| 15:50:43 | <pkal> | nix/guix would be an acceptable alternative, but I haven't had luck on that fron either. |
| 15:51:12 | <dminuoso> | pkal: another thing is that you end up with fragmented responsibilities like who maintains packages for distribution x, and who for distribution y? |
| 15:51:25 | <dminuoso> | Further, it decreases the velocity by which you can ship new compilers |
| 15:51:36 | <dminuoso> | especially if some distributions have strict guideliness pinning major versions to distribution upgrades |
| 15:51:50 | <dminuoso> | and that causes quite a lot of frictions when users cant compile your project because the vendor refuses to be up-to-date with compilers |
| 15:52:07 | <dminuoso> | and it becomes a human resource problem, who maintains packages for all the different distributions? |
| 15:52:12 | <dminuoso> | who pays them? who has control over that? |
| 15:52:16 | <pkal> | dminuoso: the last point is not necessarily something I think is bad. I certainly can appreciate languages that develop slowly. |
| 15:53:04 | <dminuoso> | pkal: GHC is not just a production compiler, it also serves as a foundation for research into new Haskell extensions. These extensions get used, so not having access to modern compilers can quickly lock people out. |
| 15:53:21 | <dminuoso> | But yeah, I agree that its not necessarily bad |
| 15:53:23 | <dminuoso> | but it is what it is |
| 15:53:49 | <dminuoso> | If the compiler receives rapid iteration, then you want an installation model where you can upgrade reasonably |
| 15:53:59 | <dminuoso> | but I think the maintainers job is a real problem |
| 15:54:03 | <yushyin> | i already had the situation where my haskell project needed an older ghc and my distribution only had newer ghc, not a situation you want to be in |
| 15:54:07 | <pkal> | I guess what I want to say is that this is also a barrier in many ways. E.g. I cannot use Haskell at Uni because I don't have enough storage for the entire toolchain. |
| 15:54:53 | <dminuoso> | pkal: Okay, that's a fair point. |
| 15:54:54 | <pkal> | Also, I really have to be desperate before executing a "curl ... | sh" command |
| 15:54:55 | <yushyin> | that problem you will face either way |
| 15:55:17 | <dminuoso> | pkal: you can always pipe it into a file and inspect it first. |
| 15:55:20 | <dminuoso> | you should, infacft. |
| 15:55:43 | <dminuoso> | I guess we just adhere to the standard because there's folks that *want* something they can just copy and paste blindly. Those that are wary enough will inspect it anyway |
| 15:55:43 | <eldritchcookie[m> | does anyone have any experience with making desktop applications with haskell? i really want to make an alternative to maptool but i can't justify doing a project which takes too long, how long would just an application displaying maps with tokens and connecting to servers take because if it is reasonably short i will do it |
| 15:56:10 | <merijn> | pkal: How little storage is your uni giving you? :O |
| 15:56:14 | <pkal> | yushyin: From my perspective, this is totally backwards. A newer compiler shouldn't fail to build something an older compiler could (assuming this was not a bug). |
| 15:56:21 | <pkal> | merijn: under 2GB |
| 15:56:28 | <dminuoso> | pkal: it doesnt, generally |
| 15:56:33 | <mauke> | pkal: that's what the "I don't like curl | sh" link is for |
| 15:56:39 | <dminuoso> | pkal: but the real problem is, people write code using features that only newer compiler have. |
| 15:56:41 | <merijn> | pkal: oof, can't ask for more? |
| 15:56:54 | <dminuoso> | so if you want to work on libX that requires modern langauge extensions, then thats it |
| 15:56:59 | <geekosaur> | undergrads couldn't at C-MU |
| 15:57:06 | → | nonames joins (~nonames@95.107.230.70) |
| 15:57:40 | <geekosaur> | and ECE had to run its own computing plant because Andrew/main computing wouldnt give ugrads enough space to run Verilog |
| 15:57:54 | <pkal> | mauke: I saw that, but my issue is not so much the piping but the very premise of running some script that installs stuff |
| 15:58:08 | <geekosaur> | sadly, that's what people want these days |
| 15:58:39 | <merijn> | pkal: tbh, the GHC bindist binaries still work fine if you're a grumpy curmudgeon like me :p |
| 15:58:41 | <pkal> | merijn: You can, but officially we are not allowed to install our own software. I could ask the admins to install the stuff system wide, but that is usually a fuss... |
| 15:59:00 | <pkal> | merijn: I am not familiar with those, can you give me a link to find out more? |
| 15:59:24 | <yushyin> | pkal: it does all the time, though. it is called backward incompatible changes (in ghc or ghc's base libraries or libraries on hackage that depend on ghc etc.) |
| 15:59:28 | <mauke> | technically you're not allowed to visit websites, then |
| 15:59:36 | → | freeside joins (~mengwong@103.252.202.85) |
| 15:59:47 | <merijn> | pkal: https://www.haskell.org/ghc/download.html those are just pre-built binaries "./configure --prefix=install/dirs" then make install to have it copy everything to the install dir |
| 16:00:04 | × | ozkutuk[m] quits (~ozkutuk@2001:470:69fc:105::2:9af8) (Quit: You have been kicked for being idle) |
| 16:00:10 | × | acidjnk quits (~acidjnk@p200300d6e715c483659304cc434f2db7.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 16:00:16 | → | jinsl joins (~jinsl@123.120.195.215) |
| 16:00:32 | × | jinsl- quits (~jinsl@123.120.195.215) (Ping timeout: 252 seconds) |
| 16:00:36 | <pkal> | mauke: it is a rule that has to be stated, but isn't enforced. I mean I installed Emacs from source, and got away with it until now. |
| 16:00:51 | <geekosaur> | the "configure" being to inspect your system toolchain and build a settings file for ghc to adapt to it |
| 16:00:53 | → | ozkutuk[m] joins (~ozkutuk@2001:470:69fc:105::2:9af8) |
| 16:01:04 | <pkal> | merijn: interesting, does this then also work with the haskell language server? |
| 16:01:18 | <geekosaur> | nope, that you have to install yourself |
| 16:01:43 | <yushyin> | with only 2GB you'll have rather little fun with haskell anyway, /me looks at his >5GB cabal cache |
| 16:01:43 | <geekosaur> | part of the point of ghcup is it handles ghc/cabal/stack/hls for you |
| 16:02:02 | <merijn> | pkal: no, this is just GHC |
| 16:02:11 | <pkal> | geekosaur: Sure, that is what I tried but I constantly kept getting issues with incompatible versions. |
| 16:02:20 | <pkal> | I meant to ask do these binaries work with HLS |
| 16:02:57 | <geekosaur> | they should, ghcup uses the same binaries |
| 16:03:31 | <pkal> | I might just try that out, since the ghcup script doesn't appear to be working... |
| 16:04:18 | <geekosaur> | so does stack, for that matter, although there have in the past been odd problems with using HLS with stack-installed ghcs |
| 16:05:15 | ← | ozkutuk[m] parts (~ozkutuk@2001:470:69fc:105::2:9af8) () |
| 16:05:29 | × | freeside quits (~mengwong@103.252.202.85) (Ping timeout: 265 seconds) |
| 16:05:47 | <geekosaur> | as for backward compatibility, ghc itself is generally backward compatible but base often isn't |
| 16:06:08 | <geekosaur> | (base being the the core Haskell library package) |
| 16:06:24 | <geekosaur> | people keep demanding changes |
| 16:08:06 | × | jinsl quits (~jinsl@123.120.195.215) (Ping timeout: 268 seconds) |
| 16:08:41 | <geekosaur> | and then building with -Werror which imo should be named -Wno-backcompat |
| 16:08:50 | → | jinsl joins (~jinsl@2408:8207:255d:b420:211:32ff:fec8:6aea) |
| 16:09:20 | <pkal> | well neither of the two are warnings |
| 16:10:12 | <geekosaur> | but changes to base can raise warnings in older code |
| 16:10:48 | → | acidjnk joins (~acidjnk@p200300d6e715c496659304cc434f2db7.dip0.t-ipconnect.de) |
| 16:10:59 | <geekosaur> | for example, just reported todat: |
| 16:11:04 | <geekosaur> | XMonad/Actions/MessageFeedback.hs:50:39: warning: [-Wunused-imports] |
| 16:11:04 | <geekosaur> | The import of ‘liftA2’ from module ‘XMonad.Prelude’ is redundant |
| 16:11:21 | <geekosaur> | *today |
| 16:12:01 | <geekosaur> | because liftA2 moved from Control.Applicative (where XMonad.Prelude was getting it) to Prelude in the base that ships with 9.6.1 |
| 16:12:16 | × | vglfr quits (~vglfr@88.155.43.86) (Ping timeout: 246 seconds) |
| 16:15:13 | → | klestor joins (~klestor@2a02:c7c:3114:a400:46d:d1c0:4437:4288) |
| 16:18:38 | → | vglfr joins (~vglfr@88.155.43.86) |
| 16:18:43 | × | mbuf quits (~Shakthi@49.207.178.186) (Quit: Leaving) |
| 16:24:39 | × | nonames quits (~nonames@95.107.230.70) (Quit: Client closed) |
| 16:25:28 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a807:948e:ff4f:3b94) |
| 16:28:21 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a807:948e:ff4f:3b94) (Remote host closed the connection) |
| 16:28:36 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a807:948e:ff4f:3b94) |
| 16:37:29 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 16:40:13 | × | monoidal quits (~monoidal@2a01cb0801ce4b004a3097b2a6e32336.ipv6.abo.wanadoo.fr) (Quit: Client closed) |
| 16:40:21 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Remote host closed the connection) |
| 16:40:37 | × | kenran quits (~user@user/kenran) (Remote host closed the connection) |
| 16:42:36 | × | ray_caster quits (~ray_caste@81-226-21-87-no256.tbcn.telia.com) (Quit: ray_caster) |
| 16:44:08 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a807:948e:ff4f:3b94) (Remote host closed the connection) |
| 16:46:32 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 16:47:37 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 16:49:10 | → | robobub joins (uid248673@id-248673.uxbridge.irccloud.com) |
| 16:52:09 | → | monoidal joins (~monoidal@2a01cb0801ce4b004a3097b2a6e32336.ipv6.abo.wanadoo.fr) |
| 16:54:13 | → | neiluj joins (~julien@ip-185-64-149-28.naitways.net) |
| 16:57:22 | × | gurkenglas quits (~gurkengla@dynamic-046-114-183-233.46.114.pool.telefonica.de) (Ping timeout: 276 seconds) |
| 16:58:25 | × | cheater quits (~Username@user/cheater) (Ping timeout: 250 seconds) |
| 17:00:25 | → | freeside joins (~mengwong@103.252.202.85) |
| 17:00:49 | × | waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 256 seconds) |
| 17:02:59 | → | cheater joins (~Username@user/cheater) |
| 17:04:41 | × | freeside quits (~mengwong@103.252.202.85) (Ping timeout: 246 seconds) |
| 17:06:23 | × | kenaryn quits (~aurele@89-88-44-27.abo.bbox.fr) (Quit: leaving) |
| 17:06:39 | × | mikoto-chan quits (~mikoto-ch@dy54z4y1t9qnwdj1ryyby-4.rev.dnainternet.fi) (Ping timeout: 250 seconds) |
| 17:08:40 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 17:10:07 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 17:15:33 | × | neiluj quits (~julien@ip-185-64-149-28.naitways.net) (Quit: WeeChat 3.7.1) |
| 17:16:12 | × | klestor quits (~klestor@2a02:c7c:3114:a400:46d:d1c0:4437:4288) (Quit: Client closed) |
| 17:20:46 | × | pdw quits (~user@215.156.62.185.bridgefibre.net) (Ping timeout: 276 seconds) |
| 17:25:22 | → | elkcl joins (~elkcl@broadband-37-110-27-252.ip.moscow.rt.ru) |
| 17:26:41 | → | kenaryn joins (~aurele@89-88-44-27.abo.bbox.fr) |
| 17:30:37 | → | freeside joins (~mengwong@103.252.202.85) |
| 17:33:41 | × | kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1)) |
| 17:36:11 | × | famubu quits (~famubu@user/famubu) (Quit: leaving) |
| 17:39:37 | × | freeside quits (~mengwong@103.252.202.85) (Ping timeout: 276 seconds) |
| 17:43:17 | → | gurkenglas joins (~gurkengla@dynamic-046-114-183-233.46.114.pool.telefonica.de) |
| 17:44:20 | <dminuoso> | pkal: At any rate, most distributions still have their own GHC packages. |
| 17:44:28 | <dminuoso> | If your beef is with ghcup not being part of that, you can still use it. |
| 17:44:37 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a807:948e:ff4f:3b94) |
| 17:44:40 | × | gdr3941 quits (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) (Ping timeout: 252 seconds) |
| 17:44:46 | <dminuoso> | And if that's not up-to-date, take it up to the maintainer. That problem is really orthogonal to ghcup. |
| 17:45:20 | <dminuoso> | Very few projects have an umbrella organisation that can pay for dedicated and official maintainers for packages across various distributions. |
| 17:45:35 | × | mei quits (~mei@user/mei) (Remote host closed the connection) |
| 17:45:59 | <dminuoso> | In most cases you're at the mercy of some volunteer whose interests may or may not align with yours, or their available time might not align with your expecentcy of frequent updates. |
| 17:46:22 | <dminuoso> | ghcup existing is great because it gives you an alternate way to get a recent GHC. |
| 17:46:39 | <dminuoso> | If you're forced to stick to your distribution, then stick to that. If it lacks GHC, then ghcup is certainly not a cause of that. |
| 17:46:56 | <dminuoso> | In fact, ghcup is considered supported only on a limited number of distributions |
| 17:47:37 | <dminuoso> | It's also much less effort to maintain ghcup than it is to maintain a complex CI matrix and over a dozen different build systems. |
| 17:48:46 | <dminuoso> | If somebody paid enough money to {HF, Haskell consultancy of your choosing}, Im sure well maintained and supported packages for their favourite distribution can arise as you want them. Until then I would rather show gratitude to the folks like maerwald that do donate their own time to improve the situation for many people. |
| 17:49:07 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a807:948e:ff4f:3b94) (Ping timeout: 250 seconds) |
| 17:49:21 | <sm> | I want a copy-pastable command that downloads with curl, views it with a pager, then runs it only if you scrolled to the end and exited normally. Possible ? |
| 17:50:26 | → | gdr3941 joins (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) |
| 17:50:30 | → | famubu joins (~famubu@user/famubu) |
| 17:51:03 | <pkal> | dminuoso: The way I see it ghcup is less of an alternative to get GHC, but the only way if you want stuff to work. I don't mind it existing, some people work that way, I don't like that the fact that it has become necessary. |
| 17:51:21 | <pkal> | in other words, ghcup is the symptom |
| 17:53:26 | × | monoidal quits (~monoidal@2a01cb0801ce4b004a3097b2a6e32336.ipv6.abo.wanadoo.fr) (Quit: Client closed) |
| 17:53:32 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 17:53:51 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:54:02 | → | mei joins (~mei@user/mei) |
| 17:54:14 | <geekosaur> | it's not necessary. stack has its own ways of doing things, and you can install bindists |
| 17:54:34 | <geekosaur> | ghcup is used by CI jobs but that's hardly applicable to ordinary programmers |
| 17:55:04 | <geekosaur> | if you want to use a distro package, you can at the cost that many distros run well behind ghc dev |
| 17:55:13 | <geekosaur> | (looking at you, ubuntu) |
| 17:55:39 | <geekosaur> | but that was true before ghcup, and indeed ghcup exists in part because of this, not the other way around |
| 17:55:44 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a807:948e:ff4f:3b94) |
| 17:55:54 | → | freeside joins (~mengwong@103.252.202.85) |
| 17:56:02 | <geekosaur> | there's no way to get debian/ubuntu to speed up releases, so we have to work around them |
| 17:56:42 | <geekosaur> | if this bugs you, try arch or some other rolling release distro — notingt that arch has its own haskell packaging issues, but some arch derivatives have fixed them (arco?) |
| 17:56:43 | <dminuoso> | pkal: it's by no measure the only way to get things to work. |
| 17:57:02 | <dminuoso> | pkal: Across most distributions you can just get GHC and cabal-install from the package manager, and bootstrap yourself from there. |
| 17:57:35 | <dminuoso> | There's a few special snowflakes where that is probably a bad idea like Arch Linux, but that's really an Arch Linux problem. |
| 17:57:49 | <dminuoso> | Im not quite sure why you presume that ghcup is required. |
| 18:00:19 | <dminuoso> | The one thing that is a bit touchy is perhaps Haskell Language Server, but that begins into a long discussion of how difficult is it to provide an environment in which you can have multiple compilers, multiple binaries, and then need a tie in to run particular binaries when particular compiler versions are in the environment. |
| 18:00:31 | × | freeside quits (~mengwong@103.252.202.85) (Ping timeout: 265 seconds) |
| 18:00:38 | <dminuoso> | This ultimately is a question about resources/manpower. |
| 18:01:04 | <dminuoso> | But its still addressable if your system of choice has hls as a package. |
| 18:01:05 | × | Square quits (~Square4@user/square) (Ping timeout: 246 seconds) |
| 18:01:34 | <dminuoso> | But in no way is ghcup the root of a problem here. It's not necessary, and its existence doesnt complicate your world if you dont want it. |
| 18:03:19 | × | vpan quits (~0@212.117.1.172) (Quit: Leaving.) |
| 18:03:49 | <sm> | agreed it's not the root, but could be a crutch if we rely on it too much and forget to push on native packaging |
| 18:04:11 | → | cheater_ joins (~Username@user/cheater) |
| 18:06:15 | <sm> | and the core language/tooling issues that make that difficult |
| 18:06:55 | × | cheater quits (~Username@user/cheater) (Ping timeout: 276 seconds) |
| 18:06:55 | cheater_ | is now known as cheater |
| 18:07:19 | × | kenaryn quits (~aurele@89-88-44-27.abo.bbox.fr) (Quit: leaving) |
| 18:08:31 | <c_wraith> | before ghcup, I did what it does manually. distro packaging has always been useless for haskell dev work |
| 18:10:17 | <dminuoso> | c_wraith: I think the core issue here is compiler instability - and by that I mean not just backwards breaking changes, but also unreliable forward stability, which quickly necessitates having multiple compilers simultaneously. |
| 18:10:44 | <dminuoso> | Which is fairly hard to do for most package managers that are not nix |
| 18:11:08 | <pkal> | dminuoso: right, and that is why I say that ghcup is a symptom |
| 18:11:23 | × | troydm quits (~troydm@user/troydm) (Ping timeout: 248 seconds) |
| 18:11:45 | <dminuoso> | Ah I see. |
| 18:11:48 | <dminuoso> | Yeah I suppose. |
| 18:13:36 | <pkal> | In a wider sense I am sad to see that Haskell is not a really standardised language. |
| 18:13:56 | <dminuoso> | It is a standardised language, actually. |
| 18:13:57 | <pkal> | I get the feeling there is too much dependence on GHC |
| 18:14:15 | <pkal> | dminuoso: yeah, actually, but I doubt that I'll manage to build most software using hugs |
| 18:14:37 | <c_wraith> | the dependence on GHC is mostly the result of other implementations being private or unmaintained. |
| 18:15:01 | <dminuoso> | Which again is the result of lacking funding. Given how small Haskell is, I think it's great GHC gets funded as good as it does. |
| 18:15:03 | <pkal> | I admire the fact that you can write non-trivial software in common lisp, include dependencies and then just switch out the compiler without having to change anything. |
| 18:15:31 | <dminuoso> | pkal: Sure. But different from lisp, GHC simultaneously acts as a foundation on language research. |
| 18:15:34 | <pkal> | c_wraith: is the question then why the public implementations stopped being maintained? |
| 18:15:39 | <dminuoso> | Which overall probably helps more than it hurts. |
| 18:15:53 | <dminuoso> | It increases attention and lets researchers explore new ideas |
| 18:16:10 | <pkal> | dminuoso: ok, but shouldn't that be possible independently of people who aren't using it for language research |
| 18:16:24 | <dminuoso> | pkal: sure in principle it is, because these features are just language extensions. |
| 18:16:33 | <c_wraith> | pkal: nah, Haskell users *like* to not be left 50 years behind the curve on language research |
| 18:16:43 | <dminuoso> | but at the same time if an exciting language feature is developed, there's people who can utilize it to improve expressivity of their programs |
| 18:16:48 | <c_wraith> | pkal: so we rather enjoy it when we can actually use new features |
| 18:17:48 | <pkal> | c_wraith: I think that is a mistake, at least depending on what you are doing. |
| 18:18:54 | <pkal> | improving the expressivity of their programmes should not come at the cost of increasing the burden of users to build and hack on the software. |
| 18:19:07 | <pkal> | IMO at least, I expect people to disagree here ^^ |
| 18:19:30 | <dminuoso> | pkal: So I think making features available to the wide audience is what makes the research so interesting. |
| 18:19:39 | <dminuoso> | Because it gives you a different method of peer review. |
| 18:20:07 | <dminuoso> | It not just lets you just write a paper, but it also demonstrates what helps in libraries |
| 18:20:18 | <dminuoso> | An extension that is widely used seems to be clearly something that helps peoplpe. |
| 18:20:41 | <pkal> | sure, but the audience in this case have their own audience, that don't gain anything but only notice that their GHC is too old |
| 18:21:02 | <dminuoso> | pkal: This at the end boils down to funding really. If you want multiple compilers, you need folks to maintain them. |
| 18:21:22 | <dminuoso> | GHC maintaince involves several people who get paid full time to work on various parts of it. |
| 18:21:29 | <dminuoso> | If more funding was available, more things could be done. |
| 18:21:48 | <pkal> | I am certainly not objecting to language research, we wouldn't have Haskell otherwise. But there is a time for researching languages, and there is a time for writing system software that you want to be used. |
| 18:21:52 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 18:22:02 | <dminuoso> | I think GHC is a good demonstration that these two need not be separate. |
| 18:22:13 | <dminuoso> | It's internal construction largely allows them to coexist peacefully. |
| 18:22:24 | <pkal> | of course they don't need to be, I am trying to argue that they should ^^ |
| 18:23:07 | <pkal> | either way, I cannot but think that complexity is part of the need for funding (and perversely perhaps intentional to legitimate it) |
| 18:23:31 | <dminuoso> | Having more compilers require more folks to maintain them. |
| 18:24:12 | <dminuoso> | I dont think there exists any major language implementation that doesn't receive significant funding from industry or some umbrella organization. |
| 18:24:37 | <dminuoso> | It's mostly just the incredibly popular languages where a bunch of alternative implementations arise, but most tend to die out after a while. |
| 18:24:43 | × | vglfr quits (~vglfr@88.155.43.86) (Ping timeout: 260 seconds) |
| 18:24:52 | <dminuoso> | But even then, it's just a matter of "if there's millions of users, there's bound to be a few crazy ones with too much time on their spare hands" |
| 18:25:19 | <dminuoso> | And the reason for these alternate implementations dying out is pretty much just one reason: |
| 18:25:24 | <dminuoso> | Not enough time or not enough money. |
| 18:26:39 | <dminuoso> | pkal: The thing is, the only cost I can see of keeping research and industry combined in GHC is a little bit of inconvenience in installation. A small price for novel language features available at your finger tips. |
| 18:26:54 | → | vglfr joins (~vglfr@88.155.43.86) |
| 18:26:58 | <dminuoso> | A price well worth paying. |
| 18:27:26 | → | slack1256 joins (~slack1256@181.42.50.18) |
| 18:27:43 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 18:29:57 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a807:948e:ff4f:3b94) (Remote host closed the connection) |
| 18:35:05 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a807:948e:ff4f:3b94) |
| 18:36:46 | <pkal> | I get your point, but I am not that interested in the novel language features. The only reason I am even using ghcup is because I need hls. And I need hls, because from what I see all other systems for language support have been abandoned. After ghc-mod got deprecated, I had a long phase were I couldn't be bothered to use Haskell at all (sadly). |
| 18:38:36 | <dminuoso> | pkal: ghcid works just fine. |
| 18:38:52 | <dminuoso> | it's extremely minimalistic and is near guaranteed to work for years to come. |
| 18:40:00 | <geekosaur> | alos ghc-mod is not so much abandoned as incorporated |
| 18:40:32 | <geekosaur> | there were like 3 projects all doing the same thing, they joined forces |
| 18:40:52 | <pkal> | and broke the setup I had |
| 18:41:08 | <pkal> | which I, visibly, resent |
| 18:41:35 | <pkal> | dminuoso: ghcid seems interesting, but it doesn't appear to provide anything more than what haskell-mode already has |
| 18:42:07 | <dminuoso> | what do you mean?> |
| 18:42:26 | <dminuoso> | ghcid can be trivially tied into your editor for instant compilation and targeted error reporting (say flycheck) |
| 18:42:44 | → | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 18:42:45 | <dminuoso> | with some minor extra tie in you even get type reporting |
| 18:43:27 | <pkal> | dminuoso: I took a look at the Emacs integration and didn't see anything that would provide completion. |
| 18:43:54 | <dminuoso> | Sure, ctags/etags is enough for that. |
| 18:44:02 | <dminuoso> | Which haskell-mode already generates. |
| 18:44:20 | <dminuoso> | pkal: What exactly do you want from HLS that haskell-mode does not have, then? |
| 18:46:37 | × | famubu quits (~famubu@user/famubu) (Ping timeout: 268 seconds) |
| 18:47:44 | <pkal> | In my experience, at least for Haskell, TAGS based completion/jump-to-definition was not robust enough and hat too many false positives or negatives. |
| 18:48:38 | <pkal> | Also, I recall having issues with Flymake diagnostics when a project uses Cabal/Stack. |
| 18:50:15 | <pkal> | Also, I don't think that TAGS take types into account when completing. |
| 18:51:47 | <dminuoso> | Yup, it does not. |
| 18:51:57 | <dminuoso> | Yes, ghcid is not HLS |
| 18:52:05 | <dminuoso> | But it gives you quick feedback about errors while you write code |
| 18:52:32 | → | freeside joins (~mengwong@103.252.202.85) |
| 18:53:53 | <geekosaur> | mm, actually there is a sense in which ghcup is forced on people: the haskell plugin for vscode uses it to manage ghc/hls/stack/cabal |
| 18:54:44 | <geekosaur> | (and has very fixed ideas of how to use it, which means I have a dummy ~/.cabal because I switched to XDG mode but vscode uses the wrong cabal at first) |
| 18:56:43 | <sm> | true, except does it not give you a choice once the first time ? |
| 18:57:23 | × | freeside quits (~mengwong@103.252.202.85) (Ping timeout: 260 seconds) |
| 18:58:41 | <geekosaur> | mm, iirc that was more a "do you want me to work or not?" |
| 18:58:42 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a807:948e:ff4f:3b94) (Remote host closed the connection) |
| 19:00:17 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a807:948e:ff4f:3b94) |
| 19:00:56 | × | ddellaco1 quits (~ddellacos@146.70.165.10) (Quit: WeeChat 3.8) |
| 19:02:08 | → | ddellacosta joins (~ddellacos@146.70.165.10) |
| 19:05:38 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a807:948e:ff4f:3b94) (Remote host closed the connection) |
| 19:14:57 | × | gurkenglas quits (~gurkengla@dynamic-046-114-183-233.46.114.pool.telefonica.de) (Ping timeout: 265 seconds) |
| 19:16:36 | → | gurkenglas joins (~gurkengla@dynamic-002-247-245-038.2.247.pool.telefonica.de) |
| 19:16:42 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 19:22:12 | × | vglfr quits (~vglfr@88.155.43.86) (Ping timeout: 265 seconds) |
| 19:23:13 | × | gdr3941 quits (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) (Remote host closed the connection) |
| 19:23:27 | → | gdr3941 joins (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) |
| 19:28:52 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 19:30:15 | → | rburkholder joins (~blurb@96.45.2.121) |
| 19:30:29 | × | gmg quits (~user@user/gehmehgeh) (Ping timeout: 255 seconds) |
| 19:31:45 | → | gmg joins (~user@user/gehmehgeh) |
| 19:34:07 | × | gdr3941 quits (~user@2601:483:4800:5740:f998:7c21:2dc2:5367) (Remote host closed the connection) |
| 19:38:19 | × | slack1256 quits (~slack1256@181.42.50.18) (Ping timeout: 250 seconds) |
| 19:50:05 | × | Techcable quits (~Techcable@user/Techcable) (Read error: Connection reset by peer) |
| 19:50:14 | → | Techcable joins (~Techcable@user/Techcable) |
| 19:50:35 | × | szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 19:55:43 | → | kenaryn joins (~aurele@89-88-44-27.abo.bbox.fr) |
| 20:01:53 | <dminuoso> | % type Middleware = forall m. App m -> App m |
| 20:01:53 | <yahb2> | <no output> |
| 20:02:01 | <dminuoso> | % foo = Middleware; foo = undefined |
| 20:02:01 | <yahb2> | <interactive>:10:19: error: ; Multiple declarations of ‘foo’ ; Declared at: <interactive>:10:1 ; <interactive>:10:19 |
| 20:02:06 | <dminuoso> | % foo :: Middleware; foo = undefined |
| 20:02:06 | <yahb2> | <no output> |
| 20:02:12 | <dminuoso> | What. |
| 20:02:17 | <dminuoso> | Oh |
| 20:02:20 | <dminuoso> | % foo :: IO Middleware; foo = undefined |
| 20:02:20 | <yahb2> | <interactive>:14:8: error: ; • Illegal polymorphic type: forall m. App m -> App m ; Perhaps you intended to use ImpredicativeTypes ; • In the expansion of type synonym ‘Middleware’ ; ... |
| 20:02:43 | <dminuoso> | Im quite annoyed by all of this. |
| 20:03:50 | <EvanR> | how I learned to stop worry and love impredicative types? |
| 20:03:54 | <EvanR> | worrying* |
| 20:04:22 | <dminuoso> | See Im traumatized by this extension. |
| 20:04:24 | <int-e> | newtype wrappers work |
| 20:04:26 | <dminuoso> | Too afraid to flip it on. |
| 20:05:13 | <int-e> | And I suspect the extra wrapping/unwrapping is less painful than fighting the shortcomings of that extension. |
| 20:05:29 | <monochrom> | I got annoyed a bit too. Then I recalled that the paper and the GHC user's guide point out that eta reduction confuses quicklook, suitable eta expansion solves it. |
| 20:05:56 | → | gdr3941 joins (~user@2601:483:4800:5740:bd6c:6a59:14bf:bde4) |
| 20:06:06 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a807:948e:ff4f:3b94) |
| 20:06:29 | <dminuoso> | monochrom: Do you know how many bindings I have to refactor to eta-expand that synonym?! |
| 20:07:00 | <monochrom> | No, I mean eta-expanding value definitions. |
| 20:07:03 | <dminuoso> | Ah. |
| 20:07:26 | <monochrom> | E.g., when "f = ..." fails, usually "f x = ..." helps. |
| 20:07:33 | <dminuoso> | I guess this is not lacking eta expansion though. |
| 20:07:44 | <dminuoso> | It really is the problem that the type synonym forces the forall inside IO |
| 20:08:01 | <monochrom> | Oh, IO (forall m ...) really needs impredicative types :) |
| 20:08:06 | <dminuoso> | There's not really a way to specify a "floaty" (forced rank 1) quantification |
| 20:08:09 | <dminuoso> | Which is what I really want |
| 20:08:15 | <monochrom> | Either that or use newtype wrapping. |
| 20:09:12 | <c_wraith> | yeah, I'm annoyed at people writing bad code and then using it to justify -XDeepSubsumption |
| 20:09:26 | <monochrom> | But then I guess refactoring your bindings to add wrapping+unwrapping is a headache. |
| 20:09:46 | <dminuoso> | Well it all started out by refactoring my radius library in the style of warp |
| 20:09:48 | <dminuoso> | type RadApp m = Client -> Packet -> (Maybe Packet -> m ResponseReceived) -> m ResponseReceived |
| 20:10:02 | <dminuoso> | That `m` used to be IO before until it occured to me that I wanted monad-logger.. |
| 20:10:23 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a807:948e:ff4f:3b94) (Ping timeout: 250 seconds) |
| 20:11:13 | <monochrom> | I am not ready to say that highly eta-reduced code is bad code. I mean it has been idiomatic Haskell for a long time. You have to highly believe in System F instead to say that eta reduction is undesirable. |
| 20:11:46 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 20:12:07 | <dminuoso> | monochrom: I found the arguments of the subtle change in strictness without deep subsumption to be quite weak. |
| 20:12:19 | <dminuoso> | It seemed like an idealistic argument that defies pragmaticism. |
| 20:12:47 | <dminuoso> | The other argument about simplified implementation was turned ad absurdum when they added deep subsumption back again |
| 20:13:20 | <dminuoso> | So now we're left with something that mostly just inconveniences users during migration and writing code, to avoid some special edge that that probably never has and never will cause a bug *shrugs* |
| 20:13:51 | <c_wraith> | It would have been a lot better if people just treated type aliases with a forall in them as buggy in the first place |
| 20:14:01 | <c_wraith> | deep subsumption was always obviously wrong |
| 20:14:25 | <monochrom> | Oh, then that covers all of lens. >:) |
| 20:14:36 | <c_wraith> | nah, the optic type doesn't have a forall |
| 20:14:37 | <dminuoso> | Im fine with that! Im an optics subscriber. |
| 20:14:38 | <c_wraith> | it's fine |
| 20:15:09 | <monochrom> | Yeah I just means the lens library, not other offerings of lenses in general. |
| 20:15:21 | <c_wraith> | I also meant the lens library |
| 20:15:57 | <c_wraith> | You can use it without ever putting a forall inside a type alias |
| 20:16:49 | <dminuoso> | type Optic p f s t a b = p a (f b) -> p s (f t) |
| 20:17:01 | <dminuoso> | How are constraints communicated here? |
| 20:17:16 | <c_wraith> | they aren't. You add them depending on your needs |
| 20:17:21 | × | kenaryn quits (~aurele@89-88-44-27.abo.bbox.fr) (Quit: leaving) |
| 20:17:23 | <c_wraith> | which you can conveniently do, because there's no forall |
| 20:17:36 | <c_wraith> | This is the advantage of an open representation |
| 20:18:36 | <dminuoso> | type LensLike f s t a b = Optic (->) f s t a b |
| 20:18:38 | <dminuoso> | type Lens s t a b = forall f. Functor f => LensLike f s t a b |
| 20:18:40 | <dminuoso> | I see |
| 20:19:02 | <dminuoso> | Either way, not a big fan of this because this encoding pushes diagnostics in the wrong way. |
| 20:19:12 | <dminuoso> | optics keeps them constrained and legible |
| 20:19:34 | <c_wraith> | and keep you from doing anything useful |
| 20:19:47 | <c_wraith> | all you can do with optics is the boring stuff |
| 20:19:48 | <dminuoso> | Not sure why you say that *shrugs* |
| 20:20:12 | <dminuoso> | I have yet to miss something from lens. |
| 20:20:14 | <c_wraith> | There's still no holesOf |
| 20:20:24 | <c_wraith> | there's no support for witherable structures |
| 20:20:50 | <dminuoso> | None of them fit our use cases. |
| 20:21:04 | <c_wraith> | Or you just haven't realized that they do |
| 20:21:04 | <dminuoso> | And to be fair, witherable isnt even supported in pure lens itself. |
| 20:21:27 | <c_wraith> | Nah, but adding support was trivial (so long as you ignore the bad ideas in that old blog post..) |
| 20:21:37 | <dminuoso> | You're referring to this right? https://github.com/chowells79/lens-witherable |
| 20:21:42 | <c_wraith> | yep |
| 20:21:55 | <dminuoso> | That name looks familiar, is that you? |
| 20:21:59 | <c_wraith> | yep |
| 20:22:51 | <dminuoso> | Either way, maybe optics is missing some things. But the things I mostly care about is just deep nested indexed folds |
| 20:23:25 | <c_wraith> | The witherable stuff is niche. but really, I'm shocked you've never wanted holesOf. |
| 20:24:25 | <c_wraith> | Like, it seems incredibly common to want to do something with a data structure modified at each of several locations independently. |
| 20:24:42 | <dminuoso> | Heh I do. However |
| 20:24:50 | <dminuoso> | In my case these are not spread over multiple fields in a traversal |
| 20:24:59 | <dminuoso> | but in our use cases they are instead spread over choices in a union type instead. |
| 20:25:12 | <dminuoso> | And for that there's really poor support, you have to unsafely construct lenses |
| 20:25:33 | × | trev quits (~trev@user/trev) (Remote host closed the connection) |
| 20:26:03 | <dminuoso> | So we have things like: commonInterface = unsafeSingular $ (_Service1Q % commonInterface) `failingT` (_ServiceL3 % commonInterface) |
| 20:26:26 | → | freeside joins (~mengwong@103.252.202.85) |
| 20:26:29 | <dminuoso> | Which is sort of the dual idea of holesOf |
| 20:27:05 | <dminuoso> | c_wraith: But either way, editing itself is something I rarely need. |
| 20:27:38 | <dminuoso> | Which is why in most cases I end up just adjoining traversals instead |
| 20:30:48 | × | freeside quits (~mengwong@103.252.202.85) (Ping timeout: 255 seconds) |
| 20:33:01 | × | haskl quits (~haskl@user/haskl) (Ping timeout: 252 seconds) |
| 20:34:24 | → | haskl joins (~haskl@user/haskl) |
| 20:52:07 | → | acidjnk_new joins (~acidjnk@p200300d6e715c4967481643c9dce377b.dip0.t-ipconnect.de) |
| 20:54:03 | × | acidjnk quits (~acidjnk@p200300d6e715c496659304cc434f2db7.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 20:55:12 | → | ft joins (~ft@p3e9bc443.dip0.t-ipconnect.de) |
| 21:00:40 | → | troydm joins (~troydm@user/troydm) |
| 21:07:47 | → | falafel joins (~falafel@2603-8000-d700-115c-b7d3-0ca4-f66f-6027.res6.spectrum.com) |
| 21:07:59 | × | gdd quits (~gdd@2001:470:1f13:187:3842:fb35:b4d5:65e2) (Ping timeout: 264 seconds) |
| 21:08:52 | → | gdd joins (~gdd@2001:470:1f13:187:2eb4:3062:b059:4462) |
| 21:12:47 | × | falafel quits (~falafel@2603-8000-d700-115c-b7d3-0ca4-f66f-6027.res6.spectrum.com) (Ping timeout: 250 seconds) |
| 21:26:10 | × | mtjm quits (~mutantmel@2604:a880:2:d0::208b:d001) (Remote host closed the connection) |
| 21:27:25 | → | mtjm joins (~mutantmel@2604:a880:2:d0::208b:d001) |
| 21:35:45 | → | dsrt^ joins (~dsrt@c-24-30-76-89.hsd1.ga.comcast.net) |
| 21:38:32 | → | freeside joins (~mengwong@103.252.202.85) |
| 21:43:15 | × | freeside quits (~mengwong@103.252.202.85) (Ping timeout: 255 seconds) |
| 21:47:42 | × | haritz quits (~hrtz@user/haritz) (Remote host closed the connection) |
| 21:51:18 | → | haritz joins (~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) |
| 21:51:18 | × | haritz quits (~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) (Changing host) |
| 21:51:18 | → | haritz joins (~hrtz@user/haritz) |
| 21:53:57 | × | gdr3941 quits (~user@2601:483:4800:5740:bd6c:6a59:14bf:bde4) (Ping timeout: 250 seconds) |
| 21:54:06 | → | Square2 joins (~Square4@user/square) |
| 21:54:26 | × | Square2 quits (~Square4@user/square) (Remote host closed the connection) |
| 21:54:57 | → | Square2 joins (~Square4@user/square) |
| 21:55:23 | × | haritz quits (~hrtz@user/haritz) (Remote host closed the connection) |
| 21:55:59 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 264 seconds) |
| 21:56:21 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 22:03:43 | → | gdr3941 joins (~user@2601:483:4800:5740:bd6c:6a59:14bf:bde4) |
| 22:04:23 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
| 22:07:01 | → | haritz joins (~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) |
| 22:07:02 | × | haritz quits (~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) (Changing host) |
| 22:07:02 | → | haritz joins (~hrtz@user/haritz) |
| 22:07:09 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 22:08:49 | × | biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer) |
| 22:09:21 | ← | jwiegley parts (~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net) (ERC 5.4 (IRC client for GNU Emacs 28.2)) |
| 22:09:32 | Square2 | is now known as Square |
| 22:12:33 | → | biberu joins (~biberu@user/biberu) |
| 22:16:06 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 22:17:52 | → | freeside joins (~mengwong@103.252.202.85) |
| 22:19:03 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 22:21:05 | × | mastarija quits (~mastarija@188.252.197.201) (Quit: WeeChat 3.7.1) |
| 22:23:01 | × | freeside quits (~mengwong@103.252.202.85) (Ping timeout: 276 seconds) |
| 22:24:49 | → | freeside joins (~mengwong@103.252.202.85) |
| 22:33:31 | × | freeside quits (~mengwong@103.252.202.85) (Ping timeout: 268 seconds) |
| 22:33:38 | <juri_> | bgamari: i don't mean this offensively, and i am obviously a biased participant.. but why does language-openscad exist, when we have ImplicitCAD? |
| 22:37:28 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 22:37:52 | × | mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in) |
| 22:40:55 | → | mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
| 22:41:19 | <[exa]> | juri_: because it's simpler? |
| 22:41:37 | × | cassiopea quits (~cassiopea@user/cassiopea) (Remote host closed the connection) |
| 22:42:28 | × | michalz quits (~michalz@185.246.207.221) (Remote host closed the connection) |
| 22:46:25 | → | slack1256 joins (~slack1256@181.42.50.18) |
| 22:48:02 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 22:51:22 | <juri_> | fair enough. just wondering if i'm doing a bad job 'breaking up' my big projects into reusable pieces. |
| 22:53:28 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 22:53:28 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 22:53:28 | → | wroathe joins (~wroathe@user/wroathe) |
| 23:05:01 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 23:05:58 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 23:06:22 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 23:17:26 | × | Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.) |
| 23:19:33 | → | irrgit__ joins (~irrgit@86.106.90.226) |
| 23:22:21 | → | jmorris joins (uid537181@id-537181.uxbridge.irccloud.com) |
| 23:23:28 | × | irrgit_ quits (~irrgit@146.70.27.218) (Ping timeout: 276 seconds) |
| 23:31:12 | × | gdr3941 quits (~user@2601:483:4800:5740:bd6c:6a59:14bf:bde4) (Remote host closed the connection) |
| 23:31:25 | → | gdr3941 joins (~user@2601:483:4800:5740:bd6c:6a59:14bf:bde4) |
| 23:35:47 | × | gdr3941 quits (~user@2601:483:4800:5740:bd6c:6a59:14bf:bde4) (Ping timeout: 250 seconds) |
| 23:38:46 | → | Umeaboy joins (~Umeaboy@94-255-145-133.cust.bredband2.com) |
| 23:41:29 | × | zeenk quits (~zeenk@2a02:2f04:a307:2300::7fe) (Quit: Konversation terminated!) |
| 23:41:38 | → | gdr3941 joins (~user@2601:483:4800:5740:bd6c:6a59:14bf:bde4) |
| 23:46:33 | × | gdr3941 quits (~user@2601:483:4800:5740:bd6c:6a59:14bf:bde4) (Ping timeout: 256 seconds) |
| 23:46:46 | → | elevenkb joins (~elevenkb@105.186.233.148) |
| 23:49:22 | → | pavonia joins (~user@user/siracusa) |
| 23:58:21 | → | gdr3941 joins (~user@2601:483:4800:5740:bd6c:6a59:14bf:bde4) |
All times are in UTC on 2023-03-20.