Logs on 2023-10-31 (liberachat/#haskell)
| 00:03:16 | → | swistak joins (~swistak@185.21.216.141) |
| 00:05:56 | × | htor quits (~htor@84.208.240.181) (Ping timeout: 255 seconds) |
| 00:09:22 | → | htor joins (~htor@telia-2e0f4e-8.connect.netcom.no) |
| 00:10:37 | × | swistak quits (~swistak@185.21.216.141) (Read error: Connection reset by peer) |
| 00:10:47 | → | swistak- joins (~swistak@185.21.216.141) |
| 00:11:43 | × | forell quits (~forell@user/forell) (Ping timeout: 264 seconds) |
| 00:15:53 | → | forell joins (~forell@user/forell) |
| 00:16:24 | → | juri_ joins (~juri@84-19-175-187.pool.ovpn.com) |
| 00:28:26 | × | Ascension quits (~Ascension@176.254.244.83) (Ping timeout: 246 seconds) |
| 00:29:48 | × | waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 240 seconds) |
| 00:31:22 | → | waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
| 00:33:22 | × | dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Remote host closed the connection) |
| 00:33:39 | → | dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
| 00:33:53 | → | Ascension joins (~Ascension@176.254.244.83) |
| 00:34:20 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 272 seconds) |
| 00:35:26 | × | Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.) |
| 00:38:51 | × | waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 260 seconds) |
| 00:39:47 | → | waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
| 00:41:00 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
| 00:43:33 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 00:45:19 | × | waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 264 seconds) |
| 00:47:33 | → | waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
| 00:57:16 | × | waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 248 seconds) |
| 01:00:19 | × | forell quits (~forell@user/forell) (Ping timeout: 264 seconds) |
| 01:01:14 | → | forell joins (~forell@user/forell) |
| 01:01:36 | → | waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
| 01:02:51 | × | htor quits (~htor@telia-2e0f4e-8.connect.netcom.no) (Quit: htor) |
| 01:03:24 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds) |
| 01:05:38 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 01:06:27 | → | gdr3941 joins (~user@2600:1700:4770:3bc0:9d91:2119:734f:bda4) |
| 01:08:16 | → | thegeekinside joins (~thegeekin@189.180.105.214) |
| 01:09:02 | × | sabino quits (~sabino@user/sabino) (Ping timeout: 255 seconds) |
| 01:10:53 | → | sabino joins (~sabino@user/sabino) |
| 01:11:53 | → | szkl joins (uid110435@id-110435.uxbridge.irccloud.com) |
| 01:17:53 | → | lisbeths joins (uid135845@id-135845.lymington.irccloud.com) |
| 01:21:03 | ← | gdr3941 parts (~user@2600:1700:4770:3bc0:9d91:2119:734f:bda4) (ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.1)) |
| 01:38:37 | → | khumba joins (~khumba@user/khumba) |
| 01:41:28 | × | ru0mad quits (~ru0mad@moon.ruomad.net) (Ping timeout: 272 seconds) |
| 01:42:18 | × | mud quits (~mud@user/kadoban) (Quit: quit) |
| 01:55:08 | × | stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 256 seconds) |
| 01:55:13 | × | John_Ivan_ quits (~John_Ivan@user/john-ivan/x-1515935) (Ping timeout: 255 seconds) |
| 01:55:29 | × | Square2 quits (~Square@user/square) (Ping timeout: 245 seconds) |
| 01:58:06 | × | edr quits (~edr@user/edr) (Quit: Leaving) |
| 02:15:17 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
| 02:16:51 | → | stiell_ joins (~stiell@gateway/tor-sasl/stiell) |
| 02:19:05 | × | haritz quits (~hrtz@user/haritz) (Ping timeout: 240 seconds) |
| 02:24:01 | × | sabino quits (~sabino@user/sabino) (Quit: Lambda _ -> x) |
| 02:24:27 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 02:30:43 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 02:30:50 | × | otto_s quits (~user@p5de2f5cb.dip0.t-ipconnect.de) (Ping timeout: 258 seconds) |
| 02:32:24 | → | otto_s joins (~user@p5de2f514.dip0.t-ipconnect.de) |
| 02:35:43 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 264 seconds) |
| 02:36:55 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 264 seconds) |
| 02:38:14 | → | haritz joins (~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk) |
| 02:38:14 | × | haritz quits (~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk) (Changing host) |
| 02:38:14 | → | haritz joins (~hrtz@user/haritz) |
| 02:46:37 | → | pixelmonk joins (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
| 03:02:45 | × | drewjose quits (~drewjose@129.154.40.88) (Remote host closed the connection) |
| 03:02:47 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 03:05:35 | × | td_ quits (~td@i5387092F.versanet.de) (Ping timeout: 240 seconds) |
| 03:05:41 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 03:06:50 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 03:07:44 | → | td_ joins (~td@i53870904.versanet.de) |
| 03:10:03 | × | paddymahoney quits (~paddymaho@cpe883d24bcf597-cmbc4dfb741f80.cpe.net.cable.rogers.com) (Read error: Connection reset by peer) |
| 03:12:19 | × | khumba quits (~khumba@user/khumba) () |
| 03:12:27 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 03:12:32 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 03:12:32 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 03:12:32 | finn_elija | is now known as FinnElija |
| 03:15:37 | × | gentauro quits (~gentauro@user/gentauro) (Ping timeout: 255 seconds) |
| 03:21:00 | × | Inst quits (~Inst@120.244.192.250) (Remote host closed the connection) |
| 03:21:17 | → | Inst joins (~Inst@120.244.192.250) |
| 03:22:24 | → | gentauro joins (~gentauro@user/gentauro) |
| 03:29:12 | × | szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 03:30:40 | × | rgw quits (~R@2605:a601:a0df:5600:c969:41cd:947d:4b48) (Read error: Connection reset by peer) |
| 03:39:48 | Hooloovoo | is now known as Hoolooboo |
| 03:40:32 | × | ddellacosta quits (~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 272 seconds) |
| 03:41:42 | → | ddellacosta joins (~ddellacos@ool-44c738de.dyn.optonline.net) |
| 03:56:29 | → | afh5312 joins (~afh5312@2600:4041:5acc:5800:5cfc:4012:d0e4:e0cb) |
| 03:57:00 | × | afh5312 quits (~afh5312@2600:4041:5acc:5800:5cfc:4012:d0e4:e0cb) (Client Quit) |
| 03:57:18 | → | hiyori joins (~hiyori@user/hiyori) |
| 04:24:17 | → | rosco joins (~rosco@yp-150-69.tm.net.my) |
| 04:31:10 | → | robobub joins (uid248673@id-248673.uxbridge.irccloud.com) |
| 04:37:24 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 240 seconds) |
| 04:40:10 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 04:40:40 | → | aforemny joins (~aforemny@2001:9e8:6cf3:2b00:2f73:3d2b:9ae5:6d60) |
| 04:41:26 | × | aforemny_ quits (~aforemny@i59F516F6.versanet.de) (Ping timeout: 255 seconds) |
| 04:44:08 | × | waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 255 seconds) |
| 04:45:38 | → | vglfr joins (~vglfr@88.155.154.204) |
| 04:53:22 | × | thegeekinside quits (~thegeekin@189.180.105.214) (Ping timeout: 272 seconds) |
| 05:03:02 | × | hueso quits (~root@user/hueso) (Ping timeout: 255 seconds) |
| 05:04:52 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 05:08:46 | → | hueso joins (~root@user/hueso) |
| 05:21:51 | × | pixelmonk quits (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 240 seconds) |
| 05:30:24 | × | vglfr quits (~vglfr@88.155.154.204) (Read error: Connection reset by peer) |
| 05:34:42 | → | pixelmonk joins (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
| 05:38:30 | × | monodoom quits (trebla@216.138.220.146) (Quit: ZNC 1.8.2+deb3build2 - https://znc.in) |
| 05:38:41 | × | Inst quits (~Inst@120.244.192.250) (Remote host closed the connection) |
| 05:39:06 | → | Inst joins (~Inst@120.244.192.250) |
| 05:40:31 | × | pixelmonk quits (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 264 seconds) |
| 05:53:00 | → | pixelmonk joins (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
| 05:54:23 | → | monodoom joins (trebla@216.138.220.146) |
| 05:58:17 | × | pixelmonk quits (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 255 seconds) |
| 06:01:09 | → | pixelmonk joins (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
| 06:06:55 | × | pixelmonk quits (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 264 seconds) |
| 06:07:14 | × | echoreply quits (~echoreply@45.32.163.16) (Quit: WeeChat 2.8) |
| 06:08:20 | → | vglfr joins (~vglfr@88.155.154.204) |
| 06:08:34 | → | echoreply joins (~echoreply@45.32.163.16) |
| 06:17:01 | → | random-jellyfish joins (~tiber@2a02:2f04:11e:c600:d5a:f15f:b6ef:d9c9) |
| 06:17:01 | × | random-jellyfish quits (~tiber@2a02:2f04:11e:c600:d5a:f15f:b6ef:d9c9) (Changing host) |
| 06:17:01 | → | random-jellyfish joins (~tiber@user/random-jellyfish) |
| 06:17:23 | → | paddymahoney joins (~paddymaho@cpe883d24bcf597-cmbc4dfb741f80.cpe.net.cable.rogers.com) |
| 06:17:45 | → | pixelmonk joins (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
| 06:22:26 | × | pixelmonk quits (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 260 seconds) |
| 06:22:43 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Read error: Connection reset by peer) |
| 06:22:43 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Read error: Connection reset by peer) |
| 06:22:43 | × | chiselfuse quits (~chiselfus@user/chiselfuse) (Read error: Connection reset by peer) |
| 06:22:44 | × | califax quits (~califax@user/califx) (Read error: Connection reset by peer) |
| 06:22:44 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Read error: Connection reset by peer) |
| 06:22:44 | × | stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
| 06:22:44 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 06:22:58 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 06:23:09 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 06:23:11 | → | stiell_ joins (~stiell@gateway/tor-sasl/stiell) |
| 06:23:12 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 06:23:27 | → | chiselfuse joins (~chiselfus@user/chiselfuse) |
| 06:23:32 | → | califax joins (~califax@user/califx) |
| 06:23:45 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 06:30:05 | × | hueso quits (~root@user/hueso) (Ping timeout: 240 seconds) |
| 06:30:10 | → | pixelmonk joins (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
| 06:31:55 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 06:33:01 | → | hueso joins (~root@user/hueso) |
| 06:33:43 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
| 06:35:25 | × | pixelmonk quits (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 248 seconds) |
| 06:36:35 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
| 06:37:13 | × | cyphase quits (~cyphase@user/cyphase) (Ping timeout: 255 seconds) |
| 06:37:40 | → | chomwitt joins (~chomwitt@2a02:587:7a1a:f800:1ac0:4dff:fedb:a3f1) |
| 06:37:43 | → | biberu\ joins (~biberu@user/biberu) |
| 06:41:40 | × | biberu quits (~biberu@user/biberu) (Ping timeout: 272 seconds) |
| 06:41:41 | biberu\ | is now known as biberu |
| 06:41:49 | → | michalz joins (~michalz@185.246.207.222) |
| 06:47:26 | → | cyphase joins (~cyphase@user/cyphase) |
| 06:47:52 | → | pixelmonk joins (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
| 06:48:45 | → | sm joins (~sm@plaintextaccounting/sm) |
| 06:53:03 | × | pixelmonk quits (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 240 seconds) |
| 07:00:00 | → | hiyori64 joins (~hiyori@user/hiyori) |
| 07:01:01 | × | hiyori64 quits (~hiyori@user/hiyori) (Client Quit) |
| 07:02:57 | → | arahael joins (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) |
| 07:03:54 | × | hiyori quits (~hiyori@user/hiyori) (Quit: Client closed) |
| 07:07:52 | → | pixelmonk joins (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
| 07:09:54 | × | leah2 quits (~leah@vuxu.org) (Ping timeout: 258 seconds) |
| 07:13:20 | × | pixelmonk quits (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 272 seconds) |
| 07:18:08 | × | chiselfuse quits (~chiselfus@user/chiselfuse) (Read error: Connection reset by peer) |
| 07:18:43 | → | chiselfuse joins (~chiselfus@user/chiselfuse) |
| 07:21:36 | → | CiaoSen joins (~Jura@2a05:5800:285:a000:664b:f0ff:fe37:9ef) |
| 07:23:06 | → | chele joins (~chele@user/chele) |
| 07:24:48 | → | pixelmonk joins (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
| 07:30:13 | × | pixelmonk quits (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 260 seconds) |
| 07:30:14 | × | Inst quits (~Inst@120.244.192.250) (Remote host closed the connection) |
| 07:30:39 | → | Inst joins (~Inst@120.244.192.250) |
| 07:33:20 | × | ham quits (~ham@user/ham) (Ping timeout: 255 seconds) |
| 07:43:54 | → | pixelmonk joins (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
| 07:47:43 | × | arahael quits (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) (Ping timeout: 264 seconds) |
| 07:48:10 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 256 seconds) |
| 07:48:44 | × | califax quits (~califax@user/califx) (Ping timeout: 256 seconds) |
| 07:48:53 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 07:49:19 | × | rosco quits (~rosco@yp-150-69.tm.net.my) (Quit: Lost terminal) |
| 07:49:31 | × | pixelmonk quits (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 264 seconds) |
| 07:50:00 | → | califax joins (~califax@user/califx) |
| 07:50:35 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 07:53:26 | → | acidjnk joins (~acidjnk@p200300d6e72b9347b1a7e14a96809416.dip0.t-ipconnect.de) |
| 07:54:22 | → | danza joins (~francesco@151.47.60.250) |
| 07:55:49 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 07:57:24 | × | tzh quits (~tzh@c-71-193-181-0.hsd1.or.comcast.net) (Quit: zzz) |
| 07:59:07 | × | random-jellyfish quits (~tiber@user/random-jellyfish) (Ping timeout: 264 seconds) |
| 07:59:14 | → | pixelmonk joins (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
| 08:01:04 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 08:01:15 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 08:02:35 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:8059:24c1:b008:c079) (Remote host closed the connection) |
| 08:03:53 | → | ubert joins (~Thunderbi@178.165.194.145.wireless.dyn.drei.com) |
| 08:05:16 | × | pixelmonk quits (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 272 seconds) |
| 08:14:53 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 08:16:11 | → | pixelmonk joins (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
| 08:17:01 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 08:18:16 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 08:18:32 | → | arahael joins (~arahael@1.145.40.124) |
| 08:18:51 | → | coot joins (~coot@89-69-206-216.dynamic.chello.pl) |
| 08:20:52 | → | idgaen joins (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 08:21:23 | × | tv quits (~tv@user/tv) (Ping timeout: 255 seconds) |
| 08:21:35 | × | pixelmonk quits (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 240 seconds) |
| 08:23:17 | → | Simikando joins (~Simikando@adsl-dyn216.91-127-84.t-com.sk) |
| 08:26:39 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 08:27:06 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 08:31:19 | × | danza quits (~francesco@151.47.60.250) (Ping timeout: 245 seconds) |
| 08:34:16 | → | kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be) |
| 08:34:21 | → | pixelmonk joins (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
| 08:34:52 | → | tv joins (~tv@user/tv) |
| 08:35:08 | → | TheCatCollective joins (NyaaTheKit@user/calculuscat) |
| 08:35:23 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 08:35:46 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 08:37:11 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 08:40:06 | × | pixelmonk quits (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 272 seconds) |
| 08:40:30 | → | leah2 joins (~leah@vuxu.org) |
| 08:41:29 | → | random-jellyfish joins (~tiber@2a02:2f04:11e:c600:d5a:f15f:b6ef:d9c9) |
| 08:41:29 | × | random-jellyfish quits (~tiber@2a02:2f04:11e:c600:d5a:f15f:b6ef:d9c9) (Changing host) |
| 08:41:29 | → | random-jellyfish joins (~tiber@user/random-jellyfish) |
| 08:41:53 | → | danse-nr3 joins (~danse@151.79.204.38) |
| 08:42:08 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:5c13:771e:33d7:3f71) |
| 08:45:55 | → | eggplant_ joins (~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b) |
| 08:46:34 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:5c13:771e:33d7:3f71) (Ping timeout: 252 seconds) |
| 08:47:06 | × | econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
| 08:49:02 | × | Simikando quits (~Simikando@adsl-dyn216.91-127-84.t-com.sk) (Quit: Leaving) |
| 08:50:25 | × | eggplant_ quits (~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b) (Ping timeout: 252 seconds) |
| 08:53:46 | → | pixelmonk joins (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
| 08:55:55 | × | qqq quits (~qqq@92.43.167.61) (Ping timeout: 252 seconds) |
| 08:56:27 | → | rachelambda joins (~rachelamb@cust-95-80-25-71.csbnet.se) |
| 08:58:39 | tomsmeding_ | is now known as tomsmeding |
| 08:59:13 | × | pixelmonk quits (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 252 seconds) |
| 09:06:02 | × | Hoolooboo quits (~Hooloovoo@hax0rbana.org) (Ping timeout: 255 seconds) |
| 09:06:49 | → | Hooloovoo joins (~Hooloovoo@hax0rbana.org) |
| 09:07:41 | × | Inst quits (~Inst@120.244.192.250) (Read error: Connection reset by peer) |
| 09:12:20 | → | pixelmonk joins (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
| 09:12:43 | × | idgaen quits (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5) |
| 09:14:24 | → | applecat joins (~Srain@116.204.144.69) |
| 09:17:27 | × | pixelmonk quits (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 240 seconds) |
| 09:21:03 | × | applecat quits (~Srain@116.204.144.69) (Ping timeout: 240 seconds) |
| 09:26:31 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 09:29:35 | → | pixelmonk joins (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
| 09:34:35 | × | pixelmonk quits (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 240 seconds) |
| 09:35:29 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
| 09:36:00 | → | komikat joins (~akshitkr@14.139.82.6) |
| 09:36:06 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 09:39:19 | × | danse-nr3 quits (~danse@151.79.204.38) (Ping timeout: 264 seconds) |
| 09:40:09 | → | danse-nr3 joins (~danse@151.79.204.38) |
| 09:45:40 | × | danse-nr3 quits (~danse@151.79.204.38) (Remote host closed the connection) |
| 09:48:01 | → | pixelmonk joins (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
| 09:48:31 | → | danse-nr3 joins (~danse@151.79.204.38) |
| 09:53:43 | × | pixelmonk quits (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 264 seconds) |
| 10:00:19 | × | CiaoSen quits (~Jura@2a05:5800:285:a000:664b:f0ff:fe37:9ef) (Ping timeout: 264 seconds) |
| 10:00:55 | → | htor joins (htor@gateway/vpn/airvpn/htor) |
| 10:01:36 | × | phma quits (phma@2001:5b0:211f:d828:d963:986:c941:cee8) (Read error: Connection reset by peer) |
| 10:02:41 | → | phma joins (phma@2001:5b0:2143:d188:322e:c0e7:31f:f4) |
| 10:03:39 | × | htor quits (htor@gateway/vpn/airvpn/htor) (Read error: Connection reset by peer) |
| 10:04:06 | × | komikat quits (~akshitkr@14.139.82.6) (Ping timeout: 260 seconds) |
| 10:05:31 | → | pixelmonk joins (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
| 10:06:46 | → | htor joins (htor@gateway/vpn/airvpn/htor) |
| 10:08:08 | → | zmt00 joins (~zmt00@user/zmt00) |
| 10:09:41 | × | swamp_ quits (~zmt00@user/zmt00) (Ping timeout: 258 seconds) |
| 10:10:41 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 10:11:10 | → | cfricke joins (~cfricke@user/cfricke) |
| 10:11:29 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 10:12:40 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 256 seconds) |
| 10:12:59 | × | pixelmonk quits (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 255 seconds) |
| 10:13:34 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 10:15:03 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 10:16:12 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 10:16:35 | × | vglfr quits (~vglfr@88.155.154.204) (Ping timeout: 258 seconds) |
| 10:18:25 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 10:18:55 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 10:24:03 | → | applecat joins (~Srain@116.204.144.69) |
| 10:24:20 | × | arahael quits (~arahael@1.145.40.124) (Ping timeout: 255 seconds) |
| 10:24:36 | → | pixelmonk joins (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
| 10:30:00 | × | pixelmonk quits (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 258 seconds) |
| 10:33:26 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 10:37:51 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
| 10:38:09 | → | fendor joins (~fendor@2a02:8388:1640:be00:2a62:2dd0:490d:f2ca) |
| 10:38:14 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b) |
| 10:41:53 | → | pixelmonk joins (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
| 10:45:05 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
| 10:45:48 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 10:46:54 | → | Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 10:47:03 | × | pixelmonk quits (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 240 seconds) |
| 10:58:34 | × | sm quits (~sm@plaintextaccounting/sm) (Quit: sm) |
| 10:59:44 | → | pixelmonk joins (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
| 11:09:32 | × | pixelmonk quits (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 248 seconds) |
| 11:13:02 | → | lorenzo joins (~lorenzo@2a01:e0a:541:b8f0:9821:9dbb:bb8c:cf89) |
| 11:14:10 | → | sm joins (~sm@plaintextaccounting/sm) |
| 11:14:41 | × | snowsauce quits (~snowsauce@pa9-84-91-207-96.netvisao.pt) (Ping timeout: 260 seconds) |
| 11:23:27 | → | pixelmonk joins (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
| 11:25:22 | × | sm quits (~sm@plaintextaccounting/sm) (Quit: sm) |
| 11:28:48 | × | pixelmonk quits (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 260 seconds) |
| 11:32:14 | × | danse-nr3 quits (~danse@151.79.204.38) (Remote host closed the connection) |
| 11:32:35 | → | danse-nr3 joins (~danse@151.79.204.38) |
| 11:40:51 | → | __monty__ joins (~toonn@user/toonn) |
| 11:42:58 | → | pixelmonk joins (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
| 11:43:37 | → | ph88 joins (~ph88@2a02:8109:9e26:c800:4977:3b85:6381:972) |
| 11:44:20 | → | idgaen joins (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 11:44:46 | × | ph88 quits (~ph88@2a02:8109:9e26:c800:4977:3b85:6381:972) (Client Quit) |
| 11:47:12 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
| 11:48:31 | × | pixelmonk quits (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 260 seconds) |
| 11:49:33 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 11:50:49 | → | pixelmonk joins (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
| 11:55:35 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b) (Ping timeout: 255 seconds) |
| 11:56:43 | × | pixelmonk quits (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 264 seconds) |
| 12:05:35 | × | ezzieyguywuf quits (~Unknown@user/ezzieyguywuf) (Ping timeout: 240 seconds) |
| 12:06:47 | → | ezzieyguywuf joins (~Unknown@user/ezzieyguywuf) |
| 12:09:10 | → | pixelmonk joins (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
| 12:14:29 | × | pixelmonk quits (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 255 seconds) |
| 12:14:50 | → | Labbekak joins (~Labbekak@51.138.53.46) |
| 12:18:34 | × | htor quits (htor@gateway/vpn/airvpn/htor) (Quit: htor) |
| 12:19:05 | <Labbekak> | Hi, I had a Linear Haskell question (related to https://www.tweag.io/blog/2023-03-23-linear-constraints-linearly/). In types such as `linearly :: (Linearly %1 -> Ur b) %1 -> Ur b`, why is the `Ur` in the return type necessary? |
| 12:22:21 | × | danse-nr3 quits (~danse@151.79.204.38) (Ping timeout: 260 seconds) |
| 12:22:31 | × | applecat quits (~Srain@116.204.144.69) (Ping timeout: 264 seconds) |
| 12:23:05 | × | motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 240 seconds) |
| 12:24:58 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 12:26:04 | <kuribas> | It is an unrestricted context, otherwise the resource will leak. |
| 12:27:22 | <kuribas> | Since b is unrestricted, it cannot contain the linear resource. |
| 12:28:19 | <kuribas> | If it was not unrestricted, you could sneak in a linear value, and cause it to leak. |
| 12:30:34 | <Labbekak> | Why not `linearly :: (Linearly %1 -> Ur b) %1 -> b` |
| 12:31:03 | × | motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 240 seconds) |
| 12:31:28 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 12:35:38 | → | mmhat joins (~mmh@p200300f1c7445e35ee086bfffe095315.dip0.t-ipconnect.de) |
| 12:35:50 | × | mmhat quits (~mmh@p200300f1c7445e35ee086bfffe095315.dip0.t-ipconnect.de) (Client Quit) |
| 12:38:09 | → | snowsauce joins (~snowsauce@pa9-84-91-207-96.netvisao.pt) |
| 12:39:36 | <kuribas> | not sure... |
| 12:39:43 | → | santiagopim joins (~user@90.167.66.131) |
| 12:39:44 | <kuribas> | Maybe to nest those callbacks? |
| 12:40:37 | <kuribas> | It doesn't look necessary to me, since the callback type prevents it from returning the resource. |
| 12:41:11 | <kuribas> | But I suppose if you need two arrays, this is convenient. |
| 12:43:11 | <Labbekak> | Yeah that's why I thought, it seems unnecessary. So I wonder if I misunderstand something about linearity, or if it's just for convenience like you said. |
| 12:45:17 | → | pixelmonk joins (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
| 12:47:53 | × | mjs2600 quits (~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in) |
| 12:49:38 | → | mjs2600 joins (~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net) |
| 12:49:48 | × | pixelmonk quits (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 240 seconds) |
| 12:52:47 | → | falafel joins (~falafel@62.175.113.194.dyn.user.ono.com) |
| 13:02:07 | → | pixelmonk joins (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
| 13:07:05 | × | pixelmonk quits (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Ping timeout: 240 seconds) |
| 13:07:05 | <tomsmeding> | Labbekak: it's what kuribas said, the return value from 'linearly' being unrestricted means that you can use linearly within linearly |
| 13:08:07 | <tomsmeding> | an even more approximate type would be '(Linearly %1 -> Ur b) -> b', which also doesn't promise to use the callback exactly once |
| 13:08:17 | <tomsmeding> | the '%1 -> Ur b' version is maximally precise |
| 13:10:32 | → | pixelmonk joins (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) |
| 13:11:42 | × | CO2 quits (CO2@gateway/vpn/protonvpn/co2) (Quit: WeeChat 4.1.1) |
| 13:13:54 | <Labbekak> | Alright thanks for the answers! |
| 13:14:46 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 13:21:27 | → | danse-nr3 joins (~danse@fi-19-197-201.service.infuturo.it) |
| 13:23:28 | × | idgaen quits (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5) |
| 13:42:15 | × | danse-nr3 quits (~danse@fi-19-197-201.service.infuturo.it) (Remote host closed the connection) |
| 13:42:22 | × | pixelmonk quits (~pixelmonk@2600:1700:a060:4b30:f5e8:4803:60d9:b3cc) (Quit: WeeChat 4.1.0) |
| 13:42:40 | → | danse-nr3 joins (~danse@fi-19-197-201.service.infuturo.it) |
| 13:42:44 | → | htor joins (htor@gateway/vpn/airvpn/htor) |
| 13:43:57 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 4.0.5) |
| 13:45:04 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 13:45:41 | → | friendshipaka joins (~Friendshi@user/Friendship) |
| 13:48:05 | → | vpan joins (~vpan@212.117.1.172) |
| 13:48:57 | × | Friendship quits (~Friendshi@user/Friendship) (Ping timeout: 258 seconds) |
| 13:49:00 | → | John_Ivan_ joins (~John_Ivan@user/john-ivan/x-1515935) |
| 13:50:34 | × | dtman34 quits (~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) (Ping timeout: 255 seconds) |
| 13:53:34 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b) |
| 13:53:49 | → | lg188 joins (~lg188@82.18.98.230) |
| 13:54:46 | × | lg188 quits (~lg188@82.18.98.230) (Client Quit) |
| 14:02:09 | × | falafel quits (~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 245 seconds) |
| 14:04:17 | → | thegeekinside joins (~thegeekin@189.180.105.214) |
| 14:05:50 | → | dtman34 joins (~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) |
| 14:07:58 | → | lg188 joins (~lg188@82.18.98.230) |
| 14:12:10 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 14:13:16 | × | thegeekinside quits (~thegeekin@189.180.105.214) (Ping timeout: 252 seconds) |
| 14:13:31 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 14:19:34 | × | Labbekak quits (~Labbekak@51.138.53.46) (Quit: Client closed) |
| 14:22:05 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 14:22:49 | → | thegeekinside joins (~thegeekin@189.180.105.214) |
| 14:22:54 | → | euleritian joins (~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) |
| 14:23:22 | × | euleritian quits (~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
| 14:23:39 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 14:26:03 | × | lg188 quits (~lg188@82.18.98.230) (Quit: Bye.) |
| 14:32:05 | → | lg188 joins (~lg188@82.18.98.230) |
| 14:34:00 | × | califax quits (~califax@user/califx) (Quit: ZNC 1.8.2 - https://znc.in) |
| 14:34:46 | → | califax joins (~califax@user/califx) |
| 14:34:55 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 14:39:55 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 264 seconds) |
| 14:42:39 | × | acidjnk quits (~acidjnk@p200300d6e72b9347b1a7e14a96809416.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 14:48:28 | → | CO2 joins (CO2@gateway/vpn/protonvpn/co2) |
| 14:50:35 | <kuribas> | tomsmeding: but calling those callbacks multiple times would not be observable, no? |
| 14:50:40 | <kuribas> | Except for taking more time? |
| 14:54:51 | × | kitzman quits (~kitzman@user/dekenevs) (Quit: C-x C-c) |
| 14:55:35 | <tomsmeding> | kuribas: depends on whether the effects being executed in the linear thread are observable :p |
| 14:55:45 | <tomsmeding> | if it's computation with a mutable array, then no |
| 14:56:13 | <tomsmeding> | but you can also have something like: withFile :: (File %1-> Ur b) %1-> Ur b |
| 14:56:13 | → | kitzman joins (~kitzman@user/dekenevs) |
| 14:56:19 | <tomsmeding> | where you can write to that file |
| 14:56:37 | <kuribas> | shouldn't there be IO somewhere then? |
| 14:57:05 | <tomsmeding> | hm maybe you're right |
| 14:57:29 | <tomsmeding> | okay fair, outside of IO no amount of recomputation is ever observable |
| 14:57:42 | <tomsmeding> | but that doesn't mean it's a good idea |
| 14:57:58 | <tomsmeding> | and furthermore, the promise that the callback is run exactly once means that you can use up linear resources inside that callback |
| 14:58:00 | <kuribas> | right |
| 14:58:02 | <tomsmeding> | which is quite essential |
| 14:58:37 | <kuribas> | Yeah, I suppose the callback could be doing something unsafe, but needs linearity to be safe. |
| 14:58:52 | <tomsmeding> | I mean, you could want to allocate two mutable arrays |
| 14:59:01 | <kuribas> | So the linearity is essentially what makes it safe. |
| 14:59:03 | <tomsmeding> | then you'd need to use the outer one inside the callback of the inner one |
| 14:59:15 | <tomsmeding> | you can't if the inner alloc function doesn't promise to run its callback exactly once |
| 15:00:00 | <kuribas> | I mean, lineary exposes a safe interface, for a function that may be internally unsafe. |
| 15:00:13 | <kuribas> | yeah, for example. |
| 15:01:06 | <tomsmeding> | (for this particular case, having two nested callbacks is unnecessary if the array library exposes something like https://hackage.haskell.org/package/linear-base-0.1.0/docs/src/Data.Array.Mutable.Linear.html#allocBeside , but the point stands) |
| 15:01:31 | <tomsmeding> | er, that's not the most helpful link, see https://hackage.haskell.org/package/linear-base-0.1.0/docs/Data-Array-Mutable-Linear.html#v:allocBeside |
| 15:02:07 | × | random-jellyfish quits (~tiber@user/random-jellyfish) (Ping timeout: 264 seconds) |
| 15:03:01 | → | mud joins (~mud@user/kadoban) |
| 15:07:17 | → | kiriakos joins (~kiriakos@p5b03e4f0.dip0.t-ipconnect.de) |
| 15:07:26 | × | lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 15:08:48 | × | lg188 quits (~lg188@82.18.98.230) (Quit: Bye.) |
| 15:09:42 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 15:11:37 | → | tzh joins (~tzh@c-71-193-181-0.hsd1.or.comcast.net) |
| 15:11:48 | × | htor quits (htor@gateway/vpn/airvpn/htor) (Quit: htor) |
| 15:15:33 | → | falafel joins (~falafel@62.175.113.194.dyn.user.ono.com) |
| 15:18:20 | → | waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
| 15:22:01 | → | econo_ joins (uid147250@id-147250.tinside.irccloud.com) |
| 15:31:15 | × | waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Quit: WeeChat 4.1.0) |
| 15:32:25 | → | qqq joins (~qqq@92.43.167.61) |
| 15:34:26 | → | wib_jonas joins (~wib_jonas@business-37-191-60-209.business.broadband.hu) |
| 15:35:51 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b) (Ping timeout: 240 seconds) |
| 15:36:15 | × | dtman34 quits (~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
| 15:41:31 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer) |
| 15:41:36 | → | dtman34 joins (~dtman34@2601:447:d000:93c9:2ba4:705:87cf:da8f) |
| 15:44:19 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 15:47:28 | → | lg188 joins (~lg188@82.18.98.230) |
| 15:48:44 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b) |
| 15:53:17 | → | billchenchina joins (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) |
| 15:54:14 | × | dtman34 quits (~dtman34@2601:447:d000:93c9:2ba4:705:87cf:da8f) (Ping timeout: 245 seconds) |
| 15:55:23 | → | idgaen joins (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 15:57:20 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Remote host closed the connection) |
| 15:57:55 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds) |
| 15:58:33 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 15:58:39 | → | euleritian joins (~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) |
| 16:05:07 | × | falafel quits (~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 264 seconds) |
| 16:09:25 | → | dtman34 joins (~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) |
| 16:19:39 | × | euleritian quits (~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
| 16:19:57 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 16:27:20 | → | Jackneill joins (~Jackneill@20014C4E1E03D80013DBDBD9C5A5A6D2.dsl.pool.telekom.hu) |
| 16:27:38 | <monodoom> | Happy Halloween! Have a pumpkin catmorphism: https://www.vex.net/~trebla/photo/unorganized/pumpkin-catmorphism.jpg |
| 16:30:16 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 260 seconds) |
| 16:34:12 | → | Square2 joins (~Square@user/square) |
| 16:37:27 | → | kiriakos_ joins (~kiriakos@p5b03e4f0.dip0.t-ipconnect.de) |
| 16:39:32 | × | kiriakos quits (~kiriakos@p5b03e4f0.dip0.t-ipconnect.de) (Ping timeout: 258 seconds) |
| 16:39:32 | kiriakos_ | is now known as kiriakos |
| 16:42:51 | <[exa]> | monodoom: catmorphisms might need an acme package |
| 16:42:54 | <[exa]> | :D |
| 16:47:06 | <EvanR> | catmorpheus https://petstips.net/wp-content/uploads/2019/02/Funniest-Cat-Morpheus-Cat-Facts.jpg |
| 16:50:41 | × | danse-nr3 quits (~danse@fi-19-197-201.service.infuturo.it) (Ping timeout: 260 seconds) |
| 16:52:58 | × | kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
| 16:58:00 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 17:06:18 | → | danse-nr3 joins (~danse@ba-19-155-131.service.infuturo.it) |
| 17:10:01 | × | lorenzo quits (~lorenzo@2a01:e0a:541:b8f0:9821:9dbb:bb8c:cf89) (Quit: WeeChat 3.5) |
| 17:11:02 | × | idgaen quits (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5) |
| 17:13:36 | × | Nachtgespenst quits (~user@user/siracusa) (Quit: Bye!) |
| 17:20:49 | × | fendor quits (~fendor@2a02:8388:1640:be00:2a62:2dd0:490d:f2ca) (Remote host closed the connection) |
| 17:21:18 | → | vglfr joins (~vglfr@88.155.154.204) |
| 17:21:53 | × | wib_jonas quits (~wib_jonas@business-37-191-60-209.business.broadband.hu) (Quit: Client closed) |
| 17:23:56 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 17:24:04 | × | vpan quits (~vpan@212.117.1.172) (Quit: Leaving.) |
| 17:26:35 | → | pixelmonk joins (~pixelmonk@50.205.76.66) |
| 17:26:48 | × | srk quits (~sorki@user/srk) (Quit: ZNC 1.8.1 - https://znc.in) |
| 17:28:36 | → | ski joins (~ski@88.131.7.247) |
| 17:29:07 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds) |
| 17:29:53 | → | euleritian joins (~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) |
| 17:30:07 | <EvanR> | (integral_a^b f(x,y) dx) It does not make sense to substitute 7 for x obtaining integral_a^b f(7,y) d7; but substitution for y does make sense [because y is free, while x is bound]. -- barendregt 1991 |
| 17:30:21 | <EvanR> | another great idea (for esoteric language features) goes out the window |
| 17:30:48 | <ski> | the idea ? |
| 17:31:01 | <EvanR> | drop that restriction on substitution xD |
| 17:31:05 | × | euleritian quits (~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
| 17:31:22 | → | euleritian joins (~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) |
| 17:31:42 | × | billchenchina quits (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Remote host closed the connection) |
| 17:31:42 | <ski> | partially overlapping scopes can be fun |
| 17:31:46 | × | euleritian quits (~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
| 17:32:03 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 17:33:13 | → | srk joins (~sorki@user/srk) |
| 17:35:33 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:38:05 | × | AlexZenon quits (~alzenon@94.233.241.58) (Ping timeout: 240 seconds) |
| 17:38:12 | × | AlexNoo quits (~AlexNoo@94.233.241.58) (Ping timeout: 240 seconds) |
| 17:41:37 | × | michalz quits (~michalz@185.246.207.222) (Read error: Connection reset by peer) |
| 17:42:56 | → | AlexNoo joins (~AlexNoo@94.233.241.58) |
| 17:44:31 | → | AlexZenon joins (~alzenon@94.233.241.58) |
| 17:47:38 | × | AlexZenon quits (~alzenon@94.233.241.58) (Client Quit) |
| 17:48:02 | → | AlexZenon joins (~alzenon@94.233.241.58) |
| 17:50:37 | <monodoom> | This is why you should write integral_a^b (\x -> f(x,y)). Then it is well accepted that \7 -> f(7,y) is illegal. |
| 17:51:44 | raym_ | is now known as raym |
| 17:51:59 | <EvanR> | accepted, illegal, but in the end a missed opportunity for mayhem |
| 17:52:14 | <yin> | is this a good idea? |
| 17:52:18 | <yin> | -- check if unique name node |
| 17:52:18 | <yin> | free :: Text -> STM Bool |
| 17:52:18 | <yin> | free t = do |
| 17:52:18 | <yin> | s :: State <- readTVar st |
| 17:52:19 | <yin> | m :: IntMap Node <- readTVar $ sequence $ nmap s |
| 17:52:21 | <yin> | pure $ elem t $ name <$> m |
| 17:52:34 | <monodoom> | Oh! Mayhem, yes we can have mayhem. :) |
| 17:52:40 | <geekosaur> | @where paste |
| 17:52:40 | <lambdabot> | Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com |
| 17:52:56 | <geekosaur> | pasting directly into IRC is not a good idea |
| 17:53:08 | <yin> | i thought 6 lines would be fine |
| 17:53:13 | <geekosaur> | 3 |
| 17:53:22 | <yin> | got it |
| 17:53:37 | <geekosaur> | and even with 3 it prevents people from editing your paste to show alternatives and the like |
| 17:53:53 | <geekosaur> | or loading it in play;haskell.org |
| 17:53:56 | <monodoom> | The average acceptable paste is 2.1738398 lines. |
| 17:54:03 | <geekosaur> | play.haskell.org |
| 17:54:06 | <yin> | https://paste.jrvieira.com/1698774841850 :) |
| 17:54:10 | <monodoom> | The average indentation is 3.14159 spaces. :) |
| 17:54:15 | <ski> | yin : `readTVar $ sequence $ ...' looks dubious |
| 17:54:33 | <yin> | yes, i'm having serious doubts about sequencing TVar |
| 17:54:45 | <monodoom> | The average person has 9.998 fingers :) |
| 17:54:49 | <yin> | but tbh i'm not sure what that means |
| 17:54:54 | <ski> | yin> :t nmap |
| 17:55:26 | <yin> | ski: nmap :: State -> IntMap (TVar Node) |
| 17:55:26 | <EvanR> | sequence :: [STM a] -> STM [a], makes sense though you probably wanted mapM somewhere |
| 17:55:28 | <ski> | (fwiw, i'm not bothered by six lines) |
| 17:55:38 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 17:56:11 | <EvanR> | but you're using it inside readTVar so that's not what that is nevermind |
| 17:56:27 | <ski> | monodoom : not `2.7182818' ? |
| 17:56:29 | <monodoom> | Does it type-check? |
| 17:56:50 | <monodoom> | Next time it will be 2.7182818 :) |
| 17:56:58 | → | random-jellyfish joins (~tiber@user/random-jellyfish) |
| 17:57:07 | → | dhil joins (~dhil@2001:8e0:2014:3100:40c1:f9a6:d657:e946) |
| 17:57:28 | <yin> | yes, im sequencing IntMap (TVar Node) -> TVar (IntMap Node) |
| 17:58:02 | <monodoom> | Galaxy brain |
| 17:59:02 | <yin> | i have NO IDEA what goes on in memory. TVar is too opaque for me |
| 17:59:32 | <ski> | since when is `TVar' an instance of `Monad' (or `Applicative', for that matter) ? |
| 18:00:10 | <EvanR> | so you want to check if a string is in a container, let me introduce you to some category theory |
| 18:00:21 | <monodoom> | haha |
| 18:00:28 | <yin> | EvanR: :D |
| 18:00:48 | → | rgw joins (~R@2605:a601:a0df:5600:8c02:4fa2:4860:8f37) |
| 18:02:29 | <ski> | % :t mapM readTVar :: IntMap (TVar a) -> STM (IntMap a) |
| 18:02:30 | <yahb2> | mapM readTVar :: IntMap (TVar a) -> STM (IntMap a) ; :: IntMap (TVar a) -> STM (IntMap a) |
| 18:03:47 | <ski> | yin> :t name |
| 18:06:10 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 258 seconds) |
| 18:06:17 | → | Guest57 joins (~Guest37@149.159.193.204) |
| 18:06:35 | → | euleritian joins (~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) |
| 18:08:51 | × | pixelmonk quits (~pixelmonk@50.205.76.66) (Ping timeout: 258 seconds) |
| 18:11:19 | → | pixelmonk joins (~pixelmonk@50.205.76.66) |
| 18:15:03 | <yin> | ski: name :: Node -> Text |
| 18:15:45 | → | acidjnk joins (~acidjnk@p200300d6e72b9337808cfce7fb05b8ec.dip0.t-ipconnect.de) |
| 18:16:08 | × | ddellacosta quits (~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 258 seconds) |
| 18:16:17 | × | pixelmonk quits (~pixelmonk@50.205.76.66) (Ping timeout: 255 seconds) |
| 18:16:18 | <ski> | yin : getting anywhere with the hints ? |
| 18:20:20 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 18:23:08 | × | hueso quits (~root@user/hueso) (Quit: hueso) |
| 18:23:08 | × | vglfr quits (~vglfr@88.155.154.204) (Read error: Connection reset by peer) |
| 18:23:33 | → | Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |
| 18:26:14 | → | pixelmonk joins (~pixelmonk@50.205.76.66) |
| 18:26:56 | → | vglfr joins (~vglfr@88.155.154.204) |
| 18:35:13 | → | hueso joins (~root@user/hueso) |
| 18:36:33 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 18:39:14 | <yin> | not yet. refactoring a big file, be back in a moment |
| 18:39:36 | <yin> | with another fresh, simpler and more interesting doubt |
| 18:39:41 | → | waleee joins (~waleee@h-176-10-144-38.na.cust.bahnhof.se) |
| 18:39:52 | <yin> | (i hope) |
| 18:40:56 | × | elkcl quits (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru) (Ping timeout: 260 seconds) |
| 18:41:33 | × | vglfr quits (~vglfr@88.155.154.204) (Read error: Connection reset by peer) |
| 18:41:43 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 264 seconds) |
| 18:44:12 | ski | nods |
| 18:45:16 | × | euleritian quits (~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
| 18:45:48 | → | euleritian joins (~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) |
| 18:47:27 | → | elkcl joins (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru) |
| 18:48:37 | × | euleritian quits (~euleritia@dynamic-046-114-203-248.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
| 18:48:54 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 18:50:43 | × | random-jellyfish quits (~tiber@user/random-jellyfish) (Ping timeout: 255 seconds) |
| 18:51:36 | × | hueso quits (~root@user/hueso) (Quit: hueso) |
| 18:54:28 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 18:54:51 | → | random-jellyfish joins (~tiber@213.233.104.154) |
| 18:54:51 | × | random-jellyfish quits (~tiber@213.233.104.154) (Changing host) |
| 18:54:51 | → | random-jellyfish joins (~tiber@user/random-jellyfish) |
| 18:55:27 | → | vglfr joins (~vglfr@88.155.154.204) |
| 19:00:27 | → | giri9000 joins (~giri9000@94.101.114.196) |
| 19:01:52 | ← | giri9000 parts (~giri9000@94.101.114.196) () |
| 19:01:55 | → | michalz joins (~michalz@185.246.207.221) |
| 19:03:37 | → | hueso joins (~root@user/hueso) |
| 19:03:49 | → | misterfish joins (~misterfis@84-53-85-146.bbserv.nl) |
| 19:04:12 | → | neceve joins (~neceve@user/neceve) |
| 19:05:06 | <ski> | hm, so i got `sameFringe' working (along the coroutine idea) .. at first i was a little bit confuzzled about how to handle the termination properly, got down the wrong track shortly |
| 19:06:25 | <ski> | if anyone's curious, i could paste the code |
| 19:06:45 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b) (Remote host closed the connection) |
| 19:06:58 | <ski> | (although, perhaps some would like to try on their own before looking at my take) |
| 19:07:38 | <monodoom> | cofuzzled coroutines :) |
| 19:08:02 | <monodoom> | coroutines need cofusion >:) |
| 19:08:06 | <EvanR> | I tried yesterday and my attempt devolved into not even being able to do zipWith on lists |
| 19:08:23 | <EvanR> | using only foldr |
| 19:08:23 | <ski> | yea, apparently i did the `zipWith' one in 2007 |
| 19:08:56 | <ski> | (and then i discovered after that that Oleg had been pondering around in the same area) |
| 19:09:24 | <monodoom> | I think zipWith is better off as an unfoldr (generally anamorphisms). |
| 19:10:03 | <ski> | well, one of my versions is `build' and two `foldr's .. no mention of `[]' nor `:' in the code |
| 19:10:13 | <ski> | @type GHC.Exts.build |
| 19:10:14 | <lambdabot> | (forall b. (a -> b -> b) -> b -> b) -> [a] |
| 19:11:16 | <EvanR> | so that is what that's called |
| 19:11:23 | <ski> | monodoom : anyway, the point is to only use `foldr' to consume the two lists |
| 19:11:44 | <ski> | (one `foldr' for each input list) |
| 19:13:52 | <ski> | .. it would be nice to play around with some example requiring three coroutines (and preferably not just a cyclical (or even linear) handoff of the baton of control inbetween them) |
| 19:14:57 | × | John_Ivan_ quits (~John_Ivan@user/john-ivan/x-1515935) (Quit: Disrupting the dragon's slumber one time too often shall eventually bestow upon all an empirical and indiscriminate conflagration that will last for all goddamn eternity.) |
| 19:15:27 | <ski> | but yea .. looking at my `zipWith', reminding myself of how it worked, definitely helped with `sameFringe'. although some new elements were needed |
| 19:16:34 | → | hueso_ joins (~root@user/hueso) |
| 19:16:35 | × | hueso quits (~root@user/hueso) (Read error: Connection reset by peer) |
| 19:20:26 | → | John_Ivan joins (~John_Ivan@user/john-ivan/x-1515935) |
| 19:20:54 | <ski> | EvanR : i remember figuring out the right way to think about it (`zipWith') did involve a minor heureka/lightbulb moment |
| 19:23:33 | <EvanR> | I tried to define not zipWith itself but bifoldr :: (a -> a -> b -> b) -> b -> [a] -> [a] -> b, or with two additional b arguments for the case where the lists differ in length so there's some way to process that |
| 19:24:19 | <ski> | mm, i haven't tried that |
| 19:25:12 | <ski> | i guess part of the idea was to see if you could fuse two "good list producer" arguments (e.g. ultimately defined in terms of `build') with `zipWith', and not just one |
| 19:25:23 | <EvanR> | which folds over pairs of a in parallel, but maybe I should have tried one that goes over every pair in the matrix |
| 19:25:59 | <ski> | well, in my version, each of the two lists are traversed only once |
| 19:28:17 | → | ddellacosta joins (~ddellacos@ool-44c738de.dyn.optonline.net) |
| 19:28:38 | × | danse-nr3 quits (~danse@ba-19-155-131.service.infuturo.it) (Ping timeout: 272 seconds) |
| 19:28:39 | <EvanR> | then I went on a side tangent rabbit hole into resumable left folds |
| 19:28:49 | <EvanR> | but that involves a data structure |
| 19:29:26 | <ski> | .. yea |
| 19:29:36 | <ski> | (sounds interesting, though) |
| 19:30:19 | <ski> | in the end, the solution i got (for `sameFringe') involves a `data', pairing together two things |
| 19:30:23 | × | kanto quits (~kantokuen@user/kantokuen) (Quit: leaving) |
| 19:30:49 | <ski> | (i could possibly arrange to uncurry that) |
| 19:34:02 | <ski> | (the "resumable left folds" reminds me of a type refactoring i did, starting with `[a]', ending with left fold .. at the time, i was playing around a bit with meta-programming in MetaML for this, to ensure exact fusion along this idea, generating the fused code as output, so i could inspect it) |
| 19:34:24 | ski | still needs to set up MetaOCaml .. |
| 19:34:41 | <EvanR> | how does build... uh work, what does the produced list do |
| 19:34:53 | <ski> | build f = f (:) [] |
| 19:34:54 | <EvanR> | where does the first element if any come frmo |
| 19:35:33 | <ski> | build (\cons nil -> cons 2 (cons 3 (cons 5 (cons 7 nil)))) = 2 : 3 : 5 : 7 : [] |
| 19:36:41 | <ski> | and there's a fusion rule (`RULES') |
| 19:36:45 | <ski> | foldr f z (build g) = g f z |
| 19:36:50 | × | dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 255 seconds) |
| 19:37:37 | <ski> | so if your producer uses `build', and your consumer uses `foldr', it'll directly plug the `f' and `z' of the `foldr' into the producer |
| 19:38:33 | <EvanR> | it says forall b, but your function assumes nil is an empty list |
| 19:38:42 | <EvanR> | or, what if it's not an empty list |
| 19:38:48 | <mauke> | ? |
| 19:38:50 | → | htor joins (~htor@84.208.240.181) |
| 19:39:07 | <ski> | it could be `Bool', or whatever you (the one who calls `foldr') like |
| 19:39:50 | <ski> | foldr (const not) True -- to check the list has an even number of elements |
| 19:40:02 | <ski> | then `nil = True'. and `cons x xs = not xs' |
| 19:40:33 | <EvanR> | so the arguments to foldr as passed in, but what if you don't deconstruct it with foldr |
| 19:40:50 | <ski> | then the fusion rule won't fire |
| 19:40:59 | × | myyo quits (~myyo@75-166-145-203.hlrn.qwest.net) () |
| 19:41:02 | <EvanR> | the type sig says a [a] is returned |
| 19:41:08 | <ski> | yep |
| 19:42:23 | <ski> | (if you consume with some `foo', and `foo' is defined to feed its list input to `foldr' (possibly after some more delegations), and all these unfoldings are available to the optimizer, then the fusion rule will still fire) |
| 19:42:33 | <EvanR> | so what is the 2nd argument to the rank 2 callback |
| 19:42:51 | <ski> | it's the "empty list result" |
| 19:42:59 | <EvanR> | of what |
| 19:43:02 | → | mosul joins (~mosul@ec2-34-227-227-91.compute-1.amazonaws.com) |
| 19:43:03 | <mauke> | "accumulator" |
| 19:43:10 | <EvanR> | is this an internal ghc thing and not supposed to make sense xD |
| 19:43:10 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:c96f:d7b1:4387:b17b) |
| 19:43:15 | × | mosul quits (~mosul@ec2-34-227-227-91.compute-1.amazonaws.com) (Changing host) |
| 19:43:15 | → | mosul joins (~mosul@user/mosul) |
| 19:43:24 | <ski> | well .. it is supposed to make sense |
| 19:43:32 | <monodoom> | build foo = foo (:) []. |
| 19:43:44 | <ski> | that's the definition of `build', yes |
| 19:43:57 | <EvanR> | ok so `nil' is in fact an empty list |
| 19:44:02 | <ski> | the `RULES' thing is a GHC thing. but ignoring that, it's just plain (although somewhat unusual) Haskell |
| 19:44:04 | <EvanR> | unless there's a rewrite |
| 19:44:29 | <ski> | `nil' is whatever the consumer wants the empty list to be replaced with |
| 19:44:53 | <ski> | the producer will think of `nil' as "empty list", and `cons' as "add element in front of list" |
| 19:45:21 | <EvanR> | which is will literally be without rewrite rules |
| 19:45:25 | <mauke> | if build is not RULEd away, it will pass [] to the callback, yes |
| 19:45:26 | <EvanR> | it will* |
| 19:45:32 | <ski> | the consumer will think of `nil' as "what result do i want to give for the empty list", and `cons' as "how should i adapt the recursive result to account for one extra element at the start" |
| 19:45:56 | <mauke> | but the callback is not allowed to know that because b is generic |
| 19:46:12 | <ski> | EvanR : yes, assuming you call `build' on that polymorphic producer (and not call some other function on it) |
| 19:46:38 | <monodoom> | But then optimization kicks in when you have foldr op z (build foo) = foo op z. |
| 19:47:21 | <monodoom> | And yeah the purpose of that rank-2 type is so that build chooses b, and the caller of build doesn't. |
| 19:47:41 | <monodoom> | (So it chooses b=[a] :) ) |
| 19:47:47 | <EvanR> | got it |
| 19:47:56 | <ski> | rank-2 can be used for "information hiding", hiding which particular type the implementation wants to use |
| 19:48:34 | <ski> | (as well as, obviously, using the polymorphic input at more than one type instantiation) |
| 19:48:35 | <mauke> | build is for creating a list in a regular, recursive way; foldr is for deconstructing/consuming a list in a regular, recursive way. the two cancel out ("fuse") as long as the list construction code can be made to not care about the actual type of the thing it's constructing |
| 19:50:20 | <EvanR> | so a consumer + a producer will cancel out, what about chaining... uh piping, uh stuff that goes between consumer and producer |
| 19:50:24 | <ski> | (i remember making a trace operation that was rank-2 in which monad its callback was to use. it then elected to use some particular monad (a `Writer', iirc), in order to achieve its goal of tracing recursive call of the callback code which couldn't itself make use of these extra effects of the monad) |
| 19:50:39 | <mauke> | EvanR: like map? |
| 19:50:45 | <EvanR> | yeah map |
| 19:50:48 | <monodoom> | transducers? like map f? that's also a foldr. :) |
| 19:50:55 | <ski> | EvanR : talking about a series "produce >-> transform >-> consume" ? |
| 19:51:17 | <mauke> | @src map |
| 19:51:17 | <lambdabot> | map _ [] = [] |
| 19:51:17 | <lambdabot> | map f (x:xs) = f x : map f xs |
| 19:51:19 | <ski> | (or talking about bidirectiona communication between just two ?) |
| 19:51:21 | <monodoom> | Many transducers are easy examples of either foldr or build. |
| 19:51:21 | <EvanR> | ok so two foldrs over 1 build |
| 19:51:30 | <EvanR> | only 1 cancels? |
| 19:51:30 | <mauke> | hmm, that's not the nice one |
| 19:51:50 | <EvanR> | no not bidirectional IPC stuff |
| 19:51:52 | <mauke> | :t \f -> foldr (\x z -> f x : z) [] |
| 19:51:54 | <lambdabot> | Foldable t1 => (t2 -> a) -> t1 t2 -> [a] |
| 19:51:58 | <ski> | EvanR : `foldr' around the list input. `build' wrapping the whole list output |
| 19:52:19 | <ski> | (but for `zipWith', i wanted two `foldr's, not just one) |
| 19:52:39 | <mauke> | :t (\f -> foldr ((:) . f) []) `asAppliedTo` [] |
| 19:52:40 | <lambdabot> | error: |
| 19:52:40 | <lambdabot> | • Couldn't match expected type ‘a -> a1’ with actual type ‘[a0]’ |
| 19:52:40 | <lambdabot> | • In the second argument of ‘asAppliedTo’, namely ‘[]’ |
| 19:52:44 | <mauke> | oops |
| 19:52:54 | <ski> | @type \f -> foldr ((:) . f) [] |
| 19:52:55 | <lambdabot> | Foldable t => (a1 -> a2) -> t a1 -> [a2] |
| 19:53:35 | <mauke> | that's a consumer (foldr) and a producer ((:) and [] are in there, too) |
| 19:54:10 | <ski> | @type \f xs -> GHC.Exts.build (\cons nil -> foldr (cons . f) nil xs) |
| 19:54:11 | <lambdabot> | Foldable t => (a1 -> a2) -> t a1 -> [a2] |
| 19:54:14 | <monodoom> | There are also foldr-map fusion and foldr-foldr fusion (under suitable conditions). |
| 19:55:25 | <EvanR> | ok so foldr (build (foldr (build ( could all collapse if you keep using rewrite rules |
| 19:55:37 | <ski> | aye |
| 19:56:40 | <monodoom> | OK map is also a build. I think that's what the library goes for for the rewrite rules, so foldr-map is just another foldr-build again. |
| 19:57:50 | → | dmadriano joins (~grpadrian@45.231.203.191) |
| 19:58:02 | ← | dmadriano parts (~grpadrian@45.231.203.191) () |
| 20:00:05 | <mauke> | "map" [~1] forall f xs. map f xs = build (\c n -> foldr (mapFB c f) n xs) |
| 20:00:23 | × | htor quits (~htor@84.208.240.181) (Quit: zzz) |
| 20:02:25 | × | pixelmonk quits (~pixelmonk@50.205.76.66) (Ping timeout: 255 seconds) |
| 20:03:30 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 20:05:05 | → | htor joins (~htor@84.208.240.181) |
| 20:06:15 | × | random-jellyfish quits (~tiber@user/random-jellyfish) (Ping timeout: 240 seconds) |
| 20:07:48 | × | Guest57 quits (~Guest37@149.159.193.204) (Quit: Client closed) |
| 20:09:41 | × | vglfr quits (~vglfr@88.155.154.204) (Read error: Connection reset by peer) |
| 20:11:08 | → | danse-nr3 joins (~danse@ba-19-155-131.service.infuturo.it) |
| 20:18:15 | × | ystael quits (~ystael@user/ystael) (Read error: Connection reset by peer) |
| 20:19:58 | × | danse-nr3 quits (~danse@ba-19-155-131.service.infuturo.it) (Remote host closed the connection) |
| 20:20:21 | → | danse-nr3 joins (~danse@ba-19-155-131.service.infuturo.it) |
| 20:20:36 | → | pixelmonk joins (~pixelmonk@50.205.76.66) |
| 20:21:00 | → | ystael joins (~ystael@user/ystael) |
| 20:23:35 | × | misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 240 seconds) |
| 20:25:28 | → | misterfish joins (~misterfis@84-53-85-146.bbserv.nl) |
| 20:30:13 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 20:31:31 | × | pixelmonk quits (~pixelmonk@50.205.76.66) (Ping timeout: 255 seconds) |
| 20:32:59 | → | pixelmonk joins (~pixelmonk@50.205.76.66) |
| 20:42:19 | × | danse-nr3 quits (~danse@ba-19-155-131.service.infuturo.it) (Ping timeout: 255 seconds) |
| 20:42:20 | × | santiagopim quits (~user@90.167.66.131) (Remote host closed the connection) |
| 20:43:40 | × | lg188 quits (~lg188@82.18.98.230) (Ping timeout: 255 seconds) |
| 20:46:32 | × | thegeekinside quits (~thegeekin@189.180.105.214) (Ping timeout: 272 seconds) |
| 20:46:58 | → | lg188 joins (~lg188@82.18.98.230) |
| 20:47:19 | → | P1RATEZ joins (piratez@user/p1ratez) |
| 20:54:13 | → | Guest84 joins (~Guest37@149.159.193.204) |
| 20:55:13 | × | ski quits (~ski@88.131.7.247) (Ping timeout: 258 seconds) |
| 20:56:51 | × | Guest84 quits (~Guest37@149.159.193.204) (Client Quit) |
| 20:59:24 | → | danza joins (~francesco@151.47.166.232) |
| 21:03:37 | → | Pickchea joins (~private@user/pickchea) |
| 21:04:28 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
| 21:15:10 | → | son0p joins (~ff@181.136.122.143) |
| 21:28:22 | → | ph88 joins (~ph88@2a02:8109:9e26:c800:87d5:3b0a:6da9:2216) |
| 21:37:47 | × | johnw quits (~johnw@69.62.242.138) (Quit: ZNC - http://znc.in) |
| 21:39:06 | × | danza quits (~francesco@151.47.166.232) (Ping timeout: 272 seconds) |
| 21:39:09 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 21:51:09 | → | Nachtgespenst joins (~user@user/siracusa) |
| 21:51:51 | → | dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
| 22:02:48 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 22:06:52 | → | thegman joins (~Srain@072-239-207-086.res.spectrum.com) |
| 22:09:14 | <thegman> | how fast is haskell in comparison to c(99) in things like prime number generation |
| 22:10:17 | × | Jackneill quits (~Jackneill@20014C4E1E03D80013DBDBD9C5A5A6D2.dsl.pool.telekom.hu) (Ping timeout: 255 seconds) |
| 22:10:44 | × | acidjnk quits (~acidjnk@p200300d6e72b9337808cfce7fb05b8ec.dip0.t-ipconnect.de) (Ping timeout: 258 seconds) |
| 22:12:39 | → | arahael joins (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) |
| 22:14:14 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 245 seconds) |
| 22:14:39 | × | dhil quits (~dhil@2001:8e0:2014:3100:40c1:f9a6:d657:e946) (Ping timeout: 245 seconds) |
| 22:14:56 | <probie> | thegman: Haskell and c99 are languages (perhaps you should ask about implementations, e.g. ghc and gcc?), and "prime number generation" is very broad, so I doubt you're going to get any meaningful responses |
| 22:15:19 | <thegman> | sorry i guess your right about that |
| 22:15:28 | <thegman> | basically what im asking is |
| 22:15:59 | <thegman> | if i have a very large mathematical program written in c99 and then i write the same thing in haskell would haskell be around the same speed |
| 22:16:22 | <monodoom> | I was hoping for someone to start opining and speculatiing on that. Then I could come in and ask the killer question "where is your data?" >:) |
| 22:17:18 | <thegman> | i was thinking about trying to learn some haskell because seemingly its pretty good for math related stuff but i dont know if i should just stick to only c |
| 22:18:43 | <monodoom> | Haskell is much less pain and micromanagement than C for this. |
| 22:18:50 | <monodoom> | I have no data about speed. |
| 22:19:40 | <monodoom> | But GHC simply calls libgmp for large integer crunching. |
| 22:21:11 | <monodoom> | But "math" is also too broad. For some areas, even Haskell is too much pain and micromanagement, and Mathematica is better. |
| 22:21:55 | × | thegman quits (~Srain@072-239-207-086.res.spectrum.com) (Remote host closed the connection) |
| 22:22:36 | <monodoom> | Unless static strong typing is desired, then Mathematica is too painfully error-prone. >:) |
| 22:27:52 | <jackdk> | Anecdote: I've been writing C recently for reasons, but I will still do a lot of supporting work in Haskell: prototyping, generating inputs, etc. |
| 22:28:32 | <monodoom> | What we have data for is that C is slower than Fortran. >:) |
| 22:28:58 | × | misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 255 seconds) |
| 22:29:06 | <monodoom> | Plus the irony that Fortran is higher-level than C. |
| 22:29:38 | <monodoom> | even if just ever so slightly. |
| 22:30:37 | × | htor quits (~htor@84.208.240.181) (Quit: htor) |
| 22:30:38 | <monodoom> | This is what's wrong with echo chambers, believing opinion leaders, and herd psychology. |
| 22:30:50 | → | misterfish joins (~misterfis@84-53-85-146.bbserv.nl) |
| 22:30:58 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:35:25 | <monodoom> | But happy Halloween! Have a pumpkin catmorphism: https://www.vex.net/~trebla/photo/unorganized/pumpkin-catmorphism.jpg |
| 22:36:55 | → | wroathe joins (~wroathe@user/wroathe) |
| 22:37:00 | × | wroathe quits (~wroathe@user/wroathe) (Client Quit) |
| 22:37:10 | → | wroathe joins (~wroathe@user/wroathe) |
| 22:38:10 | → | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 22:41:27 | × | misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 240 seconds) |
| 22:42:47 | × | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds) |
| 22:47:06 | × | Ram-Z quits (~Ram-Z@li1814-254.members.linode.com) (Ping timeout: 260 seconds) |
| 22:50:07 | × | chomwitt quits (~chomwitt@2a02:587:7a1a:f800:1ac0:4dff:fedb:a3f1) (Ping timeout: 264 seconds) |
| 22:51:20 | × | son0p quits (~ff@181.136.122.143) (Ping timeout: 255 seconds) |
| 22:54:19 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 264 seconds) |
| 22:59:39 | <juri_> | haskell floating point. Boo! |
| 23:00:07 | <monodoom> | Why? I think it is just fine. |
| 23:00:31 | juri_ | stares blankly. |
| 23:00:41 | × | Square2 quits (~Square@user/square) (Ping timeout: 255 seconds) |
| 23:00:43 | → | Ram-Z joins (~Ram-Z@li1814-254.members.linode.com) |
| 23:01:00 | <monodoom> | Unless you literally mean floating point as in the Haskell Report being very under-specified. |
| 23:01:37 | × | michalz quits (~michalz@185.246.207.221) (Remote host closed the connection) |
| 23:02:03 | <EvanR> | I missed the opportunity to say haskell and C are both terrible at math. Use fortran |
| 23:02:11 | <monodoom> | :) |
| 23:02:35 | <juri_> | monodoom: i perform floating point operations, with error calculation, and well defined direction of rounding. in haskell. |
| 23:02:41 | <monodoom> | Well, "math" is broad. The statement is right for number crunching. |
| 23:03:34 | <monodoom> | But "math" also has, say, finite group and coset crunching, at which point C and Fortran are painful to use, Haskell is slighty less, you need Mathematica or something. |
| 23:04:24 | <monodoom> | juri_: You are very brave. :) |
| 23:05:18 | → | son0p joins (~ff@181.136.122.143) |
| 23:05:50 | <juri_> | no, the other word. :) |
| 23:07:19 | <monodoom> | I am reading a paper that does this. You already know that mathematicians sometimes use the notation "- * c" to mean the 1-ary function "\x -> x * c". Well, this paper now uses "- * =" for the 2-ary version... |
| 23:08:26 | × | neceve quits (~neceve@user/neceve) (Ping timeout: 255 seconds) |
| 23:08:52 | × | tomith quits (tomith@85-156-187-17.elisa-laajakaista.fi) (Changing host) |
| 23:08:52 | → | tomith joins (tomith@user/tomith) |
| 23:09:40 | → | htor joins (~htor@84.208.240.181) |
| 23:10:35 | × | kraftwerk28 quits (~kraftwerk@164.92.219.160) (Ping timeout: 240 seconds) |
| 23:11:04 | <EvanR> | \x -> x - x would then be - - - |
| 23:11:39 | <EvanR> | code for M M M |
| 23:11:43 | <EvanR> | er |
| 23:11:59 | <EvanR> | forgot it all already |
| 23:12:34 | <EvanR> | T T T |
| 23:18:42 | <haskellbridge> | 08<tewuzij> Maybe Haskell should learn from Wolfram Language? |
| 23:18:53 | <haskellbridge> | 12<Celestial> this is getting APLy |
| 23:19:38 | × | P1RATEZ quits (piratez@user/p1ratez) (Remote host closed the connection) |
| 23:21:31 | → | falafel joins (~falafel@62.175.113.194.dyn.user.ono.com) |
| 23:27:11 | → | johnw joins (~johnw@69.62.242.138) |
| 23:36:46 | Axman6 | is now known as Axeman6 |
| 23:37:09 | <Axeman6> | figured I should join the halloween fun |
| 23:37:43 | <monodoom> | :) |
| 23:39:13 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 23:40:39 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 23:41:26 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 23:46:43 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 23:46:43 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 23:46:43 | → | wroathe joins (~wroathe@user/wroathe) |
| 23:47:53 | × | motherfsck quits (~motherfsc@user/motherfsck) (Quit: quit) |
| 23:53:34 | → | nyc joins (~nyc@user/nyc) |
| 23:55:16 | <nyc> | How do I correlate warning messages from haddock with the source files that triggered them? |
| 23:59:39 | <Axeman6> | By reading all your code and going 'ah, there it is!' |
All times are in UTC on 2023-10-31.