2023-03-24 00:01:06 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-03-24 00:01:31 +0100 | Sgeo | (~Sgeo@user/sgeo) (Ping timeout: 240 seconds) |
2023-03-24 00:04:00 +0100 | gdr3941 | (~user@207.144.49.146) |
2023-03-24 00:08:58 +0100 | Ashkan | (~Ashkan@ec2-54-78-14-109.eu-west-1.compute.amazonaws.com) |
2023-03-24 00:09:17 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2023-03-24 00:10:51 +0100 | chomwitt | (~chomwitt@2a02:587:7a19:3600:1ac0:4dff:fedb:a3f1) (Ping timeout: 265 seconds) |
2023-03-24 00:16:39 +0100 | nek0 | (~nek0@2a01:4f8:222:2b41::12) (Ping timeout: 265 seconds) |
2023-03-24 00:22:05 +0100 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Remote host closed the connection) |
2023-03-24 00:22:09 +0100 | johnw | (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in) |
2023-03-24 00:22:41 +0100 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
2023-03-24 00:28:33 +0100 | gdr3941 | (~user@207.144.49.146) (Ping timeout: 255 seconds) |
2023-03-24 00:30:39 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.) |
2023-03-24 00:30:47 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
2023-03-24 00:31:32 +0100 | accord | (uid568320@id-568320.hampstead.irccloud.com) () |
2023-03-24 00:33:13 +0100 | acidjnk | (~acidjnk@p200300d6e715c45738806db69c102943.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
2023-03-24 00:34:19 +0100 | voidzero | (~voidzero@user/voidzero) (Ping timeout: 268 seconds) |
2023-03-24 00:34:56 +0100 | tdammers | (~tdammers@219-131-178-143.ftth.glasoperator.nl) (Ping timeout: 268 seconds) |
2023-03-24 00:35:12 +0100 | voidzero | (~voidzero@user/voidzero) |
2023-03-24 00:35:22 +0100 | tdammers | (~tdammers@219-131-178-143.ftth.glasoperator.nl) |
2023-03-24 00:38:19 +0100 | cheater | (~Username@user/cheater) |
2023-03-24 00:38:20 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2023-03-24 00:40:55 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 00:41:17 +0100 | Guest86 | (~Guest86@128.196.227.38) (Quit: Client closed) |
2023-03-24 00:41:59 +0100 | lagash | (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
2023-03-24 00:42:13 +0100 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
2023-03-24 00:42:14 +0100 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
2023-03-24 00:42:14 +0100 | wroathe | (~wroathe@user/wroathe) |
2023-03-24 00:42:35 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 248 seconds) |
2023-03-24 00:42:41 +0100 | cheater_ | cheater |
2023-03-24 00:45:36 +0100 | pavonia | (~user@user/siracusa) |
2023-03-24 00:46:07 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 00:46:22 +0100 | lagash | (lagash@lagash.shelltalk.net) |
2023-03-24 00:46:51 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 248 seconds) |
2023-03-24 00:48:02 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-03-24 00:48:18 +0100 | zeenk | (~zeenk@2a02:2f04:a307:2300::7fe) (Quit: Konversation terminated!) |
2023-03-24 00:50:31 +0100 | cheater_ | (~Username@user/cheater) (Ping timeout: 240 seconds) |
2023-03-24 00:50:58 +0100 | teo | (~teo@user/teo) (Quit: Reconnecting) |
2023-03-24 00:51:12 +0100 | teo | (~teo@user/teo) |
2023-03-24 00:53:38 +0100 | cheater | (~Username@user/cheater) |
2023-03-24 00:58:43 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 256 seconds) |
2023-03-24 00:58:49 +0100 | Ashkan | (~Ashkan@ec2-54-78-14-109.eu-west-1.compute.amazonaws.com) (Quit: Client closed) |
2023-03-24 01:05:24 +0100 | mauke_ | (~mauke@user/mauke) |
2023-03-24 01:06:28 +0100 | slac23932 | (~slack1256@186.11.53.81) |
2023-03-24 01:07:01 +0100 | mauke | (~mauke@user/mauke) (Ping timeout: 240 seconds) |
2023-03-24 01:07:01 +0100 | mauke_ | mauke |
2023-03-24 01:07:32 +0100 | cheater | (~Username@user/cheater) |
2023-03-24 01:08:31 +0100 | slack1256 | (~slack1256@181.42.50.18) (Ping timeout: 240 seconds) |
2023-03-24 01:09:40 +0100 | lagash | (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
2023-03-24 01:10:17 +0100 | hays | (rootvegeta@fsf/member/hays) (Remote host closed the connection) |
2023-03-24 01:10:19 +0100 | <dibblego> | which function/parser-combinator did I just reinvent? |
2023-03-24 01:10:20 +0100 | <dibblego> | skipUntil :: Alternative f => f a -> f e -> f e |
2023-03-24 01:10:21 +0100 | <dibblego> | skipUntil p x = x <|> p *> skipUntil p x |
2023-03-24 01:10:38 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 01:12:31 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 240 seconds) |
2023-03-24 01:12:31 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds) |
2023-03-24 01:12:34 +0100 | cheater_ | cheater |
2023-03-24 01:12:35 +0100 | <EvanR> | there's skipManyTill :: MonadPlus m => m a -> m end -> m end |
2023-03-24 01:12:47 +0100 | lagash | (lagash@lagash.shelltalk.net) |
2023-03-24 01:13:18 +0100 | <dibblego> | ah thank you |
2023-03-24 01:13:29 +0100 | hays | (rootvegeta@fsf/member/hays) |
2023-03-24 01:21:25 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 265 seconds) |
2023-03-24 01:22:14 +0100 | gurkenglas | (~gurkengla@dynamic-046-114-182-005.46.114.pool.telefonica.de) |
2023-03-24 01:36:49 +0100 | gurkenglas | (~gurkengla@dynamic-046-114-182-005.46.114.pool.telefonica.de) (Ping timeout: 276 seconds) |
2023-03-24 01:47:17 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
2023-03-24 01:53:59 +0100 | cheater | (~Username@user/cheater) |
2023-03-24 01:57:00 +0100 | lagash | (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
2023-03-24 01:57:29 +0100 | srz_ | (~srz@179.36.81.180) |
2023-03-24 01:58:31 +0100 | lagash | (lagash@lagash.shelltalk.net) |
2023-03-24 01:59:01 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 240 seconds) |
2023-03-24 02:00:39 +0100 | srz | (~srz@181.228.49.93) (Ping timeout: 268 seconds) |
2023-03-24 02:00:39 +0100 | ridcully_ | (~ridcully@p508acd69.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2023-03-24 02:00:55 +0100 | ridcully_ | (~ridcully@p57b52e16.dip0.t-ipconnect.de) |
2023-03-24 02:01:24 +0100 | cheater | (~Username@user/cheater) |
2023-03-24 02:02:07 +0100 | califax | (~califax@user/califx) (Remote host closed the connection) |
2023-03-24 02:02:31 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 02:02:58 +0100 | dipper_ | (~dipper@117.61.126.31) |
2023-03-24 02:03:09 +0100 | califax | (~califax@user/califx) |
2023-03-24 02:06:12 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 268 seconds) |
2023-03-24 02:06:19 +0100 | cheater_ | cheater |
2023-03-24 02:09:05 +0100 | merijn | (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) |
2023-03-24 02:11:43 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2023-03-24 02:17:50 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2023-03-24 02:18:47 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:acf4:2d59:900d:be3a) |
2023-03-24 02:19:42 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 255 seconds) |
2023-03-24 02:20:50 +0100 | freeside | (~mengwong@103.252.202.85) |
2023-03-24 02:23:01 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:acf4:2d59:900d:be3a) (Ping timeout: 240 seconds) |
2023-03-24 02:23:17 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds) |
2023-03-24 02:23:44 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Ping timeout: 255 seconds) |
2023-03-24 02:23:44 +0100 | tusko | (~yeurt@user/tusko) (Ping timeout: 255 seconds) |
2023-03-24 02:24:41 +0100 | tusko | (~yeurt@user/tusko) |
2023-03-24 02:25:34 +0100 | freeside | (~mengwong@103.252.202.85) (Ping timeout: 276 seconds) |
2023-03-24 02:26:01 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2023-03-24 02:26:06 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-03-24 02:27:30 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 02:27:31 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 240 seconds) |
2023-03-24 02:27:35 +0100 | cheater_ | cheater |
2023-03-24 02:29:05 +0100 | freeside | (~mengwong@103.252.202.85) |
2023-03-24 02:29:46 +0100 | johnw | (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) |
2023-03-24 02:33:57 +0100 | freeside | (~mengwong@103.252.202.85) (Ping timeout: 268 seconds) |
2023-03-24 02:42:44 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2023-03-24 02:43:06 +0100 | lagash | (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
2023-03-24 02:43:08 +0100 | xff0x | (~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 246 seconds) |
2023-03-24 02:43:16 +0100 | lagash | (lagash@lagash.shelltalk.net) |
2023-03-24 02:43:49 +0100 | merijn | (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds) |
2023-03-24 02:49:56 +0100 | Square2 | (~Square4@user/square) |
2023-03-24 02:52:43 +0100 | zer0bitz | (~zer0bitz@2001:2003:f443:d600:b49b:29c2:a815:97ea) |
2023-03-24 02:53:10 +0100 | nate4 | (~nate@98.45.169.16) |
2023-03-24 02:54:08 +0100 | zer0bitz_ | (~zer0bitz@2001:2003:f443:d600:3048:24b6:d2fe:5f2e) (Ping timeout: 248 seconds) |
2023-03-24 02:57:18 +0100 | jargon | (~jargon@174-22-223-2.phnx.qwest.net) |
2023-03-24 02:58:43 +0100 | nate4 | (~nate@98.45.169.16) (Ping timeout: 276 seconds) |
2023-03-24 03:00:05 +0100 | meinside | (uid24933@id-24933.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2023-03-24 03:01:35 +0100 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 248 seconds) |
2023-03-24 03:06:35 +0100 | lagash | (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
2023-03-24 03:10:35 +0100 | lagash | (lagash@lagash.shelltalk.net) |
2023-03-24 03:15:34 +0100 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
2023-03-24 03:15:34 +0100 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
2023-03-24 03:15:34 +0100 | wroathe | (~wroathe@user/wroathe) |
2023-03-24 03:16:07 +0100 | razetime | (~Thunderbi@117.193.3.141) |
2023-03-24 03:18:59 +0100 | gmg | (~user@user/gehmehgeh) |
2023-03-24 03:20:26 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Ping timeout: 255 seconds) |
2023-03-24 03:25:10 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 03:26:02 +0100 | robobub | (uid248673@id-248673.uxbridge.irccloud.com) |
2023-03-24 03:27:55 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 248 seconds) |
2023-03-24 03:28:08 +0100 | cheater__ | (~Username@user/cheater) |
2023-03-24 03:28:08 +0100 | cheater__ | cheater |
2023-03-24 03:29:20 +0100 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2023-03-24 03:31:01 +0100 | cheater_ | (~Username@user/cheater) (Ping timeout: 240 seconds) |
2023-03-24 03:33:41 +0100 | lagash | (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
2023-03-24 03:39:38 +0100 | merijn | (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) |
2023-03-24 03:40:21 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:acf4:2d59:900d:be3a) |
2023-03-24 03:40:37 +0100 | slac23932 | (~slack1256@186.11.53.81) (Ping timeout: 265 seconds) |
2023-03-24 03:46:10 +0100 | freeside | (~mengwong@103.252.202.85) |
2023-03-24 03:46:47 +0100 | nate4 | (~nate@98.45.169.16) |
2023-03-24 03:50:31 +0100 | freeside | (~mengwong@103.252.202.85) (Ping timeout: 240 seconds) |
2023-03-24 03:50:31 +0100 | codaraxis | (~codaraxis@user/codaraxis) (Ping timeout: 240 seconds) |
2023-03-24 03:51:07 +0100 | lagash | (lagash@lagash.shelltalk.net) |
2023-03-24 04:05:18 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 04:06:43 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 265 seconds) |
2023-03-24 04:06:44 +0100 | cheater_ | cheater |
2023-03-24 04:07:41 +0100 | mei | (~mei@user/mei) (Remote host closed the connection) |
2023-03-24 04:08:22 +0100 | mei | (~mei@user/mei) |
2023-03-24 04:10:29 +0100 | jero98772 | (~jero98772@2800:484:1d80:d8ce:9815:cfda:3661:17bb) (Remote host closed the connection) |
2023-03-24 04:12:21 +0100 | td_ | (~td@i53870924.versanet.de) (Ping timeout: 250 seconds) |
2023-03-24 04:13:13 +0100 | hugo- | (znc@verdigris.lysator.liu.se) (Ping timeout: 250 seconds) |
2023-03-24 04:14:08 +0100 | lagash | (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
2023-03-24 04:14:20 +0100 | td_ | (~td@i5387091E.versanet.de) |
2023-03-24 04:14:28 +0100 | merijn | (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds) |
2023-03-24 04:14:46 +0100 | srz_ | (~srz@179.36.81.180) (Quit: Leaving) |
2023-03-24 04:22:03 +0100 | nek0 | (~nek0@2a01:4f8:222:2b41::12) |
2023-03-24 04:24:20 +0100 | lagash | (lagash@lagash.shelltalk.net) |
2023-03-24 04:29:41 +0100 | Techcable | (~Techcable@user/Techcable) (Ping timeout: 250 seconds) |
2023-03-24 04:31:29 +0100 | hugo | (znc@verdigris.lysator.liu.se) |
2023-03-24 04:39:03 +0100 | Techcable | (~Techcable@user/Techcable) |
2023-03-24 04:42:33 +0100 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 256 seconds) |
2023-03-24 04:44:38 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 04:44:40 +0100 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 276 seconds) |
2023-03-24 04:44:43 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 248 seconds) |
2023-03-24 04:44:53 +0100 | cheater_ | cheater |
2023-03-24 04:45:28 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2023-03-24 04:45:28 +0100 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2023-03-24 04:45:28 +0100 | finn_elija | FinnElija |
2023-03-24 04:47:23 +0100 | lagash | (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
2023-03-24 04:48:31 +0100 | razetime | (~Thunderbi@117.193.3.141) (Ping timeout: 240 seconds) |
2023-03-24 04:48:32 +0100 | lagash | (lagash@lagash.shelltalk.net) |
2023-03-24 04:49:01 +0100 | nate4 | (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
2023-03-24 04:49:51 +0100 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
2023-03-24 04:53:24 +0100 | hugo | (znc@verdigris.lysator.liu.se) |
2023-03-24 04:58:24 +0100 | freeside | (~mengwong@103.252.202.85) |
2023-03-24 05:02:51 +0100 | freeside | (~mengwong@103.252.202.85) (Ping timeout: 248 seconds) |
2023-03-24 05:06:35 +0100 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 248 seconds) |
2023-03-24 05:10:12 +0100 | merijn | (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) |
2023-03-24 05:12:07 +0100 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
2023-03-24 05:12:22 +0100 | lagash | (lagash@lagash.shelltalk.net) (Read error: Connection reset by peer) |
2023-03-24 05:12:37 +0100 | lagash | (lagash@lagash.shelltalk.net) |
2023-03-24 05:14:31 +0100 | merijn | (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
2023-03-24 05:14:58 +0100 | talismanick | (~talismani@2601:200:c000:f7a0::5321) |
2023-03-24 05:17:35 +0100 | hugo | (znc@verdigris.lysator.liu.se) |
2023-03-24 05:22:56 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 248 seconds) |
2023-03-24 05:26:19 +0100 | jle` | (~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 248 seconds) |
2023-03-24 05:28:11 +0100 | jle` | (~jle`@cpe-23-240-75-236.socal.res.rr.com) |
2023-03-24 05:30:28 +0100 | cheater | (~Username@user/cheater) |
2023-03-24 05:35:31 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 240 seconds) |
2023-03-24 05:35:50 +0100 | lagash | (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
2023-03-24 05:36:18 +0100 | cheater | (~Username@user/cheater) |
2023-03-24 05:36:55 +0100 | razetime | (~Thunderbi@117.193.3.141) |
2023-03-24 05:37:51 +0100 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 248 seconds) |
2023-03-24 05:37:57 +0100 | lagash | (lagash@lagash.shelltalk.net) |
2023-03-24 05:39:06 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 05:39:17 +0100 | xiliuya | (~xiliuya@user/xiliuya) |
2023-03-24 05:39:50 +0100 | cheater_ | (~Username@user/cheater) (Read error: Connection reset by peer) |
2023-03-24 05:40:45 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 05:41:13 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 276 seconds) |
2023-03-24 05:41:19 +0100 | cheater_ | (~Username@user/cheater) (Read error: Connection reset by peer) |
2023-03-24 05:42:49 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 05:42:49 +0100 | cheater_ | cheater |
2023-03-24 05:45:46 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 05:48:15 +0100 | ensyde | (ensyde@2600:3c02::f03c:93ff:fef7:5529) (Quit: WeeChat 3.8) |
2023-03-24 05:49:10 +0100 | cheater__ | (~Username@user/cheater) |
2023-03-24 05:49:40 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 276 seconds) |
2023-03-24 05:49:45 +0100 | cheater__ | cheater |
2023-03-24 05:50:42 +0100 | freeside | (~mengwong@122.11.248.245) |
2023-03-24 05:52:15 +0100 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 256 seconds) |
2023-03-24 05:52:34 +0100 | cheater_ | (~Username@user/cheater) (Ping timeout: 265 seconds) |
2023-03-24 05:54:32 +0100 | mbuf | (~Shakthi@49.207.178.186) |
2023-03-24 05:55:37 +0100 | freeside_ | (~mengwong@202.161.55.11) |
2023-03-24 05:55:40 +0100 | euandreh | (~Thunderbi@189.6.18.7) (Ping timeout: 246 seconds) |
2023-03-24 05:56:09 +0100 | freeside | (~mengwong@122.11.248.245) (Ping timeout: 255 seconds) |
2023-03-24 06:01:24 +0100 | lagash | (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
2023-03-24 06:03:42 +0100 | hugo | (znc@verdigris.lysator.liu.se) |
2023-03-24 06:04:21 +0100 | Sgeo_ | (~Sgeo@user/sgeo) |
2023-03-24 06:04:26 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2023-03-24 06:10:06 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 06:10:24 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 268 seconds) |
2023-03-24 06:10:26 +0100 | slack1256 | (~slack1256@186.11.53.81) |
2023-03-24 06:10:30 +0100 | cheater_ | cheater |
2023-03-24 06:10:44 +0100 | merijn | (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) |
2023-03-24 06:11:52 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer) |
2023-03-24 06:13:05 +0100 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 246 seconds) |
2023-03-24 06:14:03 +0100 | lagash | (lagash@lagash.shelltalk.net) |
2023-03-24 06:15:01 +0100 | mikoto-chan | (~mikoto-ch@87-95-58-79.bb.dnainternet.fi) (Ping timeout: 276 seconds) |
2023-03-24 06:17:37 +0100 | slack1256 | (~slack1256@186.11.53.81) (Ping timeout: 276 seconds) |
2023-03-24 06:20:26 +0100 | euandreh | (~Thunderbi@189.6.18.7) |
2023-03-24 06:23:37 +0100 | hugo | (znc@verdigris.lysator.liu.se) |
2023-03-24 06:27:53 +0100 | Square2 | Square |
2023-03-24 06:28:47 +0100 | phma | (phma@2001:5b0:211f:ddb8:2d78:5150:d16:dc20) (Read error: Connection reset by peer) |
2023-03-24 06:29:20 +0100 | phma | (~phma@host-67-44-208-120.hnremote.net) |
2023-03-24 06:32:27 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 06:35:01 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 240 seconds) |
2023-03-24 06:35:02 +0100 | cheater_ | cheater |
2023-03-24 06:35:42 +0100 | euandreh | (~Thunderbi@189.6.18.7) (Ping timeout: 268 seconds) |
2023-03-24 06:36:31 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 06:40:00 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 268 seconds) |
2023-03-24 06:40:07 +0100 | cheater_ | cheater |
2023-03-24 06:41:27 +0100 | use-value | (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) (Quit: use-value) |
2023-03-24 06:42:17 +0100 | thegeekinside | (~thegeekin@189.141.115.134) (Ping timeout: 250 seconds) |
2023-03-24 06:45:01 +0100 | merijn | (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
2023-03-24 06:48:43 +0100 | euandreh | (~Thunderbi@189.6.18.7) |
2023-03-24 06:50:37 +0100 | trev | (~trev@user/trev) |
2023-03-24 06:52:04 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 276 seconds) |
2023-03-24 06:56:27 +0100 | freeside | (~mengwong@122.11.248.245) |
2023-03-24 06:58:01 +0100 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
2023-03-24 06:58:30 +0100 | freeside_ | (~mengwong@202.161.55.11) (Ping timeout: 268 seconds) |
2023-03-24 06:59:53 +0100 | lagash | (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
2023-03-24 07:00:46 +0100 | dcoutts_ | (~duncan@host86-149-51-125.range86-149.btcentralplus.com) |
2023-03-24 07:01:00 +0100 | freeside | (~mengwong@122.11.248.245) (Ping timeout: 252 seconds) |
2023-03-24 07:02:31 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 240 seconds) |
2023-03-24 07:02:47 +0100 | dcoutts | (~duncan@host86-149-51-125.range86-149.btcentralplus.com) (Ping timeout: 246 seconds) |
2023-03-24 07:06:53 +0100 | ramin_hal9001 | (~user@126.249.179.97) |
2023-03-24 07:07:29 +0100 | cheater | (~Username@user/cheater) |
2023-03-24 07:08:01 +0100 | cheater | (~Username@user/cheater) (Client Quit) |
2023-03-24 07:08:18 +0100 | chomwitt | (~chomwitt@2a02:587:7a19:3600:1ac0:4dff:fedb:a3f1) |
2023-03-24 07:13:34 +0100 | cheater | (~Username@user/cheater) |
2023-03-24 07:15:07 +0100 | lagash | (lagash@lagash.shelltalk.net) |
2023-03-24 07:17:46 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2023-03-24 07:18:21 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 07:20:05 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 268 seconds) |
2023-03-24 07:23:30 +0100 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving) |
2023-03-24 07:24:09 +0100 | cheater__ | (~Username@user/cheater) |
2023-03-24 07:24:09 +0100 | cheater__ | cheater |
2023-03-24 07:24:31 +0100 | cheater_ | (~Username@user/cheater) (Ping timeout: 248 seconds) |
2023-03-24 07:25:22 +0100 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
2023-03-24 07:34:14 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 07:34:17 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 246 seconds) |
2023-03-24 07:34:18 +0100 | cheater_ | cheater |
2023-03-24 07:36:47 +0100 | jakalx | (~jakalx@base.jakalx.net) () |
2023-03-24 07:38:16 +0100 | lagash | (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
2023-03-24 07:41:32 +0100 | merijn | (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) |
2023-03-24 07:42:31 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 240 seconds) |
2023-03-24 07:43:17 +0100 | cheater | (~Username@user/cheater) |
2023-03-24 07:43:17 +0100 | michalz | (~michalz@185.246.207.203) |
2023-03-24 07:45:31 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2023-03-24 07:45:42 +0100 | jmorris | (uid537181@id-537181.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2023-03-24 07:47:58 +0100 | Sgeo_ | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2023-03-24 07:50:04 +0100 | xiliuya | (~xiliuya@user/xiliuya) (Quit: Bye) |
2023-03-24 07:56:07 +0100 | lagash | (lagash@lagash.shelltalk.net) |
2023-03-24 07:57:38 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 07:59:11 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 246 seconds) |
2023-03-24 08:00:18 +0100 | cheater__ | (~Username@user/cheater) |
2023-03-24 08:00:18 +0100 | cheater__ | cheater |
2023-03-24 08:02:59 +0100 | cheater_ | (~Username@user/cheater) (Ping timeout: 246 seconds) |
2023-03-24 08:07:52 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 08:10:31 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 240 seconds) |
2023-03-24 08:10:39 +0100 | cheater_ | cheater |
2023-03-24 08:12:03 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 255 seconds) |
2023-03-24 08:13:40 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2023-03-24 08:14:21 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 08:14:38 +0100 | ubert | (~Thunderbi@p200300ecdf216c77c362d35fab61ca09.dip0.t-ipconnect.de) |
2023-03-24 08:15:49 +0100 | cheater__ | (~Username@user/cheater) |
2023-03-24 08:16:34 +0100 | merijn | (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) (Ping timeout: 276 seconds) |
2023-03-24 08:17:01 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 240 seconds) |
2023-03-24 08:17:34 +0100 | kenran | (~user@user/kenran) |
2023-03-24 08:18:54 +0100 | lagash | (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
2023-03-24 08:18:55 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-03-24 08:18:55 +0100 | cheater___ | (~Username@user/cheater) |
2023-03-24 08:18:55 +0100 | cheater___ | cheater |
2023-03-24 08:19:01 +0100 | ubert | (~Thunderbi@p200300ecdf216c77c362d35fab61ca09.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2023-03-24 08:19:19 +0100 | cheater_ | (~Username@user/cheater) (Ping timeout: 260 seconds) |
2023-03-24 08:19:20 +0100 | ubert | (~Thunderbi@p200300ecdf216c77c362d35fab61ca09.dip0.t-ipconnect.de) |
2023-03-24 08:20:29 +0100 | wagle | (~wagle@quassel.wagle.io) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
2023-03-24 08:20:59 +0100 | wagle | (~wagle@quassel.wagle.io) |
2023-03-24 08:21:07 +0100 | cheater__ | (~Username@user/cheater) (Ping timeout: 276 seconds) |
2023-03-24 08:24:40 +0100 | ubert1 | (~Thunderbi@p200300ecdf216c77fe5efe35ee3dae02.dip0.t-ipconnect.de) |
2023-03-24 08:25:31 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 08:26:40 +0100 | lagash | (lagash@lagash.shelltalk.net) |
2023-03-24 08:28:01 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 240 seconds) |
2023-03-24 08:28:08 +0100 | cheater_ | cheater |
2023-03-24 08:31:38 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:acf4:2d59:900d:be3a) (Remote host closed the connection) |
2023-03-24 08:32:15 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 08:35:00 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 255 seconds) |
2023-03-24 08:35:01 +0100 | cheater_ | cheater |
2023-03-24 08:39:08 +0100 | dsrt^ | (~dsrt@c-24-30-76-89.hsd1.ga.comcast.net) (Remote host closed the connection) |
2023-03-24 08:43:14 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 08:44:10 +0100 | cheater__ | (~Username@user/cheater) |
2023-03-24 08:45:47 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 264 seconds) |
2023-03-24 08:45:56 +0100 | cheater__ | cheater |
2023-03-24 08:46:12 +0100 | nate4 | (~nate@98.45.169.16) |
2023-03-24 08:47:31 +0100 | cheater_ | (~Username@user/cheater) (Ping timeout: 240 seconds) |
2023-03-24 08:50:39 +0100 | lagash | (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
2023-03-24 08:51:01 +0100 | nate4 | (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
2023-03-24 08:51:19 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 08:52:07 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:3aed:4a10:f448:7afe) |
2023-03-24 08:53:35 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 248 seconds) |
2023-03-24 08:53:45 +0100 | cheater_ | cheater |
2023-03-24 08:55:00 +0100 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2023-03-24 08:55:17 +0100 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-03-24 08:56:39 +0100 | ub | (~Thunderbi@p548c9c54.dip0.t-ipconnect.de) |
2023-03-24 08:57:50 +0100 | ubert | (~Thunderbi@p200300ecdf216c77c362d35fab61ca09.dip0.t-ipconnect.de) (Remote host closed the connection) |
2023-03-24 08:57:50 +0100 | ub | ubert |
2023-03-24 08:58:08 +0100 | Guest96 | (~Guest96@2604:4080:11a5:8050:9ca3:338e:932a:37d5) |
2023-03-24 08:59:32 +0100 | <Guest96> | hey all, i've been working through haskellbook and in ch 13, i git cloned haskellbook/hello like it said, but when i stack build, i get Prelude.chr: bad argument: 2634022915 in Setup.hs |
2023-03-24 09:00:01 +0100 | <Guest96> | google search says i must have object files built with the wrong version of ghc? but i don't see anything and blowing away .stack-work doesn't fix it |
2023-03-24 09:00:24 +0100 | michalz | (~michalz@185.246.207.203) (Remote host closed the connection) |
2023-03-24 09:01:31 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 256 seconds) |
2023-03-24 09:01:59 +0100 | <Guest96> | it says it's using ghc 8.6.5 which matches lts-14.16 and ghcup tui confirms that it's installed (just not system default) |
2023-03-24 09:02:44 +0100 | lagash | (lagash@lagash.shelltalk.net) |
2023-03-24 09:02:52 +0100 | cheater | (~Username@user/cheater) |
2023-03-24 09:02:53 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
2023-03-24 09:04:12 +0100 | <tomsmeding> | Guest96: if you're using stack, then it will use whatever stack.yaml contains, disregarding whatever ghcup installs |
2023-03-24 09:04:36 +0100 | <tomsmeding> | (unless you've set 'system-ghc: True' or something, but usually people don't) |
2023-03-24 09:04:42 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 09:05:15 +0100 | dcoutts | (~duncan@host86-151-9-67.range86-151.btcentralplus.com) |
2023-03-24 09:05:30 +0100 | <Guest96> | yeah, i assume 8.6.5 is selected by lts-14.16 because i didn't set it myself |
2023-03-24 09:05:35 +0100 | <Guest96> | but why is it unable to build? |
2023-03-24 09:05:47 +0100 | <tomsmeding> | Guest96: what happens if you change the lts-14.16 in stack.yaml to lts-18.28? |
2023-03-24 09:06:12 +0100 | madjestic | (~madjestic@188-207-87-53.mobile.kpn.net) |
2023-03-24 09:06:17 +0100 | <Guest96> | lemme try, ghcup needs to pull 8.10.7 |
2023-03-24 09:06:21 +0100 | <mauke> | whoa, that's some error |
2023-03-24 09:06:25 +0100 | <mauke> | is that the full message? |
2023-03-24 09:06:27 +0100 | <tomsmeding> | Guest96: no, stack needs that |
2023-03-24 09:06:32 +0100 | <tomsmeding> | Guest96: ghcup is not involved in stack |
2023-03-24 09:06:49 +0100 | madjestic | (~madjestic@188-207-87-53.mobile.kpn.net) (Remote host closed the connection) |
2023-03-24 09:06:49 +0100 | <Guest96> | no, but stack build auto triggers ghcup to install the needed ghc version |
2023-03-24 09:07:01 +0100 | <tomsmeding> | Guest96: oh is that integrated nowadays? O.o |
2023-03-24 09:07:03 +0100 | <tomsmeding> | that's cool |
2023-03-24 09:07:04 +0100 | <Guest96> | yes |
2023-03-24 09:07:14 +0100 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-03-24 09:07:27 +0100 | <Guest96> | at least with stack installed via ghcup? i can't remember how the dependencies are all interlinked anymore lol |
2023-03-24 09:07:30 +0100 | dcoutts_ | (~duncan@host86-149-51-125.range86-149.btcentralplus.com) (Ping timeout: 252 seconds) |
2023-03-24 09:07:31 +0100 | <tomsmeding> | yeah |
2023-03-24 09:07:47 +0100 | <Guest96> | that's what i meant about 8.6.5 being installed before when i had the old lts |
2023-03-24 09:07:55 +0100 | razetime | (~Thunderbi@117.193.3.141) (Ping timeout: 276 seconds) |
2023-03-24 09:07:55 +0100 | <Guest96> | okay, seems like that built |
2023-03-24 09:08:02 +0100 | <tomsmeding> | anyway, given the strangeness of your error I'm hoping that there's something wrong with the 8.6.5 installation (which is a couple years old at this point), and hoping that 8.10.7, which is newer and still very widely used, will not have that bug |
2023-03-24 09:08:14 +0100 | <tomsmeding> | maybe something in that new stack-ghcup interaction that wasn't tested with older ghcs |
2023-03-24 09:08:19 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 265 seconds) |
2023-03-24 09:08:23 +0100 | <tomsmeding> | Guest96: I see |
2023-03-24 09:08:24 +0100 | <Guest96> | yeah i know 8.6.5 isn't recent or anything but i thought the point of stackage was to avoid bitrot |
2023-03-24 09:08:29 +0100 | <tomsmeding> | yes of course |
2023-03-24 09:08:30 +0100 | cheater_ | cheater |
2023-03-24 09:08:37 +0100 | vpan | (~0@212.117.1.172) |
2023-03-24 09:08:41 +0100 | <tomsmeding> | _ostensibly_ what you did should work |
2023-03-24 09:08:42 +0100 | <Guest96> | and the book is a couple years old too so i figured it would still build equivalent to whatever was new at that time |
2023-03-24 09:08:51 +0100 | <tomsmeding> | however :p |
2023-03-24 09:08:52 +0100 | <Guest96> | huh, weird |
2023-03-24 09:10:15 +0100 | <Guest96> | hm, i reverted the lts version and now it builds on 14.16 too |
2023-03-24 09:10:24 +0100 | <tomsmeding> | interesting |
2023-03-24 09:10:32 +0100 | <tomsmeding> | perhaps some Setup.hs only ran once |
2023-03-24 09:10:43 +0100 | <tomsmeding> | and it failed but nobody cared so the next time everything is fine? |
2023-03-24 09:11:02 +0100 | <Guest96> | i guess it needed to clobber something in my $HOME/.stack? |
2023-03-24 09:11:10 +0100 | <tomsmeding> | presumably |
2023-03-24 09:11:19 +0100 | <Guest96> | weird, well, thanks for the help |
2023-03-24 09:11:31 +0100 | codaraxis | (~codaraxis@user/codaraxis) |
2023-03-24 09:11:39 +0100 | <tomsmeding> | if you want to continue experimenting you could remove some stuff in ~/.stack and try again, to see if the error reappears |
2023-03-24 09:11:46 +0100 | <tomsmeding> | but in any case you seem to have a working setup now |
2023-03-24 09:11:51 +0100 | <Guest96> | haha i think i'm not gonna look a gift horse in the mouth for now |
2023-03-24 09:11:58 +0100 | <tomsmeding> | as I suspected :) |
2023-03-24 09:12:21 +0100 | merijn | (~merijn@c-001-001-015.client.esciencecenter.eduvpn.nl) |
2023-03-24 09:12:30 +0100 | Guest96 | (~Guest96@2604:4080:11a5:8050:9ca3:338e:932a:37d5) (Quit: Client closed) |
2023-03-24 09:12:48 +0100 | talismanick | (~talismani@2601:200:c000:f7a0::5321) (Remote host closed the connection) |
2023-03-24 09:13:55 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 09:13:56 +0100 | dcoutts_ | (~duncan@host165-120-97-41.range165-120.btcentralplus.com) |
2023-03-24 09:15:07 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 248 seconds) |
2023-03-24 09:15:21 +0100 | zeenk | (~zeenk@2a02:2f04:a307:2300::7fe) |
2023-03-24 09:15:21 +0100 | michalz | (~michalz@185.246.207.203) |
2023-03-24 09:15:57 +0100 | cheater | (~Username@user/cheater) |
2023-03-24 09:17:15 +0100 | dcoutts | (~duncan@host86-151-9-67.range86-151.btcentralplus.com) (Ping timeout: 268 seconds) |
2023-03-24 09:18:31 +0100 | cheater_ | (~Username@user/cheater) (Ping timeout: 240 seconds) |
2023-03-24 09:19:31 +0100 | Square | (~Square4@user/square) (Ping timeout: 240 seconds) |
2023-03-24 09:21:31 +0100 | pony | (sid524992@smol/hors) |
2023-03-24 09:21:33 +0100 | CiaoSen | (~Jura@p200300c9571fe6002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2023-03-24 09:25:07 +0100 | coot | (~coot@213.134.170.228) |
2023-03-24 09:25:28 +0100 | coot | (~coot@213.134.170.228) (Remote host closed the connection) |
2023-03-24 09:26:06 +0100 | lagash | (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
2023-03-24 09:26:14 +0100 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2023-03-24 09:26:31 +0100 | kimjetwav | (~user@2607:fea8:235e:b600:3d66:fa8b:402c:9466) (Ping timeout: 250 seconds) |
2023-03-24 09:26:56 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 09:27:41 +0100 | codaraxis__ | (~codaraxis@user/codaraxis) |
2023-03-24 09:28:26 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 246 seconds) |
2023-03-24 09:28:33 +0100 | cheater_ | cheater |
2023-03-24 09:30:51 +0100 | freeside | (~mengwong@103.252.202.85) |
2023-03-24 09:31:01 +0100 | codaraxis | (~codaraxis@user/codaraxis) (Ping timeout: 240 seconds) |
2023-03-24 09:32:08 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:acf4:2d59:900d:be3a) |
2023-03-24 09:33:38 +0100 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
2023-03-24 09:34:56 +0100 | razetime | (~Thunderbi@117.193.3.141) |
2023-03-24 09:35:31 +0100 | mastarija | (~mastarija@188.252.197.99) |
2023-03-24 09:36:28 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:acf4:2d59:900d:be3a) (Ping timeout: 252 seconds) |
2023-03-24 09:37:16 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 260 seconds) |
2023-03-24 09:38:20 +0100 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2023-03-24 09:38:28 +0100 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
2023-03-24 09:47:44 +0100 | mastarija | (~mastarija@188.252.197.99) (Quit: WeeChat 3.7.1) |
2023-03-24 09:49:41 +0100 | mastarija | (~mastarija@188.252.197.99) |
2023-03-24 09:49:45 +0100 | cheater | (~Username@user/cheater) |
2023-03-24 09:52:03 +0100 | chele | (~chele@user/chele) |
2023-03-24 09:52:27 +0100 | acidjnk | (~acidjnk@p200300d6e715c457c536ba982fab447f.dip0.t-ipconnect.de) |
2023-03-24 09:57:33 +0100 | ft | (~ft@62.155.196.67) (Quit: leaving) |
2023-03-24 09:59:59 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 10:00:17 +0100 | kadenwolff[m] | (~kadenwolf@2001:470:69fc:105::1:d97f) (Quit: You have been kicked for being idle) |
2023-03-24 10:02:23 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 248 seconds) |
2023-03-24 10:02:25 +0100 | cheater_ | cheater |
2023-03-24 10:04:45 +0100 | gurkenglas | (~gurkengla@dynamic-046-114-182-005.46.114.pool.telefonica.de) |
2023-03-24 10:05:43 +0100 | jinsl | (~jinsl@2408:8207:255d:b420:211:32ff:fec8:6aea) (Ping timeout: 260 seconds) |
2023-03-24 10:05:56 +0100 | jinsl | (~jinsl@2408:8207:2552:9fc0:211:32ff:fec8:6aea) |
2023-03-24 10:08:49 +0100 | lagash | (lagash@lagash.shelltalk.net) |
2023-03-24 10:15:09 +0100 | hays | (rootvegeta@fsf/member/hays) (Read error: Connection reset by peer) |
2023-03-24 10:17:22 +0100 | zeenk | (~zeenk@2a02:2f04:a307:2300::7fe) (Quit: Konversation terminated!) |
2023-03-24 10:20:36 +0100 | razetime1 | (~Thunderbi@117.193.3.141) |
2023-03-24 10:21:17 +0100 | razetime | (~Thunderbi@117.193.3.141) (Ping timeout: 246 seconds) |
2023-03-24 10:21:18 +0100 | razetime1 | razetime |
2023-03-24 10:21:50 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 10:23:13 +0100 | cheater__ | (~Username@user/cheater) |
2023-03-24 10:23:16 +0100 | phma | (~phma@host-67-44-208-120.hnremote.net) (Read error: Connection reset by peer) |
2023-03-24 10:24:01 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 240 seconds) |
2023-03-24 10:24:13 +0100 | phma | (~phma@host-67-44-208-27.hnremote.net) |
2023-03-24 10:25:39 +0100 | cheater___ | (~Username@user/cheater) |
2023-03-24 10:25:39 +0100 | cheater___ | cheater |
2023-03-24 10:26:35 +0100 | cheater_ | (~Username@user/cheater) (Ping timeout: 264 seconds) |
2023-03-24 10:27:39 +0100 | cheater__ | (~Username@user/cheater) (Ping timeout: 260 seconds) |
2023-03-24 10:30:55 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 260 seconds) |
2023-03-24 10:31:22 +0100 | cheater | (~Username@user/cheater) |
2023-03-24 10:31:44 +0100 | lagash | (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
2023-03-24 10:32:10 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-03-24 10:35:38 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-03-24 10:45:11 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-03-24 10:46:01 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 10:47:31 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 240 seconds) |
2023-03-24 10:47:37 +0100 | cheater_ | cheater |
2023-03-24 10:52:38 +0100 | Flow | (~none@gentoo/developer/flow) (Quit: WeeChat 3.7.1) |
2023-03-24 10:53:04 +0100 | Flow | (~none@gentoo/developer/flow) |
2023-03-24 10:55:56 +0100 | maerwald | (~maerwald@user/maerwald) (Quit: gone) |
2023-03-24 10:59:57 +0100 | razetime | (~Thunderbi@117.193.3.141) (Quit: See You Space Cowboy) |
2023-03-24 11:00:56 +0100 | shriekingnoise | (~shrieking@186.137.175.87) (Ping timeout: 265 seconds) |
2023-03-24 11:02:11 +0100 | use-value | (~Thunderbi@2a00:23c6:8a03:2f01:51a8:e4ff:15ed:6357) |
2023-03-24 11:05:50 +0100 | kenran | (~user@user/kenran) (Remote host closed the connection) |
2023-03-24 11:06:10 +0100 | kenran | (~user@user/kenran) |
2023-03-24 11:10:13 +0100 | maerwald | (~maerwald@mail.hasufell.de) |
2023-03-24 11:12:29 +0100 | maerwald | (~maerwald@mail.hasufell.de) (Changing host) |
2023-03-24 11:12:29 +0100 | maerwald | (~maerwald@user/maerwald) |
2023-03-24 11:13:31 +0100 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 240 seconds) |
2023-03-24 11:25:03 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 11:27:02 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 265 seconds) |
2023-03-24 11:27:09 +0100 | cheater_ | cheater |
2023-03-24 11:28:29 +0100 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
2023-03-24 11:29:13 +0100 | gmg | (~user@user/gehmehgeh) |
2023-03-24 11:30:55 +0100 | hays | (rootvegeta@fsf/member/hays) |
2023-03-24 11:33:17 +0100 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
2023-03-24 11:35:29 +0100 | <pkal> | Does anyone know what .hs-boot files are? |
2023-03-24 11:38:18 +0100 | mastarija | (~mastarija@188.252.197.99) (Quit: WeeChat 3.7.1) |
2023-03-24 11:41:10 +0100 | mastarija | (~mastarija@188.252.197.99) |
2023-03-24 11:45:11 +0100 | <int-e> | Yes: https://ghc.gitlab.haskell.org/ghc/doc/users_guide/separate_compilation.html#how-to-compile-mutual… |
2023-03-24 11:47:43 +0100 | ramin_hal9001 | (~user@126.249.179.97) (Ping timeout: 268 seconds) |
2023-03-24 11:53:06 +0100 | __monty__ | (~toonn@user/toonn) |
2023-03-24 11:54:30 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 268 seconds) |
2023-03-24 11:56:29 +0100 | cheater | (~Username@user/cheater) |
2023-03-24 12:00:08 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2023-03-24 12:07:49 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 12:07:50 +0100 | Inst | (~Inst@2601:6c4:4081:54f0:b848:a37f:7ef6:16ca) |
2023-03-24 12:08:01 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 240 seconds) |
2023-03-24 12:08:26 +0100 | mncheck | (~mncheck@193.224.205.254) |
2023-03-24 12:09:16 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 276 seconds) |
2023-03-24 12:09:26 +0100 | cheater_ | cheater |
2023-03-24 12:09:47 +0100 | CiaoSen | (~Jura@p200300c9571fe6002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2023-03-24 12:20:51 +0100 | xff0x | (~xff0x@ai098135.d.east.v6connect.net) |
2023-03-24 12:32:58 +0100 | <pkal> | Does it make sense that HLS suggests these files are places where functions are defined? |
2023-03-24 12:36:21 +0100 | <dminuoso> | What do zou mean_ |
2023-03-24 12:36:26 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 12:36:27 +0100 | <dminuoso> | Oh. What do you mean? |
2023-03-24 12:37:01 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-03-24 12:38:54 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 268 seconds) |
2023-03-24 12:39:02 +0100 | cheater_ | cheater |
2023-03-24 12:40:33 +0100 | <pkal> | Sometimes in Emacs when I use M-. to jump to a definition, I am given to file locations, one .hs the other .hs-boot |
2023-03-24 12:40:51 +0100 | <pkal> | (Context, I am working on Agda, and for some reason these files were added to the repo) |
2023-03-24 12:47:41 +0100 | nate4 | (~nate@98.45.169.16) |
2023-03-24 12:48:17 +0100 | <siers69> | (Why) Do typeclasses have to have laws? That doesn't seem entirely necessary. |
2023-03-24 12:51:16 +0100 | <__monty__> | Laws are what make them useful wrt reasoning about them. |
2023-03-24 12:52:37 +0100 | <__monty__> | You can only abstract over Functors or Monads because you can rely on the laws. The fact they're a typeclass is just an implementation detail. |
2023-03-24 12:52:43 +0100 | nate4 | (~nate@98.45.169.16) (Ping timeout: 248 seconds) |
2023-03-24 12:54:02 +0100 | <pkal> | siers69: "(Why) Do typeclasses have to have laws?" No, in the sense that the compiler doesn't enforce them, but yes in the sense that they are expected for the abstraction to work. Or why do you think they are not necessary? |
2023-03-24 12:56:09 +0100 | <dminuoso> | siers69: The *why* part is a really good question, actually. |
2023-03-24 12:56:09 +0100 | <siers69> | Ok, first, tell me what about the list typeclass? What laws would that have? "class List a where nil :: List a; cons :: a -> List a -> List a" (I hope I didn't screw anything up in the code.) |
2023-03-24 12:56:37 +0100 | <dminuoso> | siers69: I think you have it backward. |
2023-03-24 12:56:47 +0100 | <siers69> | I just might and that's why I'm here. |
2023-03-24 12:56:49 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 12:56:55 +0100 | <dminuoso> | There's a rough consensus amongst many Haskellers that a typeclass should only exist *if* it is lawful. |
2023-03-24 12:57:40 +0100 | <dminuoso> | The thing is, haskell typeclasses arent quite like `interfaces` or `behaviors` from other languages. |
2023-03-24 12:58:00 +0100 | <dminuoso> | So the beginning question is, what can you infer from `f :: F a => ... a ...`? |
2023-03-24 12:58:36 +0100 | <dminuoso> | In a setting where you use `F` as a kind of interface, it might be suitable in the sense of `HasLogging` perhaps |
2023-03-24 12:58:42 +0100 | <dminuoso> | Those are fine, and dont need laws really. |
2023-03-24 12:59:01 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 240 seconds) |
2023-03-24 12:59:06 +0100 | <dminuoso> | However, there's a greater family of things where its hard to describe what the typeclass really embodies. |
2023-03-24 12:59:31 +0100 | <dminuoso> | Take `Functor` for instance. It doesnt embody anything but its laws. However, if you do that, it opens up code transformations and reasoning based on just the laws. |
2023-03-24 13:01:05 +0100 | <siers69> | how come they aren't? aren't technically or aren't supposed to be? |
2023-03-24 13:01:09 +0100 | <Axman6> | the Default class is a good example of a lawless class, where knowing that a type has an instance tells you basically nothing, other that you can make _something_ of that type. That something tends to follow some conventions, but without laws (which you'd struggle to define for that class), you can't then start to write code that is generic over types which are instances of Default |
2023-03-24 13:02:29 +0100 | <Axman6> | foo :: Default a => ... a ... basically doesn't tell me anything |
2023-03-24 13:02:55 +0100 | cheater_ | (~Username@user/cheater) (Ping timeout: 256 seconds) |
2023-03-24 13:03:39 +0100 | use-value | (~Thunderbi@2a00:23c6:8a03:2f01:51a8:e4ff:15ed:6357) (Remote host closed the connection) |
2023-03-24 13:03:48 +0100 | <siers69> | It's a selling point for "typeclasses are more useful, if they're lawless". |
2023-03-24 13:03:57 +0100 | use-value | (~Thunderbi@2a00:23c6:8a03:2f01:51a8:e4ff:15ed:6357) |
2023-03-24 13:04:16 +0100 | <Axman6> | I'm not sure how you could come to that conclusion from what I've said |
2023-03-24 13:04:24 +0100 | <Axman6> | did you mean lawful? |
2023-03-24 13:04:30 +0100 | <siers69> | yes, lawful, sorry |
2023-03-24 13:04:31 +0100 | <Axman6> | or, have laws? |
2023-03-24 13:04:41 +0100 | <Axman6> | ok :) |
2023-03-24 13:05:28 +0100 | <maerwald[m]> | Laws are for conformists |
2023-03-24 13:05:37 +0100 | <Axman6> | \m/ |
2023-03-24 13:06:54 +0100 | <maerwald[m]> | Would be interesting if GHC had knowledge of the monad/applicative laws and be able to apply more optimization/rewrites |
2023-03-24 13:07:04 +0100 | <siers69> | qa |
2023-03-24 13:07:22 +0100 | <maerwald[m]> | But right now they are only in your head |
2023-03-24 13:07:27 +0100 | <Axman6> | siers69: Also worth mentioning that your code above doesn't make a whole lot of sense, I guess you could have something like this though: class List t where nil :: t a; cons :: a -> t a -> t a (depending on what you what that class to be able to achieve). |
2023-03-24 13:07:30 +0100 | <maerwald[m]> | No monad police |
2023-03-24 13:08:08 +0100 | <siers69> | Axman6, I thought I was missing something, yeah I wanted to define the list algebra over some set. |
2023-03-24 13:08:45 +0100 | <Axman6> | can we write instance specific RULES though? If we know a particular monad obeys the laws, then have monomorphic RULES |
2023-03-24 13:09:31 +0100 | <__monty__> | Monomorphic or monadmorphic? |
2023-03-24 13:09:53 +0100 | <Axman6> | por que no los dos? |
2023-03-24 13:11:48 +0100 | kaskal | (~kaskal@089144220250.atnat0029.highway.webapn.at) |
2023-03-24 13:13:47 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2023-03-24 13:16:50 +0100 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) |
2023-03-24 13:17:52 +0100 | <siers69> | Axman6, does the list algebra have any laws? |
2023-03-24 13:19:13 +0100 | <Axman6> | not sure, it would probably need some operations that use t a to have laws |
2023-03-24 13:19:49 +0100 | <Axman6> | like adding (+++) :: t a -> t a -> t a |
2023-03-24 13:19:51 +0100 | motherfsck | (~motherfsc@user/motherfsck) (Ping timeout: 255 seconds) |
2023-03-24 13:19:58 +0100 | <Axman6> | or foldr |
2023-03-24 13:21:00 +0100 | motherfsck | (~motherfsc@user/motherfsck) |
2023-03-24 13:21:04 +0100 | lagash | (lagash@lagash.shelltalk.net) |
2023-03-24 13:21:27 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 13:21:27 +0100 | cheater_ | cheater |
2023-03-24 13:22:41 +0100 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-03-24 13:25:59 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 264 seconds) |
2023-03-24 13:26:34 +0100 | <dminuoso> | 13:06:54 maerwald[m] | Would be interesting if GHC had knowledge of the monad/applicative laws and be able to apply more optimization/rewrites |
2023-03-24 13:26:46 +0100 | <dminuoso> | Yes, consider the amount of GHC bug reports when it applies a "wrong" optimization. |
2023-03-24 13:27:14 +0100 | <dminuoso> | Without a checkable proof, I think it's a bad idea. |
2023-03-24 13:28:00 +0100 | <dminuoso> | Just consider that many bugs arising from improper accursedUnutterablePerformIO usage ended up as GHC bugs before they were identified as bytestring bugs or what not. |
2023-03-24 13:29:08 +0100 | <dminuoso> | I'd rather use Yoneda manually than have GHC incorrectly assume correct Functor laws |
2023-03-24 13:29:29 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2023-03-24 13:32:47 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 13:32:47 +0100 | cheater_ | cheater |
2023-03-24 13:36:02 +0100 | <zzz> | little help: f x y = pure $ g x y === f x = pure . g x === f = ??? |
2023-03-24 13:36:32 +0100 | <zzz> | @pl pure $ g x y |
2023-03-24 13:36:32 +0100 | <lambdabot> | pure (g x y) |
2023-03-24 13:38:15 +0100 | <dminuoso> | f = pure .: g |
2023-03-24 13:38:18 +0100 | <zzz> | f = (pure .) . g -- ? |
2023-03-24 13:38:25 +0100 | <dminuoso> | sure, that'ss the same expression. |
2023-03-24 13:38:31 +0100 | <dminuoso> | .: = (.) . (.) |
2023-03-24 13:38:35 +0100 | <dminuoso> | .: = (.) `fmap` (.) |
2023-03-24 13:38:39 +0100 | <dminuoso> | .: = fmap fmap fmap\ |
2023-03-24 13:38:57 +0100 | <dminuoso> | I frequently define .: or .:: on the spot when its convenient |
2023-03-24 13:39:12 +0100 | <zzz> | oh ok |
2023-03-24 13:39:21 +0100 | <zzz> | i think ill use a lambda for readability |
2023-03-24 13:39:22 +0100 | <dminuoso> | `.: = fmap . fmap` or `.:: = fmap . fmap . fmap` is what I usuallyw rite then |
2023-03-24 13:39:25 +0100 | <dminuoso> | Yeah that's great too. |
2023-03-24 13:39:44 +0100 | <zzz> | :) |
2023-03-24 13:39:46 +0100 | <dminuoso> | I tend to use .: when its useful for vertical alignment |
2023-03-24 13:40:01 +0100 | <dminuoso> | zzz: https://gist.github.com/dminuoso/23bb703a4b355027a93b56e369d41145 |
2023-03-24 13:40:03 +0100 | <dminuoso> | like here |
2023-03-24 13:40:21 +0100 | <dminuoso> | (well not quite alignment, but you get the idea - it fits better visually) |
2023-03-24 13:41:02 +0100 | <dminuoso> | the nice thing about .:: is that is you stare at just the bottom row, you can visually see the nth argument it composes into. |
2023-03-24 13:41:19 +0100 | <dminuoso> | . composes for the first argument, .: for the second, .:: for the third, and so on :) |
2023-03-24 13:41:42 +0100 | <zzz> | i dont know why but my functional intuition was that there would be some elegant way to express this |
2023-03-24 13:41:55 +0100 | <dminuoso> | and additionally nice is that the total number of dots remains the same when you write `(.::) = (.) . (.) . (.)` |
2023-03-24 13:42:02 +0100 | <dminuoso> | there's some cool symmetry there. :) |
2023-03-24 13:42:19 +0100 | <zzz> | :) nice |
2023-03-24 13:42:50 +0100 | <dminuoso> | `(f .) . g` I dislike however though, it takes extra mental effort to decipher it for me. |
2023-03-24 13:43:00 +0100 | <dminuoso> | It looks like output from lambdabots @pl |
2023-03-24 13:43:01 +0100 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 240 seconds) |
2023-03-24 13:44:34 +0100 | <Profpatsch> | class IntegerLiteral a where |
2023-03-24 13:44:35 +0100 | <Profpatsch> | integerLiteral :: Integer -> a |
2023-03-24 13:44:46 +0100 | <Profpatsch> | instance IntegerLiteral num => Num (NumLiteralOnly sym num) where |
2023-03-24 13:45:25 +0100 | <Profpatsch> | data Foo instance IntegerLiteral (Enc x) where |
2023-03-24 13:45:34 +0100 | <Profpatsch> | huh |
2023-03-24 13:45:40 +0100 | <Profpatsch> | Oh, sorry lol, I’m gonna paste |
2023-03-24 13:45:53 +0100 | <Profpatsch> | It’s only two more lines though hrm |
2023-03-24 13:46:20 +0100 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-03-24 13:46:45 +0100 | <Profpatsch> | data Foo a = … deriving (Num) via (NumLiteralOnly "Foo" (Foo a)) instance IntegerLiteral (Foo a) where |
2023-03-24 13:46:49 +0100 | <Profpatsch> | Am I haskelling this right |
2023-03-24 13:47:11 +0100 | <Profpatsch> | I think I’m gonna make a gist |
2023-03-24 13:47:35 +0100 | <Profpatsch> | the idea is that I want a blanket newtype instance that allows my types to only implement `fromInteger` in Num, and throw useful errors otherwise |
2023-03-24 13:47:51 +0100 | <Profpatsch> | at runtime ofc, but that’s the best one can do afaik |
2023-03-24 13:50:50 +0100 | <Profpatsch> | https://gist.github.com/Profpatsch/b49c5f4bace41fa07338e8c07252d712 |
2023-03-24 13:50:57 +0100 | <Profpatsch> | This is the full code |
2023-03-24 13:51:26 +0100 | <Profpatsch> | I implement `IntegerLiteral` and get `Num` for “free” via the NumLiteralOnly instance |
2023-03-24 13:54:08 +0100 | <Profpatsch> | Okay, I used the wrong instance, now it should be better |
2023-03-24 13:54:38 +0100 | hugo | (znc@verdigris.lysator.liu.se) |
2023-03-24 13:54:48 +0100 | <Profpatsch> | > Foo 4 + Foo 4 |
2023-03-24 13:54:50 +0100 | <lambdabot> | error: |
2023-03-24 13:54:50 +0100 | <lambdabot> | Data constructor not in scope: Foo :: t0 -> aerror: |
2023-03-24 13:54:50 +0100 | <lambdabot> | Data constructor not in scope: Foo :: t1 -> a |
2023-03-24 13:54:50 +0100 | <Profpatsch> | *** Exception: Only use as numeric literal allowed for Foo, you tried to multiply (NumLiteralOnly) |
2023-03-24 13:55:09 +0100 | <Profpatsch> | but |
2023-03-24 13:55:11 +0100 | <Profpatsch> | > 4 :: Foo |
2023-03-24 13:55:13 +0100 | <lambdabot> | error: |
2023-03-24 13:55:13 +0100 | <lambdabot> | Not in scope: type constructor or class ‘Foo’ |
2023-03-24 13:55:13 +0100 | <Profpatsch> | Foo 4 |
2023-03-24 13:55:33 +0100 | Benzi-Junior | (~BenziJuni@dsl-149-66-52.hive.is) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-03-24 13:55:53 +0100 | <Profpatsch> | lambdabot should use a symbol that’s not the commonly used quote syntax or REPL symbol :( |
2023-03-24 13:56:48 +0100 | <Hecate> | yes |
2023-03-24 13:56:50 +0100 | <Hecate> | agreed |
2023-03-24 13:56:56 +0100 | <Hecate> | who's the master of puppets here? |
2023-03-24 13:57:26 +0100 | <Profpatsch> | Hecate: beware, it’s been that way for 1 or 2 decades, people are gonna explode if you propose to change it :P |
2023-03-24 13:57:28 +0100 | <byorgey> | I thought the fact that it's a commonly used REPL symbol is exactly *why* lambdabot uses it =) |
2023-03-24 13:58:30 +0100 | <Profpatsch> | byorgey: well, obviously lambdabot should use λ or Λ :P |
2023-03-24 13:58:52 +0100 | <Profpatsch> | or \x. |
2023-03-24 13:59:40 +0100 | CiaoSen | (~Jura@p200300c9571fe6002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2023-03-24 14:00:04 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 14:00:14 +0100 | <byorgey> | obviously =) |
2023-03-24 14:01:59 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 264 seconds) |
2023-03-24 14:02:01 +0100 | cheater_ | cheater |
2023-03-24 14:02:11 +0100 | <yushyin> | i know a few irc channel bots that use the @ symbol. In the past this was not much of a problem, however, nowadays it is. |
2023-03-24 14:02:37 +0100 | <yushyin> | :) |
2023-03-24 14:04:04 +0100 | <geekosaur> | I know of bots in 3 or 4 channels/channel groups that use @ |
2023-03-24 14:04:26 +0100 | <geekosaur> | in one it's to distinguish from other bots |
2023-03-24 14:04:41 +0100 | <geekosaur> | (granting we don't expect other bots to show uphere) |
2023-03-24 14:05:07 +0100 | use-value | (~Thunderbi@2a00:23c6:8a03:2f01:51a8:e4ff:15ed:6357) (Remote host closed the connection) |
2023-03-24 14:05:25 +0100 | use-value | (~Thunderbi@2a00:23c6:8a03:2f01:51a8:e4ff:15ed:6357) |
2023-03-24 14:06:17 +0100 | lagash | (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
2023-03-24 14:09:40 +0100 | phma | (~phma@host-67-44-208-27.hnremote.net) (Read error: Connection reset by peer) |
2023-03-24 14:10:03 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer) |
2023-03-24 14:10:35 +0100 | phma | (phma@2001:5b0:2144:4f68:9b04:52b2:83ef:e696) |
2023-03-24 14:11:07 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 248 seconds) |
2023-03-24 14:11:18 +0100 | Guest|17 | (~Guest|17@1.144.104.218) |
2023-03-24 14:11:48 +0100 | B-J | (~BenziJuni@dsl-149-66-52.hive.is) |
2023-03-24 14:18:12 +0100 | srz | (~srz@181.228.49.93) |
2023-03-24 14:18:14 +0100 | cheater | (~Username@user/cheater) |
2023-03-24 14:20:06 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 14:20:36 +0100 | B-J | (~BenziJuni@dsl-149-66-52.hive.is) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-03-24 14:21:37 +0100 | <Guest|17> | Hi! I have come here, unfortunately, with an issue that I am unsure how to solve. I was intending to get back into using haskell and thought to look for how to install it. I found this page - https://www.haskell.org/ghcup/install/#manual-installation - and since I am using WSL 2 with Ubuntu 20.04, I thought that just using `curl --proto '=https' |
2023-03-24 14:21:37 +0100 | <Guest|17> | --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh` should do the trick. During the installation prompts, I chose to append the PATH variable and to install the HLS and enable the enhanced intergration with stack (though later I tried other combinations with no apparent difference). |
2023-03-24 14:21:38 +0100 | <Guest|17> | Unfortunately, every time I tried this, the installation failed at the download stage. The usual output looks something like |
2023-03-24 14:21:38 +0100 | <Guest|17> | ``` |
2023-03-24 14:21:39 +0100 | <Guest|17> | % Total % Received % Xferd Average Speed Time Time Time Current |
2023-03-24 14:21:39 +0100 | <Guest|17> | Dload Upload Total Spent Left Speed |
2023-03-24 14:21:40 +0100 | <Guest|17> | 0 0 0 0 0 0 0 0 --:--:-- 0:03:04 --:--:-- 0 |
2023-03-24 14:21:40 +0100 | <Guest|17> | curl: (35) OpenSSL SSL_connect: Connection reset by peer in connection to downloads.haskell.org:443 |
2023-03-24 14:21:41 +0100 | <Guest|17> | "curl -Lf https://downloads.haskell.org/~ghcup/0.1.19.2/x86_64-linux-ghcup-0.1.19.2" failed! |
2023-03-24 14:21:41 +0100 | <Guest|17> | ``` |
2023-03-24 14:21:42 +0100 | <Guest|17> | Sometimes a Total of about 15Mb is present, and one time several other sections were filled out, but the Speed is always 0 with no progress being made, and an eventual end to the connection (though I have also killed this on the occasion it stayed alive for over 5 minutes). I couldn't really find any issue on the boards that seemed similar to mine |
2023-03-24 14:21:42 +0100 | <Guest|17> | and so I am here to ask whether anyone has encountered this before/has an idea on what the issue is and how to fix it. |
2023-03-24 14:22:28 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 252 seconds) |
2023-03-24 14:24:18 +0100 | cheater__ | (~Username@user/cheater) |
2023-03-24 14:24:19 +0100 | cheater__ | cheater |
2023-03-24 14:24:30 +0100 | Guest|17 | (~Guest|17@1.144.104.218) (Quit: Connection closed) |
2023-03-24 14:24:40 +0100 | cheater_ | (~Username@user/cheater) (Ping timeout: 252 seconds) |
2023-03-24 14:25:37 +0100 | Guest|17 | (~Guest|17@CPE-18-51.dsl.OntheNet.net) |
2023-03-24 14:29:54 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 268 seconds) |
2023-03-24 14:31:25 +0100 | npmania1 | (~Thunderbi@45.8.223.223) |
2023-03-24 14:34:52 +0100 | npmania | (~Thunderbi@45.8.223.208) (Ping timeout: 276 seconds) |
2023-03-24 14:34:52 +0100 | npmania1 | npmania |
2023-03-24 14:35:56 +0100 | B-J | (~BenziJuni@dsl-149-66-52.hive.is) |
2023-03-24 14:36:43 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:acf4:2d59:900d:be3a) |
2023-03-24 14:41:01 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:acf4:2d59:900d:be3a) (Ping timeout: 240 seconds) |
2023-03-24 14:47:30 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2023-03-24 14:48:11 +0100 | cheater | (~Username@user/cheater) |
2023-03-24 14:53:43 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 276 seconds) |
2023-03-24 14:54:22 +0100 | cheater | (~Username@user/cheater) |
2023-03-24 14:54:48 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-03-24 14:59:28 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 14:59:30 +0100 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
2023-03-24 14:59:31 +0100 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
2023-03-24 14:59:31 +0100 | wroathe | (~wroathe@user/wroathe) |
2023-03-24 15:02:03 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 260 seconds) |
2023-03-24 15:02:31 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2023-03-24 15:02:31 +0100 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2023-03-24 15:02:34 +0100 | allbery_b | geekosaur |
2023-03-24 15:03:41 +0100 | cheater_ | (~Username@user/cheater) (Ping timeout: 246 seconds) |
2023-03-24 15:05:00 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2023-03-24 15:05:08 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2023-03-24 15:11:22 +0100 | jero98772 | (~jero98772@2800:484:1d80:d8ce:9815:cfda:3661:17bb) |
2023-03-24 15:12:41 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2023-03-24 15:14:18 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2023-03-24 15:15:27 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 15:15:28 +0100 | cheater_ | cheater |
2023-03-24 15:18:58 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 15:19:47 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
2023-03-24 15:19:54 +0100 | thegeekinside | (~thegeekin@189.141.115.134) |
2023-03-24 15:20:43 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 260 seconds) |
2023-03-24 15:23:31 +0100 | cheater_ | (~Username@user/cheater) (Ping timeout: 260 seconds) |
2023-03-24 15:25:34 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 276 seconds) |
2023-03-24 15:25:52 +0100 | MangoIV[m] | (~mangoivma@2001:470:69fc:105::2:8417) |
2023-03-24 15:26:25 +0100 | ratapaca | (~ratapaca@98.40.240.33) |
2023-03-24 15:27:47 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 15:27:47 +0100 | cheater_ | cheater |
2023-03-24 15:28:18 +0100 | simendsjo | (~user@185.83.164.132) |
2023-03-24 15:28:32 +0100 | simendsjo | (~user@185.83.164.132) (Remote host closed the connection) |
2023-03-24 15:29:12 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2023-03-24 15:33:58 +0100 | razetime | (~Thunderbi@117.193.3.141) |
2023-03-24 15:34:40 +0100 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2023-03-24 15:35:12 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 248 seconds) |
2023-03-24 15:35:45 +0100 | ft | (~ft@p3e9bc443.dip0.t-ipconnect.de) |
2023-03-24 15:35:58 +0100 | Lord_of_Life_ | Lord_of_Life |
2023-03-24 15:37:08 +0100 | euandreh | (~Thunderbi@189.6.18.7) (Quit: euandreh) |
2023-03-24 15:37:35 +0100 | <zzz> | what's the simplest library for playing simple waveforms (just a couple of sine/saw/triangle waves interacting) ? |
2023-03-24 15:38:06 +0100 | <dminuoso> | Mmm, it would be so awesome if I could get getpeername from the socket in a wai application. :( |
2023-03-24 15:38:10 +0100 | <dminuoso> | Say in warp |
2023-03-24 15:38:36 +0100 | <dminuoso> | I would be even fine reinjecting that as a http header or something |
2023-03-24 15:38:49 +0100 | <dminuoso> | Is there a unix domain socket proxy that would do this for me? |
2023-03-24 15:40:02 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 15:40:50 +0100 | <geekosaur> | zzz, cross-platform audio is annoyingly difficult, and nobody's done a single-platform library. which means pretty much the only option is sdl_audio which is hardly lightweight |
2023-03-24 15:41:30 +0100 | <dminuoso> | geekosaur: there's qt |
2023-03-24 15:41:32 +0100 | ht_ | (~Thunderbi@194.110.115.10) |
2023-03-24 15:41:59 +0100 | <dminuoso> | but I guess that doesnt quite match the "lightweight" requirement :) |
2023-03-24 15:42:03 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 268 seconds) |
2023-03-24 15:42:08 +0100 | cheater_ | cheater |
2023-03-24 15:42:20 +0100 | <EvanR> | there's portaudio bindings |
2023-03-24 15:42:56 +0100 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Ping timeout: 246 seconds) |
2023-03-24 15:42:57 +0100 | ht_ | _ht |
2023-03-24 15:43:26 +0100 | <EvanR> | there doesn't seem to be any fmod bindings... |
2023-03-24 15:44:45 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 255 seconds) |
2023-03-24 15:51:05 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-03-24 15:53:30 +0100 | <zzz> | i'm not as interested in lightweight as i am in simple to use |
2023-03-24 15:54:56 +0100 | ratapaca | (~ratapaca@98.40.240.33) (Quit: Leaving) |
2023-03-24 15:55:14 +0100 | <zzz> | all i want is something like `play $ sine (Hz 446.0) <> saw (Hz 200.0) <> custom [whatever]` |
2023-03-24 15:56:54 +0100 | Guest|17 | (~Guest|17@CPE-18-51.dsl.OntheNet.net) (Ping timeout: 255 seconds) |
2023-03-24 15:57:11 +0100 | <zzz> | i'm currently exploring https://hackage.haskell.org/package/synthesizer-core-0.8.3/docs/Synthesizer-Generic-Oscillator.html |
2023-03-24 15:57:40 +0100 | <stefan-_> | there seem to be libraries related to SuperCollider, e.g. https://hackage.haskell.org/package/hsc3 |
2023-03-24 16:00:40 +0100 | <zzz> | o.o |
2023-03-24 16:00:42 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2023-03-24 16:00:47 +0100 | <zzz> | this is going to be harder than i thought |
2023-03-24 16:01:02 +0100 | <EvanR> | SDL_Mixer touted itself as easier to use for a long time |
2023-03-24 16:01:27 +0100 | <EvanR> | you can also shell out to e.g. aplay (linux ALSA) |
2023-03-24 16:02:03 +0100 | ubert1 | (~Thunderbi@p200300ecdf216c77fe5efe35ee3dae02.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2023-03-24 16:02:06 +0100 | <dminuoso> | Where is the documentation on the -N RTS flag? |
2023-03-24 16:02:14 +0100 | <dminuoso> | I cant seem to find it under https://downloads.haskell.org/ghc/latest/docs/users_guide/runtime_control.html#rts-options-for-con… |
2023-03-24 16:03:49 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-03-24 16:04:40 +0100 | <geekosaur> | https://downloads.haskell.org/ghc/latest/docs/users_guide/using-concurrent.html#parallel-options |
2023-03-24 16:04:53 +0100 | <geekosaur> | which your link links to |
2023-03-24 16:05:27 +0100 | <dminuoso> | Gah that's some poor UX. :( |
2023-03-24 16:05:30 +0100 | <dminuoso> | Thanks |
2023-03-24 16:06:17 +0100 | <dminuoso> | geekosaur: It would have been nice if they were listed under 5.7 Runtime system (RTS) options |
2023-03-24 16:06:26 +0100 | <geekosaur> | yeh |
2023-03-24 16:06:27 +0100 | <dminuoso> | Not under 5.4 "Using Concurrent Haskell" |
2023-03-24 16:06:44 +0100 | <geekosaur> | there's also random -f flags that aren't listed in the master list of options |
2023-03-24 16:12:40 +0100 | razetime | (~Thunderbi@117.193.3.141) (Quit: See You Space Cowboy) |
2023-03-24 16:14:37 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 265 seconds) |
2023-03-24 16:15:03 +0100 | cheater | (~Username@user/cheater) |
2023-03-24 16:17:19 +0100 | CiaoSen | (~Jura@p200300c9571fe6002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2023-03-24 16:18:45 +0100 | <zzz> | hmm... so i have a tone but it block gloss rendering https://paste.jrvieira.com/1679671082730 |
2023-03-24 16:18:48 +0100 | <zzz> | what am i doing wrong? |
2023-03-24 16:19:03 +0100 | <zzz> | s/block/blocks |
2023-03-24 16:19:48 +0100 | <zzz> | oops, wrong paste! this is the correct one: https://paste.jrvieira.com/1679671178614 |
2023-03-24 16:21:23 +0100 | <[exa]> | you might want to fork off the "soudn rendering" from "picture rendering" using say forkIO |
2023-03-24 16:22:41 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 16:23:28 +0100 | <EvanR> | audio is usually handled using a callback. The OS calls your callback to get more samples when the sound system is about to runout. Or you could use a blocking strategy and push samples out as fast as they will be accepted. Either way it needs to involve threads if you want something else to be happening concurrently |
2023-03-24 16:23:48 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 265 seconds) |
2023-03-24 16:23:53 +0100 | <EvanR> | like the gloss main loop |
2023-03-24 16:23:55 +0100 | cheater_ | cheater |
2023-03-24 16:26:13 +0100 | <EvanR> | zzz, here's an oldie but goodie https://hackage.haskell.org/package/csound-expression |
2023-03-24 16:26:22 +0100 | <EvanR> | if you want to screw around with waves |
2023-03-24 16:32:51 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2023-03-24 16:33:58 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2023-03-24 16:35:07 +0100 | <zzz> | thanks i'll take a look |
2023-03-24 16:35:50 +0100 | <zzz> | i have no experience with concurrency |
2023-03-24 16:36:59 +0100 | <EvanR> | you got your forkIO, you got your MVars, you got your TVars, you got your Async (library) |
2023-03-24 16:37:22 +0100 | <zzz> | i get the theory, just never done it |
2023-03-24 16:37:23 +0100 | <dminuoso> | Mmm, is there an unforkIO, and if yes, what would it do? |
2023-03-24 16:37:38 +0100 | <EvanR> | is unfork like pthreads join? |
2023-03-24 16:37:45 +0100 | <dminuoso> | Is it? I dont know! |
2023-03-24 16:37:52 +0100 | <EvanR> | which would be async's await |
2023-03-24 16:37:57 +0100 | <zzz> | *never done it in Haskell |
2023-03-24 16:38:06 +0100 | <dminuoso> | 16:35:50 zzz | i have no experience with concurrency |
2023-03-24 16:38:16 +0100 | <dminuoso> | Honestly, if this your first experience, it will be a blast. :) |
2023-03-24 16:38:24 +0100 | <zzz> | in Haskell |
2023-03-24 16:38:32 +0100 | <zzz> | i've done it in other languages |
2023-03-24 16:38:32 +0100 | <EvanR> | there will be plenty of "fun" for sure |
2023-03-24 16:38:42 +0100 | <EvanR> | not nearly as "fun" as other languages though |
2023-03-24 16:38:54 +0100 | <zzz> | unsafeFun ? |
2023-03-24 16:39:53 +0100 | <zzz> | hmm... killThread is not working |
2023-03-24 16:39:55 +0100 | <zzz> | i mean |
2023-03-24 16:40:17 +0100 | <zzz> | let's ignore the fact that i'm creating a thread every frame and killing the previous one |
2023-03-24 16:40:20 +0100 | <zzz> | https://paste.jrvieira.com/1679672197883 |
2023-03-24 16:41:26 +0100 | <EvanR> | "not working" |
2023-03-24 16:41:50 +0100 | <zzz> | it keeps adding sines to the signal until it explodes |
2023-03-24 16:42:03 +0100 | <geekosaur> | if it's making an FFI call to play the audio, and that FFI call is not marked as interruptible, killThread won't work |
2023-03-24 16:42:13 +0100 | <zzz> | oh |
2023-03-24 16:42:22 +0100 | <zzz> | there you go |
2023-03-24 16:42:24 +0100 | <zzz> | thanks |
2023-03-24 16:42:46 +0100 | <EvanR> | you wouldn't want to be killing this thread anyway because you want it to remain ready to handle the ongoing audio |
2023-03-24 16:43:05 +0100 | <zzz> | yes, i was just experimenting |
2023-03-24 16:43:13 +0100 | <EvanR> | in your playIO send control messages to the other threads via MVars or something |
2023-03-24 16:43:29 +0100 | <zzz> | oh i get it |
2023-03-24 16:44:06 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:acf4:2d59:900d:be3a) |
2023-03-24 16:44:17 +0100 | <zzz> | when will concurrency be elegant? |
2023-03-24 16:44:27 +0100 | <EvanR> | and then when you want music to sound right you set up a sequencer... and when you want the synthesizer or sound right you get sucked into Digital Signal Processing Arcana |
2023-03-24 16:44:49 +0100 | <zzz> | no no, i just want simple oscillators |
2023-03-24 16:45:22 +0100 | <zzz> | but sound processing is my jam, i would love to do it |
2023-03-24 16:45:33 +0100 | <EvanR> | since you're up against the raw OS audio API it's not going to be incredibly elegant |
2023-03-24 16:46:01 +0100 | <zzz> | i mean functional concurrency in general |
2023-03-24 16:46:05 +0100 | <EvanR> | there was a dream at one time you could hide that behind some FRP and handle time varying signals as is |
2023-03-24 16:47:04 +0100 | <EvanR> | well, if you have no experience with haskell's concurrency and lots of experience with traditional pthreads(crap)-like libraries, better hold off on judgements |
2023-03-24 16:47:59 +0100 | <[exa]> | zzz: literally just type forkIO before your call of `sound` there :] |
2023-03-24 16:48:29 +0100 | <zzz> | i only have experience with simple consurrency in imperative languages. zero experience with audio APIs |
2023-03-24 16:48:31 +0100 | Inst | (~Inst@2601:6c4:4081:54f0:b848:a37f:7ef6:16ca) (Ping timeout: 240 seconds) |
2023-03-24 16:49:00 +0100 | <[exa]> | zzz: the problem there is that the program starts generating the sound, but never gets to actually drawing anything because you only have 1 thread |
2023-03-24 16:49:13 +0100 | nate4 | (~nate@98.45.169.16) |
2023-03-24 16:50:06 +0100 | <EvanR> | simple concurrency in imperative languages, sounds like a contradiction xD |
2023-03-24 16:50:14 +0100 | <[exa]> | yeah |
2023-03-24 16:51:01 +0100 | <zzz> | ha |
2023-03-24 16:51:15 +0100 | <zzz> | [exa]: ok it's working |
2023-03-24 16:51:33 +0100 | <[exa]> | lol really? cool |
2023-03-24 16:52:16 +0100 | <[exa]> | I kinda wanted to start a dramatic narrative on how managing the pthreads is super complex and in haskell at least we have kinda safe abstract operation with the IO "fibers" above that |
2023-03-24 16:52:22 +0100 | <[exa]> | but lo, it was simpler |
2023-03-24 16:53:43 +0100 | <[exa]> | I guess the next problem will be to sync the threads properly, but that might be doable with a few shared IORefs for communication |
2023-03-24 16:54:12 +0100 | nate4 | (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
2023-03-24 16:54:15 +0100 | <zzz> | ok i need to read up on how to communicate with the thread now |
2023-03-24 16:56:23 +0100 | <zzz> | drawing the waveforms was infinitely simpler than producing the sound |
2023-03-24 16:56:34 +0100 | <zzz> | i would not expect that |
2023-03-24 16:56:46 +0100 | <[exa]> | Gloss is good for this |
2023-03-24 16:56:52 +0100 | <zzz> | yeah i blame gloss |
2023-03-24 16:57:10 +0100 | <zzz> | we need Glass for audio :) |
2023-03-24 16:57:39 +0100 | <[exa]> | btw there are some audio synth projects around that actually use gloss |
2023-03-24 16:57:54 +0100 | <zzz> | are there? |
2023-03-24 16:59:03 +0100 | mbuf | (~Shakthi@49.207.178.186) (Quit: Leaving) |
2023-03-24 16:59:07 +0100 | <[exa]> | https://hackage.haskell.org/package/synthesizer-core -- environs of this thing might be good |
2023-03-24 16:59:59 +0100 | <zzz> | i was exploring that |
2023-03-24 17:00:40 +0100 | <zzz> | i mean, that's actually what i'm using |
2023-03-24 17:01:10 +0100 | <zzz> | i need to close the 19 SDL tabs in my browser |
2023-03-24 17:01:56 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2023-03-24 17:02:45 +0100 | Guest|61 | (~Guest|61@91-167-181-228.subs.proxad.net) |
2023-03-24 17:02:52 +0100 | <Guest|61> | hello |
2023-03-24 17:03:16 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2023-03-24 17:03:21 +0100 | econo | (uid147250@user/econo) |
2023-03-24 17:04:17 +0100 | <[exa]> | zzz: the "usual" workflow with SDL and others that each graphics frame you also generate a tiny piece of the sound buffer, typically using some library that remembers which sounds were just playing and from where. That should also work here (with playIO) but I'd say it might be better to simply keep the 2 threads separated and use some environment to communicate. The main API problem there would be to have |
2023-03-24 17:04:23 +0100 | <[exa]> | the synthesizer react to results of IO actions (mainly readIORef) |
2023-03-24 17:04:27 +0100 | <[exa]> | Guest|61: well hello there |
2023-03-24 17:06:03 +0100 | <zzz> | ok so rethinking all of this, what i should do is probably stream this, because that's what i'm using to draw the oscilloscope points https://paste.jrvieira.com/1679673953461 |
2023-03-24 17:06:34 +0100 | Guest|61 | (~Guest|61@91-167-181-228.subs.proxad.net) (Client Quit) |
2023-03-24 17:08:14 +0100 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
2023-03-24 17:08:17 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 256 seconds) |
2023-03-24 17:08:35 +0100 | <[exa]> | zzz: yeah, more like `x` and `y` should be made "global parameters" with the IORef |
2023-03-24 17:08:53 +0100 | malte | (~malte@mal.tc) (Ping timeout: 250 seconds) |
2023-03-24 17:09:05 +0100 | <zzz> | they depend on input |
2023-03-24 17:09:06 +0100 | <zzz> | wait |
2023-03-24 17:09:52 +0100 | <azure_vermilion> | does ghc still do stream fusion or has something else replaced it? cos looking at the base library I can't see it |
2023-03-24 17:10:23 +0100 | __ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2023-03-24 17:10:24 +0100 | <EvanR> | MVar instead of IORef would let you wait for the next "message", as well as polling if you wanted (like IORef) |
2023-03-24 17:10:45 +0100 | <EvanR> | TVar would let you poll but magically causes it to block until polling would do anything differently |
2023-03-24 17:11:50 +0100 | <[exa]> | EvanR: it's sound, no waiting |
2023-03-24 17:11:51 +0100 | <davean> | So wakeup semantics is important. |
2023-03-24 17:12:01 +0100 | _ht | (~Thunderbi@194.110.115.10) (Ping timeout: 240 seconds) |
2023-03-24 17:12:01 +0100 | __ht | _ht |
2023-03-24 17:12:06 +0100 | <zzz> | [exa]: https://jrvieira.com/static/liss.mp4 |
2023-03-24 17:12:13 +0100 | <zzz> | [exa]: https://jrvieira.com/static/lisss.mp4 |
2023-03-24 17:12:23 +0100 | <EvanR> | [exa], it's sound. You spend most of your time waiting for the sound to play xD |
2023-03-24 17:12:29 +0100 | <EvanR> | but that's another thread |
2023-03-24 17:12:58 +0100 | <EvanR> | 44100 samples per second vs 4 GHz cpu |
2023-03-24 17:13:23 +0100 | <davean> | well you don't have to wait, you can schedule. |
2023-03-24 17:13:25 +0100 | <[exa]> | that's okay, unless the OS decides to nope |
2023-03-24 17:13:48 +0100 | <davean> | But to schedule well you need priority inversion and such. |
2023-03-24 17:14:02 +0100 | <davean> | or just be entirely scheduled |
2023-03-24 17:14:06 +0100 | cheater | (~Username@user/cheater) |
2023-03-24 17:14:08 +0100 | <EvanR> | schedule is another way to say block. Unless you want to keep piling more and more audio buffer, which just would introduce egregious lag for an interactive thing |
2023-03-24 17:14:37 +0100 | <[exa]> | azure_vermilion: tbh afaik they never "removed" anything like it and e.g. Text relies heavily on fusion; maybe you might check there |
2023-03-24 17:15:37 +0100 | lagash | (lagash@lagash.shelltalk.net) |
2023-03-24 17:16:54 +0100 | <geekosaur> | most fusion shows as RULES pragmas, not as functions or etc. |
2023-03-24 17:20:45 +0100 | <zzz> | just keep adding 's' to the name of the file in my url if you want more fun |
2023-03-24 17:21:01 +0100 | <zzz> | it goes up to 10 s |
2023-03-24 17:21:56 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
2023-03-24 17:24:43 +0100 | Midjak | (~Midjak@82.66.147.146) |
2023-03-24 17:25:04 +0100 | <[exa]> | zzz: no rickroll on the end :< |
2023-03-24 17:26:03 +0100 | jwiegley | (~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net) |
2023-03-24 17:27:24 +0100 | <geekosaur> | not sure kids these days even remember that or its referent 🙂 |
2023-03-24 17:27:30 +0100 | dipper_ | (~dipper@117.61.126.31) (Ping timeout: 268 seconds) |
2023-03-24 17:27:58 +0100 | <zzz> | i think that era ended when rick astley himself was rickrolled by a random redditor |
2023-03-24 17:28:28 +0100 | MacSlow | (~MacSlow@p57bb2fc5.dip0.t-ipconnect.de) |
2023-03-24 17:28:34 +0100 | <MacSlow> | Greetings everybody! |
2023-03-24 17:28:54 +0100 | <[exa]> | o/ |
2023-03-24 17:32:04 +0100 | <byorgey> | hi MacSlow |
2023-03-24 17:32:31 +0100 | <byorgey> | how's Haskell? |
2023-03-24 17:33:55 +0100 | <MacSlow> | Very interesting... but still a bit odd when one comes from C/C++ land. |
2023-03-24 17:35:53 +0100 | <EvanR> | something about how C is a purely functional language |
2023-03-24 17:36:14 +0100 | kenran | (~user@user/kenran) (Remote host closed the connection) |
2023-03-24 17:36:26 +0100 | use-value | (~Thunderbi@2a00:23c6:8a03:2f01:51a8:e4ff:15ed:6357) (Remote host closed the connection) |
2023-03-24 17:36:44 +0100 | use-value | (~Thunderbi@2a00:23c6:8a03:2f01:51a8:e4ff:15ed:6357) |
2023-03-24 17:37:12 +0100 | <zzz> | i just had a small heart attack when pulling stuff from github to my server |
2023-03-24 17:37:28 +0100 | <zzz> | it turns out they changed their host key yesterday https://github.blog/2023-03-23-we-updated-our-rsa-ssh-host-key/ |
2023-03-24 17:37:36 +0100 | <zzz> | PSA |
2023-03-24 17:38:34 +0100 | <MacSlow> | zzz: :) can imagine |
2023-03-24 17:39:08 +0100 | <darkling> | We had to reconfigure our build servers this morning for that. |
2023-03-24 17:39:11 +0100 | <MacSlow> | once forgot I updated keys on one of my servers... :) |
2023-03-24 17:39:43 +0100 | <MacSlow> | that was a 'chilling' sensation until I remebered the key-update. |
2023-03-24 17:41:24 +0100 | <[exa]> | imagine the meta-fun of pushing the privkeys to github when they are actually github keys. |
2023-03-24 17:42:56 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 17:45:01 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 240 seconds) |
2023-03-24 17:46:38 +0100 | cheater__ | (~Username@user/cheater) |
2023-03-24 17:46:38 +0100 | cheater__ | cheater |
2023-03-24 17:49:16 +0100 | cheater_ | (~Username@user/cheater) (Ping timeout: 252 seconds) |
2023-03-24 17:49:57 +0100 | trev | (~trev@user/trev) (Remote host closed the connection) |
2023-03-24 17:50:01 +0100 | <geekosaur> | gleh, my known-hosts is the hashed format and I have to figure out how to delete the right hash(es) |
2023-03-24 17:50:46 +0100 | <EvanR> | wasn't there a command to operate on the known-hosts file... |
2023-03-24 17:50:55 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 17:51:39 +0100 | <zzz> | i think ssh-keygen |
2023-03-24 17:51:39 +0100 | trev | (~trev@user/trev) |
2023-03-24 17:51:43 +0100 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
2023-03-24 17:53:01 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:3aed:4a10:f448:7afe) (Ping timeout: 240 seconds) |
2023-03-24 17:53:51 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 248 seconds) |
2023-03-24 17:54:01 +0100 | cheater_ | cheater |
2023-03-24 17:55:50 +0100 | <geekosaur> | yeh, ssh-keygen -R github.com |
2023-03-24 17:56:22 +0100 | <geekosaur> | (or -F in place of -R to see if/where it is_ |
2023-03-24 17:56:26 +0100 | <geekosaur> | ) |
2023-03-24 17:57:56 +0100 | <tomsmeding> | geekosaur: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/githubs-ssh-key-fin… |
2023-03-24 17:58:11 +0100 | <tomsmeding> | remove all github.com entries and add those, I guess |
2023-03-24 17:59:56 +0100 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2023-03-24 18:01:44 +0100 | lagash | (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
2023-03-24 18:13:52 +0100 | Nezteb | (sid594012@id-594012.tinside.irccloud.com) () |
2023-03-24 18:15:57 +0100 | <geekosaur> | and then there's the ip address, sigh (decided to test it immediately) |
2023-03-24 18:17:58 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 18:18:16 +0100 | lagash | (lagash@lagash.shelltalk.net) |
2023-03-24 18:18:23 +0100 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 248 seconds) |
2023-03-24 18:20:04 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 252 seconds) |
2023-03-24 18:22:34 +0100 | cheater__ | (~Username@user/cheater) |
2023-03-24 18:22:34 +0100 | cheater__ | cheater |
2023-03-24 18:24:19 +0100 | cheater_ | (~Username@user/cheater) (Ping timeout: 276 seconds) |
2023-03-24 18:26:11 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer) |
2023-03-24 18:29:35 +0100 | hugo | (znc@verdigris.lysator.liu.se) |
2023-03-24 18:30:37 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2023-03-24 18:30:53 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2023-03-24 18:32:41 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2023-03-24 18:41:18 +0100 | phma | (phma@2001:5b0:2144:4f68:9b04:52b2:83ef:e696) (Read error: Connection reset by peer) |
2023-03-24 18:42:11 +0100 | phma | (phma@2001:5b0:210d:9a38:acff:41d6:73ae:16da) |
2023-03-24 18:42:27 +0100 | sp00kins | (~sp00kins@97.sub-174-216-176.myvzw.com) |
2023-03-24 18:44:50 +0100 | <MacSlow> | bbl |
2023-03-24 18:44:55 +0100 | MacSlow | (~MacSlow@p57bb2fc5.dip0.t-ipconnect.de) (Quit: leaving) |
2023-03-24 18:53:36 +0100 | _xor | (~xor@74.215.46.17) |
2023-03-24 18:54:36 +0100 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
2023-03-24 19:00:43 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 276 seconds) |
2023-03-24 19:02:05 +0100 | cheater | (~Username@user/cheater) |
2023-03-24 19:07:02 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2023-03-24 19:07:07 +0100 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 248 seconds) |
2023-03-24 19:08:42 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2023-03-24 19:09:10 +0100 | vpan | (~0@212.117.1.172) (Quit: Leaving.) |
2023-03-24 19:16:40 +0100 | <dminuoso> | Okay I would really like a unix socket proxy that can inject getpeername as a header. |
2023-03-24 19:17:19 +0100 | <dminuoso> | Or a hook for warp that allows the same, after staring at warp for quite a while, I just dont see any ergonomical way to provide a hook that has a reasonable chance of getting accepted. |
2023-03-24 19:18:05 +0100 | <dminuoso> | Unless it would be something very specific like `setPeernameHeader :: T.Text -> Settings -> Settings` |
2023-03-24 19:18:22 +0100 | <dminuoso> | Or well, `Maybe T.Text -> Settings -> Settings` rather I suppose |
2023-03-24 19:18:28 +0100 | <dminuoso> | Any thoughts? |
2023-03-24 19:18:59 +0100 | slack1256 | (~slack1256@186.11.53.81) |
2023-03-24 19:20:58 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2023-03-24 19:22:49 +0100 | hugo- | (znc@verdigris.lysator.liu.se) |
2023-03-24 19:23:39 +0100 | slac48422 | (~slack1256@191.126.99.83) |
2023-03-24 19:25:31 +0100 | slack1256 | (~slack1256@186.11.53.81) (Ping timeout: 240 seconds) |
2023-03-24 19:26:14 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2023-03-24 19:26:40 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2023-03-24 19:29:48 +0100 | Square | (~Square4@user/square) |
2023-03-24 19:31:55 +0100 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
2023-03-24 19:33:21 +0100 | azure_vermilion | (~Thunderbi@164.39.138.83) (Quit: azure_vermilion) |
2023-03-24 19:33:50 +0100 | azure_vermilion | (~Thunderbi@164.39.138.83) |
2023-03-24 19:34:52 +0100 | azure_vermilion | (~Thunderbi@164.39.138.83) (Client Quit) |
2023-03-24 19:35:10 +0100 | Square | (~Square4@user/square) (Ping timeout: 276 seconds) |
2023-03-24 19:35:10 +0100 | azure_vermilion | (~Thunderbi@164.39.138.83) |
2023-03-24 19:37:31 +0100 | gurkenglas | (~gurkengla@dynamic-046-114-182-005.46.114.pool.telefonica.de) (Ping timeout: 240 seconds) |
2023-03-24 19:37:54 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 19:38:51 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 268 seconds) |
2023-03-24 19:39:00 +0100 | cheater_ | cheater |
2023-03-24 19:39:41 +0100 | gurkenglas | (~gurkengla@dynamic-046-114-182-005.46.114.pool.telefonica.de) |
2023-03-24 19:40:37 +0100 | shriekingnoise | (~shrieking@186.137.175.87) |
2023-03-24 19:41:46 +0100 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2023-03-24 19:42:09 +0100 | ec | (~ec@gateway/tor-sasl/ec) |
2023-03-24 19:46:18 +0100 | slack1256 | (~slack1256@186.11.48.2) |
2023-03-24 19:48:37 +0100 | jakalx | (~jakalx@base.jakalx.net) () |
2023-03-24 19:48:43 +0100 | slac48422 | (~slack1256@191.126.99.83) (Ping timeout: 268 seconds) |
2023-03-24 19:52:12 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2023-03-24 19:54:03 +0100 | cyphase | (~cyphase@user/cyphase) (Ping timeout: 265 seconds) |
2023-03-24 19:55:01 +0100 | hugo- | (znc@verdigris.lysator.liu.se) (Ping timeout: 240 seconds) |
2023-03-24 19:55:42 +0100 | cyphase | (~cyphase@user/cyphase) |
2023-03-24 20:01:37 +0100 | johnw | (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (ERC 5.4 (IRC client for GNU Emacs 28.2)) |
2023-03-24 20:11:36 +0100 | gurkenglas | (~gurkengla@dynamic-046-114-182-005.46.114.pool.telefonica.de) (Ping timeout: 255 seconds) |
2023-03-24 20:13:38 +0100 | gurkenglas | (~gurkengla@dynamic-089-015-238-223.89.15.238.pool.telefonica.de) |
2023-03-24 20:22:56 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 246 seconds) |
2023-03-24 20:23:10 +0100 | jumper149 | (~jumper149@base.felixspringer.xyz) |
2023-03-24 20:26:08 +0100 | zer0bitz_ | (~zer0bitz@2001:2003:f443:d600:10e:27fe:cd37:4cd1) |
2023-03-24 20:27:31 +0100 | zer0bitz | (~zer0bitz@2001:2003:f443:d600:b49b:29c2:a815:97ea) (Ping timeout: 240 seconds) |
2023-03-24 20:32:05 +0100 | chele | (~chele@user/chele) (Remote host closed the connection) |
2023-03-24 20:38:53 +0100 | hugo- | (znc@verdigris.lysator.liu.se) |
2023-03-24 20:40:00 +0100 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-03-24 20:40:35 +0100 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
2023-03-24 20:41:21 +0100 | ub | (~Thunderbi@p548c9c54.dip0.t-ipconnect.de) |
2023-03-24 20:42:12 +0100 | slack1256 | (~slack1256@186.11.48.2) (Ping timeout: 255 seconds) |
2023-03-24 20:43:13 +0100 | kenran | (~user@user/kenran) |
2023-03-24 20:43:21 +0100 | ubert | (~Thunderbi@p548c9c54.dip0.t-ipconnect.de) (Ping timeout: 265 seconds) |
2023-03-24 20:43:22 +0100 | ub | ubert |
2023-03-24 20:45:21 +0100 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 255 seconds) |
2023-03-24 20:45:35 +0100 | hugo- | (znc@verdigris.lysator.liu.se) (Ping timeout: 248 seconds) |
2023-03-24 20:45:51 +0100 | lagash | (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
2023-03-24 20:46:01 +0100 | lagash | (lagash@lagash.shelltalk.net) |
2023-03-24 20:48:09 +0100 | zer0bitz_ | (~zer0bitz@2001:2003:f443:d600:10e:27fe:cd37:4cd1) () |
2023-03-24 20:49:25 +0100 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
2023-03-24 20:50:45 +0100 | nate4 | (~nate@98.45.169.16) |
2023-03-24 20:51:38 +0100 | zer0bitz | (~zer0bitz@2001:2003:f443:d600:10e:27fe:cd37:4cd1) |
2023-03-24 20:53:38 +0100 | jade1024[m] | riley[m] |
2023-03-24 20:55:19 +0100 | Albina_Pavlovna | (~Albina_Pa@2603-7000-76f0-76e0-7893-ded3-4e0c-2135.res6.spectrum.com) |
2023-03-24 20:55:31 +0100 | nate4 | (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
2023-03-24 20:55:59 +0100 | cheater | (~Username@user/cheater) |
2023-03-24 20:56:42 +0100 | trev | (~trev@user/trev) (Remote host closed the connection) |
2023-03-24 20:58:01 +0100 | cyphase | (~cyphase@user/cyphase) (Ping timeout: 240 seconds) |
2023-03-24 20:59:56 +0100 | hugo- | (znc@verdigris.lysator.liu.se) |
2023-03-24 21:02:59 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |
2023-03-24 21:03:07 +0100 | cyphase | (~cyphase@user/cyphase) |
2023-03-24 21:07:35 +0100 | hugo- | (znc@verdigris.lysator.liu.se) (Ping timeout: 260 seconds) |
2023-03-24 21:13:22 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 21:13:31 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 240 seconds) |
2023-03-24 21:13:36 +0100 | cheater_ | cheater |
2023-03-24 21:13:54 +0100 | slack1256 | (~slack1256@186.11.48.2) |
2023-03-24 21:14:06 +0100 | hugo- | (znc@verdigris.lysator.liu.se) |
2023-03-24 21:17:00 +0100 | zeenk | (~zeenk@2a02:2f04:a307:2300::fba) |
2023-03-24 21:18:01 +0100 | slack1256 | (~slack1256@186.11.48.2) (Ping timeout: 240 seconds) |
2023-03-24 21:18:55 +0100 | hugo- | (znc@verdigris.lysator.liu.se) (Ping timeout: 250 seconds) |
2023-03-24 21:28:18 +0100 | hugo- | (znc@verdigris.lysator.liu.se) |
2023-03-24 21:33:31 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 240 seconds) |
2023-03-24 21:39:28 +0100 | vglfr | (~vglfr@88.155.57.120) |
2023-03-24 21:40:15 +0100 | Guest|17 | (~Guest|17@CPE-18-51.dsl.OntheNet.net) |
2023-03-24 21:42:39 +0100 | Albina_Pavlovna | (~Albina_Pa@2603-7000-76f0-76e0-7893-ded3-4e0c-2135.res6.spectrum.com) (Quit: ZZZzzz…) |
2023-03-24 21:48:08 +0100 | riley[m] | jade1024[m] |
2023-03-24 21:51:31 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:2938:b910:506b:4cb7) |
2023-03-24 21:58:53 +0100 | cheater | (~Username@user/cheater) |
2023-03-24 22:01:21 +0100 | kimiamania | (~65804703@user/kimiamania) (Quit: PegeLinux) |
2023-03-24 22:01:41 +0100 | kimiamania | (~65804703@user/kimiamania) |
2023-03-24 22:02:01 +0100 | Guest|17 | (~Guest|17@CPE-18-51.dsl.OntheNet.net) (Ping timeout: 240 seconds) |
2023-03-24 22:03:12 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 255 seconds) |
2023-03-24 22:04:22 +0100 | Albina_Pavlovna | (~Albina_Pa@2603-7000-76f0-76e0-7893-ded3-4e0c-2135.res6.spectrum.com) |
2023-03-24 22:05:14 +0100 | cheater | (~Username@user/cheater) |
2023-03-24 22:09:41 +0100 | Ashkan | (~Ashkan@a119011.upc-a.chello.nl) |
2023-03-24 22:12:49 +0100 | euandreh | (~Thunderbi@189.6.18.7) |
2023-03-24 22:16:27 +0100 | malte | (~malte@mal.tc) |
2023-03-24 22:19:16 +0100 | srz | (~srz@181.228.49.93) (Quit: Leaving) |
2023-03-24 22:34:16 +0100 | lagash | (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
2023-03-24 22:36:53 +0100 | dsrt^ | (~dsrt@c-24-30-76-89.hsd1.ga.comcast.net) |
2023-03-24 22:39:56 +0100 | qp | (~qp@user/qp) |
2023-03-24 22:41:07 +0100 | <Ashkan> | Hello Hello |
2023-03-24 22:41:07 +0100 | <Ashkan> | I'm having difficulty with dearimgui bindings. I realised its not on stackage so I added it to the `extra-deps` in `stack.yaml` but `import DearImGui` throws an error (module not recognised) and I see its not added to my project `.cabal` file |
2023-03-24 22:41:54 +0100 | <Ashkan> | every other package I added as a dependency I can find in the project `.cabal` file but this one |
2023-03-24 22:42:33 +0100 | <geekosaur> | editing stack.yaml adds nothing to the cabal file. were you perhaps using package.yaml also? |
2023-03-24 22:44:09 +0100 | <Ashkan> | geekosaur yes. there is a `package.yaml` |
2023-03-24 22:44:19 +0100 | <geekosaur> | then you need to add it there as well |
2023-03-24 22:45:41 +0100 | <Ashkan> | So add it both in `extra-deps` and in `package.yaml` ? |
2023-03-24 22:45:50 +0100 | <geekosaur> | yes. they do different things |
2023-03-24 22:46:06 +0100 | qp | (~qp@user/qp) (WeeChat 3.8) |
2023-03-24 22:46:08 +0100 | <geekosaur> | (it's a long story) |
2023-03-24 22:46:09 +0100 | <Ashkan> | now I get this `Cabal-simple_SvXsv1f__3.6.3.0_ghc-9.2.5: The pkg-config package 'glew' is |
2023-03-24 22:46:09 +0100 | <Ashkan> | dear-imgui > required but it could not be found.` some progress but then what is this `glew` ? |
2023-03-24 22:46:30 +0100 | <Ashkan> | Build system in Haskell beats Scala's in crappiness:D |
2023-03-24 22:46:31 +0100 | <geekosaur> | it's an external C or C++ library |
2023-03-24 22:46:35 +0100 | mayanhavoc | (~mayanhavo@2607:fb90:b126:4244:a919:fd57:240f:2c7) |
2023-03-24 22:46:44 +0100 | <Ashkan> | I see ... so install it on my OS ? |
2023-03-24 22:46:58 +0100 | <geekosaur> | yes |
2023-03-24 22:47:13 +0100 | <geekosaur> | apt-cache on my ubuntu system says libglew-dev |
2023-03-24 22:47:21 +0100 | <geekosaur> | this will vary on other distributions |
2023-03-24 22:47:22 +0100 | <Ashkan> | geekosaur like the good old C++ days (y) |
2023-03-24 22:47:36 +0100 | <geekosaur> | exactly like, since it *is* those days |
2023-03-24 22:47:47 +0100 | <Ashkan> | mine is a mac, most probably brew has got it |
2023-03-24 22:47:58 +0100 | <geekosaur> | we don';t reimplement the whole world in Haskell, we use external C/C++/etc. libraries for things |
2023-03-24 22:48:12 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2023-03-24 22:48:23 +0100 | <mayanhavoc> | I'm trying to follow the Haskell Programming from First Principles book and I'm already stuck on the first chapter. |
2023-03-24 22:48:23 +0100 | <mayanhavoc> | I'm trying to understand currying. |
2023-03-24 22:48:24 +0100 | <mayanhavoc> | Could someone help me understand how you go from |
2023-03-24 22:48:24 +0100 | <mayanhavoc> | (λxy.xxy)(λx.xy)(λx.xz) |
2023-03-24 22:48:25 +0100 | <mayanhavoc> | to |
2023-03-24 22:48:25 +0100 | <mayanhavoc> | (λxyz.xz(yz))(λmn.m)(λp.p). |
2023-03-24 22:48:26 +0100 | <mayanhavoc> | I can work through the previous examples where you substituted z for x and then worked it out by replacing z for x in the body, but I don't understand why instead of replacing z for x, there are now three arguments in the first function and two in the second one. |
2023-03-24 22:48:26 +0100 | <mayanhavoc> | I've tried writing it out but it just gets confusing: |
2023-03-24 22:48:27 +0100 | <mayanhavoc> | (λx(λy.xxy)(λx.xxy)(λx.xz) |
2023-03-24 22:48:27 +0100 | <mayanhavoc> | x:= (λx.xy) |
2023-03-24 22:48:28 +0100 | <mayanhavoc> | (λy.(λx.xy)xy)(λx.xz) |
2023-03-24 22:48:28 +0100 | <mayanhavoc> | y:=(λx.xz) |
2023-03-24 22:48:29 +0100 | <mayanhavoc> | How do I go from here? |
2023-03-24 22:48:55 +0100 | lagash | (lagash@lagash.shelltalk.net) |
2023-03-24 22:50:29 +0100 | <Ashkan> | mayanhavoc in `\xy.xxy` for example, the `x` and `y` are *bound* because they are named after the lambda symbol. You can replace them with anything you want as long as there is no confusion with the *free* variables. You understand so far ? |
2023-03-24 22:50:51 +0100 | <mayanhavoc> | Ashkan Yup |
2023-03-24 22:51:01 +0100 | <Ashkan> | So for all purposes `\xy.xxy` is exactly same as `\ab.aab` |
2023-03-24 22:52:51 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:2938:b910:506b:4cb7) (Quit: WeeChat 2.8) |
2023-03-24 22:53:40 +0100 | <Ashkan> | Okay, I'm actually looking at it and it looks more complicated than I first thought ... give me a min to figure this out. I'm in the second 3/th of the book myself so don't expect much from me:D |
2023-03-24 22:54:40 +0100 | <mayanhavoc> | Ashkan no worries! |
2023-03-24 22:55:50 +0100 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
2023-03-24 22:56:04 +0100 | <Ashkan> | Alright, next comes the application: `(\x.xy)(e) --> e` . Like a function call. You give it a name in your head `f(x) = xy` then call it with `e` so you have `f(e) = ey` so `(\x.xy)(e) -> ey` . Following so far ? |
2023-03-24 22:57:27 +0100 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
2023-03-24 22:57:30 +0100 | <mayanhavoc> | Wait. So the application is (\x.xz)? |
2023-03-24 22:57:50 +0100 | Albina_Pavlovna | (~Albina_Pa@2603-7000-76f0-76e0-7893-ded3-4e0c-2135.res6.spectrum.com) (Quit: ZZZzzz…) |
2023-03-24 22:57:53 +0100 | <mayanhavoc> | Sorry, what I mean is, is (e) == (\x.xz)? |
2023-03-24 22:58:15 +0100 | <Ashkan> | Eee ... no, `\x.xz` is an *abstraction* `f(x)=xz` |
2023-03-24 22:58:46 +0100 | <Ashkan> | defined a function, anonymous function (has no name). To ease the understanding I give them names in my head like `f` here |
2023-03-24 22:59:43 +0100 | <int-e> | Ashkan: I assume the missing `y` from `(\x.xy)(e) --> ey` was a typo? |
2023-03-24 23:00:08 +0100 | Albina_Pavlovna | (~Albina_Pa@2603-7000-76f0-76e0-7893-ded3-4e0c-2135.res6.spectrum.com) |
2023-03-24 23:00:10 +0100 | <Ashkan> | Again, IIUC, I have to say no. So an *application* is when you call the (anonymous) function with an actual argument. Lambda calculus doesn't have named functions so you can just say `f(e)` |
2023-03-24 23:00:57 +0100 | <Ashkan> | They way you write an application is like this : (abstraction)(expression) which means "apply the expression (argument) to the abstraction (function)" |
2023-03-24 23:00:58 +0100 | <mayanhavoc> | Ok ok |
2023-03-24 23:01:41 +0100 | <Ashkan> | So when you see `(\x.something)(e)` it means "replace every `x` in `something` with `e` |
2023-03-24 23:01:47 +0100 | <Ashkan> | So far good ? |
2023-03-24 23:01:57 +0100 | <mayanhavoc> | Yes! So far I'm with you |
2023-03-24 23:02:00 +0100 | <jade1024[m]> | yes |
2023-03-24 23:02:35 +0100 | <mayanhavoc> | OOOHH... it's ey because only x is bound |
2023-03-24 23:03:50 +0100 | <Ashkan> | Alright then. You now have all it takes to reduce the whole thing yourself:) only catch is this : |
2023-03-24 23:03:51 +0100 | <Ashkan> | Sometimes the *bound* variables (function parameter names) appear a lot in totally unrelated expressions and if you just mechanically replace them with some value in the *application*, you then change the meaning of the expression in a wrong way |
2023-03-24 23:04:27 +0100 | <Ashkan> | mayanhavoc Yes you got it. Because only `x` is the argument (is bound). Everything else is free and stays as is |
2023-03-24 23:05:24 +0100 | <Ashkan> | So as I was saying, in order to prevent the application from messing up the expression, sometimes we need to first to a *rename*ing of the bound variables. That's what you see with all the new names in the final results |
2023-03-24 23:07:01 +0100 | <mayanhavoc> | Ok, but I still don't understand how you end up with a bound variable `z`. Is that the application of (\x.xy)(e)? And is (e) in this case representing (\x.xz)? |
2023-03-24 23:08:46 +0100 | <Ashkan> | Lets do it together : `(λx.xy)(λx.xz)` means apply `\x.xz` to `\x.xy` |
2023-03-24 23:10:06 +0100 | kenran | (~user@user/kenran) (Remote host closed the connection) |
2023-03-24 23:10:38 +0100 | <Ashkan> | now you see we have to totally unrelated lambdas, both having a bound `x` (totally unrelated to each other). You can say `(\a.az)(\b.by)` and it means exactly the same |
2023-03-24 23:10:58 +0100 | <mayanhavoc> | Ahhh... ok |
2023-03-24 23:12:28 +0100 | <Ashkan> | only one catch, I'm not sure about the associativity and it is important. Can change the meaning. For example `abc` could be `(ab)c` or `a(bc)`. I'm assuming the later but I'm actually thinking application is left-associative |
2023-03-24 23:13:09 +0100 | <mayanhavoc> | Ok, that I'm pretty sure is correct. Function application is left associative |
2023-03-24 23:14:09 +0100 | <Ashkan> | Yup just checked it. Its left associative. So we actually should have started with `(λxy.xxy)(λx.xy)` |
2023-03-24 23:14:32 +0100 | <mauke> | (page 8) |
2023-03-24 23:15:08 +0100 | <Ashkan> | `(\ab.aab)(\c.cy)` you understand the equivalence ? |
2023-03-24 23:15:31 +0100 | <mayanhavoc> | Correct, just changing letters so it's not confusing right? |
2023-03-24 23:15:36 +0100 | <Ashkan> | yes |
2023-03-24 23:15:37 +0100 | <mauke> | also, as far as I can tell, the first two terms you were asking about have nothing to do with each other |
2023-03-24 23:15:59 +0100 | <Ashkan> | note the first `y` got changed because it was bound. The second `y` was not so it sayed. |
2023-03-24 23:16:45 +0100 | <mayanhavoc> | Right!!! Ok, I follow you |
2023-03-24 23:16:52 +0100 | <Ashkan> | now `\ab.aab` has two arguments. Its `\a.\b.aab` this is just currying |
2023-03-24 23:16:56 +0100 | <Ashkan> | Good ? |
2023-03-24 23:17:07 +0100 | <mayanhavoc> | Good! |
2023-03-24 23:17:29 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-24 23:18:01 +0100 | <Ashkan> | this currying is important because when you want to do the application, you replace the outermost argument (`a` here, not the `b`) |
2023-03-24 23:19:11 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 248 seconds) |
2023-03-24 23:19:22 +0100 | cheater_ | cheater |
2023-03-24 23:20:06 +0100 | <Ashkan> | so `f (a, b) = aab`, compute `f(\c.cy)` so this is in fact a higher order function application. You should replace the first argument with a value which is itself an abstraction |
2023-03-24 23:20:13 +0100 | <Ashkan> | Can you do it ? |
2023-03-24 23:21:02 +0100 | gmg | (~user@user/gehmehgeh) (Ping timeout: 255 seconds) |
2023-03-24 23:21:17 +0100 | mastarija | (~mastarija@188.252.197.99) (Quit: WeeChat 3.7.1) |
2023-03-24 23:21:51 +0100 | gmg | (~user@user/gehmehgeh) |
2023-03-24 23:22:29 +0100 | <mayanhavoc> | Ok, here is where I start getting lost. Would this be: ` (\c.cy, b) = aab`? |
2023-03-24 23:22:46 +0100 | <Ashkan> | Nope:) |
2023-03-24 23:23:04 +0100 | <Ashkan> | in the `aab`, replace the `a`s with the `\c.cy` |
2023-03-24 23:23:32 +0100 | <Ashkan> | `(\c.cy)(\c.cy)b` |
2023-03-24 23:23:39 +0100 | <mayanhavoc> | Ok, so more like \b = (\c.cy)(\c.cy)b? |
2023-03-24 23:23:45 +0100 | <Ashkan> | perfect |
2023-03-24 23:23:50 +0100 | <Ashkan> | do you understand why ? |
2023-03-24 23:23:50 +0100 | <mayanhavoc> | Ok ok |
2023-03-24 23:24:42 +0100 | <mayanhavoc> | Yes, because we are replacing c.cy for a, we remove the a. Sort of like 'b' in terms of 'a'? |
2023-03-24 23:25:47 +0100 | <Ashkan> | We are *applying* `\c.cy` to `\ab.aab` which means to call it with first argument = `\c.cy` |
2023-03-24 23:26:27 +0100 | <mayanhavoc> | Ok, I'm getting it, I promise |
2023-03-24 23:26:41 +0100 | <Ashkan> | Give the `\c.cy` its own name, like `Z`. Now apply this `Z` to `\ab.aab`. Its `\b.ZZb` now expand `Z` |
2023-03-24 23:27:05 +0100 | <Ashkan> | okay |
2023-03-24 23:27:16 +0100 | <Ashkan> | now we have `(\c.cy)(\c.cy)b` |
2023-03-24 23:27:24 +0100 | <mayanhavoc> | Correct |
2023-03-24 23:28:04 +0100 | <Ashkan> | again we are in the same situation as before , with the associatively : |
2023-03-24 23:28:15 +0100 | thegeekinside | (~thegeekin@189.141.115.134) (Ping timeout: 255 seconds) |
2023-03-24 23:28:31 +0100 | <Ashkan> | so first do the `(\c.cy)(\c.cy)` |
2023-03-24 23:29:45 +0100 | <Ashkan> | rename to avoid confusion : `(\a.ay)(\b.by)` --> `(\b.by)y` --> `yy` |
2023-03-24 23:30:03 +0100 | euandreh | (~Thunderbi@189.6.18.7) (Quit: euandreh) |
2023-03-24 23:32:39 +0100 | <EvanR> | I'm a number not a name |
2023-03-24 23:32:55 +0100 | <mayanhavoc> | Just a sec, I'm trying to figure this out |
2023-03-24 23:33:13 +0100 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2023-03-24 23:33:15 +0100 | <int-e> | EvanR: you'll love de Bruijn indices then |
2023-03-24 23:33:32 +0100 | <EvanR> | (1 y)(1 y) => (1 y) y |
2023-03-24 23:33:45 +0100 | <int-e> | EvanR: you still need the lambdas though |
2023-03-24 23:33:55 +0100 | <EvanR> | nah it's obvious xD |
2023-03-24 23:34:01 +0100 | <int-e> | \\1 is different from \1 |
2023-03-24 23:34:12 +0100 | <EvanR> | fine |
2023-03-24 23:34:20 +0100 | lagash | (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
2023-03-24 23:35:23 +0100 | <mayanhavoc> | Ok, so IIUC... (\a.ay) and (\b.by) are identity functions, so applying (\b.by) to (\a.ay) gives you \b.by. Right? |
2023-03-24 23:35:57 +0100 | <EvanR> | (\a . a y) x = x y which is not x necessarily |
2023-03-24 23:36:03 +0100 | <Ashkan> | Err identity function is `\x.x` |
2023-03-24 23:36:23 +0100 | <Ashkan> | '\x.xy` is most definitely not identity |
2023-03-24 23:36:57 +0100 | <EvanR> | id x = x |
2023-03-24 23:37:10 +0100 | <EvanR> | what x = what |
2023-03-24 23:37:22 +0100 | <int-e> | It makes no real difference here, but "applying (\b.by) to (\a.ay)" means (\b.by)(\a.ay) |
2023-03-24 23:37:35 +0100 | <Ashkan> | For example apply `1` to `\a.ay` , its `1y` which is *not* the same as `1` |
2023-03-24 23:38:03 +0100 | <int-e> | (You apply a function to its argument.) |
2023-03-24 23:38:09 +0100 | <EvanR> | apply x to y = apply y to x? xD |
2023-03-24 23:38:36 +0100 | <EvanR> | that'd be quite an equivocation |
2023-03-24 23:38:39 +0100 | <int-e> | EvanR: Maybe if it applies to oranges. (Does that pun work?) |
2023-03-24 23:39:02 +0100 | <Ashkan> | Yes my wording was confusing. Apply `\a.ay` to `1` |
2023-03-24 23:39:59 +0100 | <Ashkan> | Anywasy, `(\a.ay)(\b.by)` means "replace `a` with `\b.by`" |
2023-03-24 23:40:11 +0100 | <int-e> | (in `ay`) |
2023-03-24 23:40:28 +0100 | <Ashkan> | in `ay` , yes:) |
2023-03-24 23:40:59 +0100 | <mayanhavoc> | Ok... so what confuses me here is why is (\a.ay)(\b.by) not (\b(\b.by))y? |
2023-03-24 23:41:12 +0100 | michalz | (~michalz@185.246.207.203) (Remote host closed the connection) |
2023-03-24 23:41:27 +0100 | <int-e> | (\x.M[x])N -> M[N] -- usually with the restriction that no free variables of N are bound in M, though there are weaker versions. |
2023-03-24 23:41:38 +0100 | <int-e> | mayanhavoc: the lambda is "consumed" by the beta step. |
2023-03-24 23:42:04 +0100 | <int-e> | Actually |
2023-03-24 23:42:18 +0100 | <int-e> | mayanhavoc: I should ask where the first \b in the result comes from. |
2023-03-24 23:42:26 +0100 | <Ashkan> | first `\b.\b. anything` would be wrong since two arguments are named the same. Can'y have different bound variables with the same nme |
2023-03-24 23:42:50 +0100 | <mayanhavoc> | int-e How do you mean? I thought by replacing (\b.by) for the 'a' in (\a.ay), you get rid of the `\a`? No? |
2023-03-24 23:43:02 +0100 | <Ashkan> | You did |
2023-03-24 23:43:17 +0100 | <mayanhavoc> | Ashkan So, how do you replace \b.by in \a.ay? |
2023-03-24 23:43:31 +0100 | <int-e> | mayanhavoc: Yes, the first \a disappears; the replacement only happens in the body of the abstraction, `ay`. |
2023-03-24 23:43:41 +0100 | <Ashkan> | you got rid of *both* the `\a.` part (the abstraction) and the `a`s in the body |
2023-03-24 23:43:58 +0100 | <mayanhavoc> | OHHHHHH |
2023-03-24 23:44:22 +0100 | <int-e> | So you replace `a` in `ay` by `(\b.by)`, resulting in (\b.by)y. Which allows *another* beta step. |
2023-03-24 23:44:57 +0100 | <Ashkan> | when you call `f(x) = x + 1` like `f(2)` you are removing *both* the `f(x) =` and `x` in `x + 1` by replacing it with `2` |
2023-03-24 23:45:28 +0100 | <mayanhavoc> | Yes, I understand. Sorry, I have a hard time with abstraction |
2023-03-24 23:45:38 +0100 | <Ashkan> | so `f(2) = 2 + 1` , no more arguments |
2023-03-24 23:45:56 +0100 | <int-e> | Ashkan: Hmm, I don't think I've ever seen anyone forbid `\a.\a.ab` (the a in `ab` would simply refer to the inner lambda) |
2023-03-24 23:46:46 +0100 | thegeekinside | (~thegeekin@189.141.115.134) |
2023-03-24 23:46:57 +0100 | <int-e> | Though, of course, I wouldn't go out of my way to write terms like this when explaining how the lambda-calculus works. |
2023-03-24 23:47:11 +0100 | <Ashkan> | int-e in your example its clear they are different variables |
2023-03-24 23:47:30 +0100 | <Ashkan> | `\a.\a.aa` |
2023-03-24 23:47:38 +0100 | <EvanR> | first a is shadowed in \a.\a.aa |
2023-03-24 23:48:05 +0100 | <int-e> | \a.\a.aa means \a.(\a.aa) by convention (lambdas extend as far to the right as possible) |
2023-03-24 23:48:39 +0100 | <int-e> | so both those bound `a`s are tied to the inner lambda. \a.(\a.a)a would be different. |
2023-03-24 23:48:40 +0100 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
2023-03-24 23:48:42 +0100 | Bocaneri | (~sauvin@user/Sauvin) |
2023-03-24 23:49:03 +0100 | <Ashkan> | EvanR that's one way to disambiguate it but to my knowledge lambda calculus itself doesn't have shadowing. That's something programming languages have. I might be wrong though ! don't wanna get into academics on this |
2023-03-24 23:49:05 +0100 | Bocaneri | Guest6875 |
2023-03-24 23:49:33 +0100 | <EvanR> | it's not like were going to discover a cosmic truth here, it's all made up |
2023-03-24 23:49:35 +0100 | <int-e> | anyway, this is a tangent, it has nothing to do with reducing (\a.ay)(\b.by). |
2023-03-24 23:49:48 +0100 | <Ashkan> | yeah |
2023-03-24 23:50:27 +0100 | <Ashkan> | mayanhavoc left the class room:D |
2023-03-24 23:51:19 +0100 | <mayanhavoc> | No, no, I'm still here |
2023-03-24 23:51:22 +0100 | Sauvin | (~sauvin@user/Sauvin) (Ping timeout: 265 seconds) |
2023-03-24 23:51:46 +0100 | Sauvin | (~sauvin@user/Sauvin) |
2023-03-24 23:52:28 +0100 | <Ashkan> | I have to go deal with own problem, leave you to the very capable hands of people here. Just don't let them trick you into converting to De Bruijn indices:D |
2023-03-24 23:52:52 +0100 | <int-e> | b-but... numbers! |
2023-03-24 23:53:09 +0100 | <mayanhavoc> | Ashkan thank you very much, I really appreciate your help |
2023-03-24 23:53:18 +0100 | <Ashkan> | I would say first make sure you have a firm grasp of the *abstraction* |
2023-03-24 23:53:20 +0100 | <int-e> | (No, you first have to experience the pain of alpha-renamings before de Bruijn indices have any hope of making sense.) |
2023-03-24 23:53:31 +0100 | Guest6875 | (~sauvin@user/Sauvin) (Ping timeout: 240 seconds) |
2023-03-24 23:54:20 +0100 | <int-e> | And really, de Bruijn indices are for computers. |
2023-03-24 23:54:24 +0100 | <Ashkan> | mayanhavoc I have a lot of debt to give back. You are most welcome. Welcome to the tribe by the way. You literally picked the longest, most boring book on Haskell:D |
2023-03-24 23:54:25 +0100 | <EvanR> | to reduce (\a.whatever) e, the answer is whatever with all free a replaced with e (perhaps after renaming inappropriately interfering variables) |
2023-03-24 23:54:29 +0100 | <EvanR> | simple |
2023-03-24 23:55:14 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 265 seconds) |
2023-03-24 23:55:18 +0100 | <mayanhavoc> | Ashkan Hahahaha Thank you for the welcome! I am honestly happily suffering through it |
2023-03-24 23:55:21 +0100 | <EvanR> | one day they will make a computer chip that can do this operation more efficiently |
2023-03-24 23:55:50 +0100 | <int-e> | hahaha |
2023-03-24 23:56:03 +0100 | <mayanhavoc> | EvanR wait... isn't a bound in this example? |
2023-03-24 23:56:26 +0100 | <int-e> | mayanhavoc: what's bound in \a.M may be free in M. |
2023-03-24 23:56:30 +0100 | <EvanR> | it is bound in (\a.whatever) but in whatever by itself those a are not bound anymore |
2023-03-24 23:56:46 +0100 | lagash | (lagash@lagash.shelltalk.net) |
2023-03-24 23:56:56 +0100 | <int-e> | `a` is bound in `\a.a` but is free in `a`. |
2023-03-24 23:57:00 +0100 | <Ashkan> | mayanhavoc Also keep in mind some of the examples are intentionally contrived. More so due that twisted sense of "this is important !" which is characteristic of academic people. Its not like you gotta deal with such absurdities in your real world Haskell |
2023-03-24 23:57:54 +0100 | <int-e> | mayanhavoc: consider this: (\a.a(\a.a))y -> y(\a.a) ... the innermost `a` is still bound in a(\a.a), so it's not replaced. |
2023-03-24 23:57:57 +0100 | <EvanR> | substituting arguments where the bound variables are is a great way to understand haskell code |
2023-03-24 23:58:10 +0100 | <EvanR> | thanks to purity |
2023-03-24 23:58:19 +0100 | <mayanhavoc> | Hahahaha I really, really hope so! I'm really trying to practice and understand what I'm doing in the hopes that my mind will get used to all this abstraction |
2023-03-24 23:58:55 +0100 | <EvanR> | substitution is pretty simple and intuitive on the face of it. And then it ends up being complicated if you define it precisely |
2023-03-24 23:59:21 +0100 | <mayanhavoc> | int-e oh man... i'm going to need a second for that one |
2023-03-24 23:59:59 +0100 | <int-e> | mayanhavoc: You'll probably need days to weeks to really become used to this. I know I did. |