2023-07-29 00:06:29 +0200 | lyxia | (~lyxia@poisson.chat) (Quit: WeeChat 3.7) |
2023-07-29 00:07:05 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-089-015.46.114.pool.telefonica.de) (Ping timeout: 246 seconds) |
2023-07-29 00:07:18 +0200 | bontaq | (~user@ool-45779b84.dyn.optonline.net) (Remote host closed the connection) |
2023-07-29 00:08:23 +0200 | Guest8558 | (~finn@176-151-21-224.abo.bbox.fr) (Ping timeout: 264 seconds) |
2023-07-29 00:13:01 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-07-29 00:14:44 +0200 | thegeekinside | (~thegeekin@189.217.90.138) (Read error: Connection reset by peer) |
2023-07-29 00:16:21 +0200 | mango | (~finn@2001:861:5863:3d50:38dd:bfcb:d7f1:6ae4) (Ping timeout: 260 seconds) |
2023-07-29 00:17:48 +0200 | forell | (~forell@user/forell) |
2023-07-29 00:18:10 +0200 | phma | (~phma@2001:5b0:210f:78d8:de61:1bc2:fcbd:591a) (Read error: Connection reset by peer) |
2023-07-29 00:19:16 +0200 | phma | (phma@2001:5b0:211c:f748:3478:76f9:d3a9:cc0a) |
2023-07-29 00:22:52 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) |
2023-07-29 00:24:32 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 245 seconds) |
2023-07-29 00:27:52 +0200 | acidjnk | (~acidjnk@p200300d6e7072f7488c486b520f19958.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
2023-07-29 00:29:36 +0200 | mei | (~mei@user/mei) (Remote host closed the connection) |
2023-07-29 00:30:26 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2023-07-29 00:32:02 +0200 | mei | (~mei@user/mei) |
2023-07-29 00:35:56 +0200 | <hololeap> | I've got a broad question of how to parse a text file with a parser combinator library |
2023-07-29 00:36:40 +0200 | <hololeap> | say there are 3 types of lines, 1) header lines which have some obvious structure 2) relevant lines that we want to gather 3) irrelevant lines that we want to ignore |
2023-07-29 00:37:19 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 00:37:24 +0200 | <hololeap> | when a header line is reached, it should scan the lines below it until it reaches another header line. of the lines scanned, it makes a list of the relevant lines and stores them in some data structure under the header |
2023-07-29 00:37:44 +0200 | <hololeap> | what's the best/most obvious way to structure a parser like this? |
2023-07-29 00:38:18 +0200 | <jade[m]> | that sounds fairly straightforward - how are header lines indicated? |
2023-07-29 00:38:41 +0200 | <hololeap> | let's just say that the header lines look like: - header |
2023-07-29 00:38:49 +0200 | <hololeap> | (that is a '-', a space, then a title) |
2023-07-29 00:39:11 +0200 | <hololeap> | relevant lines start with 'http' |
2023-07-29 00:41:16 +0200 | <jade[m]> | mhm, so you want a parser that uses many over another parser that first reads a header line and then accepts lines starting with http |
2023-07-29 00:41:35 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 246 seconds) |
2023-07-29 00:41:37 +0200 | <jade[m]> | what library are you using specifically? |
2023-07-29 00:41:55 +0200 | <hololeap> | megaparsec |
2023-07-29 00:42:22 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2023-07-29 00:44:16 +0200 | <hololeap> | I guess this kind of loosely translates into converting [Either HeaderName (Maybe URL)] to (Map HeaderName [URL]) |
2023-07-29 00:45:45 +0200 | <geekosaur> | (anyone else feel an urge to write it in awk?) |
2023-07-29 00:45:47 +0200 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 245 seconds) |
2023-07-29 00:46:29 +0200 | <hololeap> | so it would have to store the HeaderName somewhere temporary and gather the URLs until a new HeaderName is reached, at which point it writes the previous mess to the Map |
2023-07-29 00:46:42 +0200 | <hololeap> | but I feel like that's a imperative way of thinking about it |
2023-07-29 00:46:53 +0200 | <jade[m]> | it is indeed |
2023-07-29 00:47:31 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 245 seconds) |
2023-07-29 00:48:29 +0200 | <jade[m]> | with a parser combinator you would rather parse a list of headers paired with a list of lines (via a record for example) and then put those in a map using one of the smart constructors for a Map |
2023-07-29 00:48:57 +0200 | <jade[m]> | basically makeMap (many paragraph) |
2023-07-29 00:49:32 +0200 | <jade[m]> | eh, you'd probably fmap that, sorry |
2023-07-29 00:49:48 +0200 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) |
2023-07-29 00:50:19 +0200 | <hololeap> | ok, even more absract: convert [Either a b] to [(a, [b])] so that each pair consists of an 'a' and a list of consecutive 'b's that follow it |
2023-07-29 00:50:31 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-089-015.46.114.pool.telefonica.de) |
2023-07-29 00:51:33 +0200 | <hololeap> | sorry, it seems like I start thinking about problems like these more clearly after I ask in irc :3 |
2023-07-29 00:51:41 +0200 | <ncf> | what do you do if the list starts with Right? |
2023-07-29 00:52:02 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) |
2023-07-29 00:52:02 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
2023-07-29 00:52:02 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) |
2023-07-29 00:52:09 +0200 | <ncf> | (answer: you raise a parse error. so this should happen in the parser) |
2023-07-29 00:52:27 +0200 | <hololeap> | I was going to say, ignore the entries until the first Left |
2023-07-29 00:55:57 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Excess Flood) |
2023-07-29 00:57:33 +0200 | arahael_ | (~arahael@115-64-199-191.tpgi.com.au) |
2023-07-29 00:58:44 +0200 | Xe | (~cadey@tailscale/xe) (Ping timeout: 246 seconds) |
2023-07-29 01:04:20 +0200 | arahael_ | (~arahael@115-64-199-191.tpgi.com.au) (Ping timeout: 246 seconds) |
2023-07-29 01:09:59 +0200 | forell | (~forell@user/forell) (Quit: ZNC - https://znc.in) |
2023-07-29 01:13:18 +0200 | forell | (~forell@user/forell) |
2023-07-29 01:17:17 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 246 seconds) |
2023-07-29 01:17:34 +0200 | wroathe | (~wroathe@user/wroathe) (Quit: Lost terminal) |
2023-07-29 01:19:10 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-07-29 01:19:15 +0200 | lyxia | (~lyxia@poisson.chat) |
2023-07-29 01:21:31 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2023-07-29 01:22:09 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-07-29 01:24:05 +0200 | byte | (~byte@user/byte) (Quit: Quitting...) |
2023-07-29 01:24:51 +0200 | mauke_ | (~mauke@user/mauke) |
2023-07-29 01:25:40 +0200 | byte | (~byte@user/byte) |
2023-07-29 01:26:28 +0200 | mauke | (~mauke@user/mauke) (Ping timeout: 246 seconds) |
2023-07-29 01:26:28 +0200 | mauke_ | mauke |
2023-07-29 01:26:41 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 245 seconds) |
2023-07-29 01:27:27 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 01:29:16 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-089-015.46.114.pool.telefonica.de) (Ping timeout: 258 seconds) |
2023-07-29 01:30:01 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
2023-07-29 01:31:51 +0200 | bratwurst | (~dfadsva@2604:3d09:207f:f650::c3b) |
2023-07-29 01:32:07 +0200 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) |
2023-07-29 01:32:47 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 260 seconds) |
2023-07-29 01:38:02 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
2023-07-29 01:43:09 +0200 | arahael_ | (~arahael@115-64-199-191.tpgi.com.au) |
2023-07-29 01:43:41 +0200 | mvk | (~mvk@2607:fea8:5c9a:a600::1c6d) |
2023-07-29 01:48:54 +0200 | arahael_ | (~arahael@115-64-199-191.tpgi.com.au) (Ping timeout: 244 seconds) |
2023-07-29 01:57:09 +0200 | Xe | (~cadey@tailscale/xe) |
2023-07-29 02:00:17 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 02:02:20 +0200 | oo_miguel | (~Thunderbi@78-11-179-96.static.ip.netia.com.pl) (Ping timeout: 244 seconds) |
2023-07-29 02:03:17 +0200 | forell | (~forell@user/forell) (Ping timeout: 245 seconds) |
2023-07-29 02:04:10 +0200 | forell | (~forell@user/forell) |
2023-07-29 02:04:32 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 246 seconds) |
2023-07-29 02:08:58 +0200 | arahael_ | (~arahael@115-64-199-191.tpgi.com.au) |
2023-07-29 02:09:39 +0200 | lyxia | (~lyxia@poisson.chat) (Quit: WeeChat 4.0.2) |
2023-07-29 02:12:17 +0200 | travisb_ | (~travisb@2600:1700:7990:24e0:a3e2:8ce:b0a3:7ccb) (Remote host closed the connection) |
2023-07-29 02:12:30 +0200 | travisb_ | (~travisb@2600:1700:7990:24e0:1a06:df99:987c:76cd) |
2023-07-29 02:15:01 +0200 | arahael_ | (~arahael@115-64-199-191.tpgi.com.au) (Ping timeout: 245 seconds) |
2023-07-29 02:15:15 +0200 | mima | (~mmh@ppp-212-114-180-85.dynamic.mnet-online.de) (Ping timeout: 244 seconds) |
2023-07-29 02:23:10 +0200 | thegeekinside | (~thegeekin@189.217.90.138) |
2023-07-29 02:28:19 +0200 | thegeekinside | (~thegeekin@189.217.90.138) (Remote host closed the connection) |
2023-07-29 02:32:28 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-07-29 02:32:48 +0200 | byte | (~byte@user/byte) (Quit: Quitting...) |
2023-07-29 02:33:08 +0200 | byte | (~byte@user/byte) |
2023-07-29 02:33:16 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 02:37:47 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 264 seconds) |
2023-07-29 02:49:32 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
2023-07-29 02:49:32 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
2023-07-29 02:49:32 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-07-29 02:50:49 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 02:53:46 +0200 | Natch | (~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) (Ping timeout: 245 seconds) |
2023-07-29 02:56:27 +0200 | arahael_ | (~arahael@115-64-199-191.tpgi.com.au) |
2023-07-29 02:57:19 +0200 | Natch | (~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) |
2023-07-29 03:02:06 +0200 | cstm[m] | (~cstmmatri@2001:470:69fc:105::2:f76f) |
2023-07-29 03:02:33 +0200 | cstm[m] | cstml[m] |
2023-07-29 03:02:37 +0200 | arahael_ | (~arahael@115-64-199-191.tpgi.com.au) (Ping timeout: 260 seconds) |
2023-07-29 03:08:30 +0200 | forell | (~forell@user/forell) (Quit: ZNC - https://znc.in) |
2023-07-29 03:11:05 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2023-07-29 03:12:11 +0200 | forell | (~forell@user/forell) |
2023-07-29 03:13:30 +0200 | qqq | (~qqq@92.43.167.61) |
2023-07-29 03:17:12 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2023-07-29 03:24:29 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 244 seconds) |
2023-07-29 03:30:35 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 264 seconds) |
2023-07-29 03:37:26 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) |
2023-07-29 03:41:00 +0200 | jsomedon | (uid606872@id-606872.hampstead.irccloud.com) |
2023-07-29 03:42:03 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
2023-07-29 03:42:08 +0200 | jsomedon | (uid606872@id-606872.hampstead.irccloud.com) () |
2023-07-29 03:49:48 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 244 seconds) |
2023-07-29 03:54:58 +0200 | aforemny_ | (~aforemny@2001:9e8:6ce2:4f00:57f9:d120:56d4:9724) (Ping timeout: 244 seconds) |
2023-07-29 03:55:13 +0200 | aforemny | (~aforemny@i59F516EC.versanet.de) |
2023-07-29 04:03:06 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 04:07:56 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 260 seconds) |
2023-07-29 04:11:56 +0200 | jero98772 | (~jero98772@2800:484:1d7f:5d36::1) (Ping timeout: 246 seconds) |
2023-07-29 04:11:58 +0200 | forell | (~forell@user/forell) (Quit: ZNC - https://znc.in) |
2023-07-29 04:15:26 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-07-29 04:16:41 +0200 | td_ | (~td@i53870935.versanet.de) (Ping timeout: 245 seconds) |
2023-07-29 04:18:47 +0200 | td_ | (~td@i5387090D.versanet.de) |
2023-07-29 04:18:49 +0200 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2023-07-29 04:18:49 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2023-07-29 04:18:49 +0200 | finn_elija | FinnElija |
2023-07-29 04:25:09 +0200 | jero98772 | (~jero98772@2800:484:1d7f:5d36::1) |
2023-07-29 04:35:36 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-07-29 04:35:54 +0200 | bratwurst | (~dfadsva@2604:3d09:207f:f650::c3b) (Ping timeout: 260 seconds) |
2023-07-29 04:37:18 +0200 | bratwurst | (~dfadsva@2604:3d09:207f:f650::c3b) |
2023-07-29 04:37:24 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 04:39:23 +0200 | razetime | (~quassel@117.193.5.197) |
2023-07-29 04:39:41 +0200 | forell | (~forell@user/forell) |
2023-07-29 04:39:42 +0200 | bratwurst | (~dfadsva@2604:3d09:207f:f650::c3b) (Client Quit) |
2023-07-29 04:42:42 +0200 | terrorjack | (~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat) |
2023-07-29 04:44:06 +0200 | terrorjack | (~terrorjac@2a01:4f8:c17:87f8::) |
2023-07-29 04:45:46 +0200 | forell | (~forell@user/forell) (Quit: ZNC - https://znc.in) |
2023-07-29 04:47:11 +0200 | seeg123456 | (~seeg12345@64.176.64.83) |
2023-07-29 04:55:53 +0200 | ft | (~ft@p3e9bc61e.dip0.t-ipconnect.de) (Ping timeout: 258 seconds) |
2023-07-29 04:57:28 +0200 | ft | (~ft@p4fc2a59a.dip0.t-ipconnect.de) |
2023-07-29 05:05:22 +0200 | forell | (~forell@user/forell) |
2023-07-29 05:12:14 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2023-07-29 05:17:38 +0200 | mvk | (~mvk@2607:fea8:5c9a:a600::1c6d) (Ping timeout: 244 seconds) |
2023-07-29 05:17:59 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Ping timeout: 264 seconds) |
2023-07-29 05:18:56 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 250 seconds) |
2023-07-29 05:21:03 +0200 | talismanick | (~user@76.133.152.122) |
2023-07-29 05:21:46 +0200 | jero98772 | (~jero98772@2800:484:1d7f:5d36::1) (Ping timeout: 244 seconds) |
2023-07-29 05:32:23 +0200 | aforemny_ | (~aforemny@i59F516E5.versanet.de) |
2023-07-29 05:32:48 +0200 | aforemny | (~aforemny@i59F516EC.versanet.de) (Ping timeout: 250 seconds) |
2023-07-29 05:32:58 +0200 | razetime | (~quassel@117.193.5.197) (Remote host closed the connection) |
2023-07-29 05:33:13 +0200 | jero98772 | (~jero98772@2800:484:1d7f:5d36::1) |
2023-07-29 05:35:57 +0200 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2023-07-29 05:37:28 +0200 | sm[i] | (~sm@2601:196:4b80:3a40:65:7c1f:38cd:576) (Quit: sm[i]) |
2023-07-29 05:40:49 +0200 | travisb_ | (~travisb@2600:1700:7990:24e0:1a06:df99:987c:76cd) (Remote host closed the connection) |
2023-07-29 05:41:06 +0200 | travisb_ | (~travisb@2600:1700:7990:24e0:1a06:df99:987c:76cd) |
2023-07-29 05:41:53 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 258 seconds) |
2023-07-29 05:43:38 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
2023-07-29 05:44:40 +0200 | hughjfchen92 | (~hughjfche@104.208.72.114) |
2023-07-29 05:46:39 +0200 | hughjfchen92 | (~hughjfche@104.208.72.114) (Client Quit) |
2023-07-29 05:48:22 +0200 | hughjfchen55 | (~hughjfche@104.208.72.114) |
2023-07-29 05:50:01 +0200 | byte | (~byte@user/byte) (Quit: Quitting...) |
2023-07-29 05:50:39 +0200 | hughjfchen55 | (~hughjfche@104.208.72.114) (Client Quit) |
2023-07-29 05:51:34 +0200 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) (Quit: WeeChat 3.7.1) |
2023-07-29 05:51:53 +0200 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) |
2023-07-29 05:54:04 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 05:57:52 +0200 | forell | (~forell@user/forell) (Ping timeout: 245 seconds) |
2023-07-29 05:58:47 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 264 seconds) |
2023-07-29 06:05:23 +0200 | xff0x | (~xff0x@2405:6580:b080:900:f296:7c8e:ce20:8b85) (Ping timeout: 264 seconds) |
2023-07-29 06:05:47 +0200 | xff0x | (~xff0x@178.255.149.135) |
2023-07-29 06:11:43 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 06:13:09 +0200 | arahael_ | (~arahael@115-64-199-191.tpgi.com.au) |
2023-07-29 06:16:16 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 260 seconds) |
2023-07-29 06:17:34 +0200 | arahael_ | (~arahael@115-64-199-191.tpgi.com.au) (Ping timeout: 244 seconds) |
2023-07-29 06:30:34 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 06:31:18 +0200 | xff0x | (~xff0x@178.255.149.135) (Ping timeout: 250 seconds) |
2023-07-29 06:32:19 +0200 | codaraxis__ | (~codaraxis@user/codaraxis) |
2023-07-29 06:33:01 +0200 | xff0x | (~xff0x@2405:6580:b080:900:3719:1952:9146:1372) |
2023-07-29 06:35:31 +0200 | codaraxis | (~codaraxis@user/codaraxis) (Ping timeout: 246 seconds) |
2023-07-29 06:37:14 +0200 | lambdap237 | (~lambdap@static.167.190.119.168.clients.your-server.de) |
2023-07-29 06:37:26 +0200 | notzmv | (~zmv@user/notzmv) |
2023-07-29 06:39:21 +0200 | byte | (~byte@user/byte) |
2023-07-29 06:40:13 +0200 | lambdap237 | (~lambdap@static.167.190.119.168.clients.your-server.de) (Client Quit) |
2023-07-29 06:40:34 +0200 | lambdap237 | (~lambdap@static.167.190.119.168.clients.your-server.de) |
2023-07-29 06:49:30 +0200 | <hgolden> | hi byorgey: do you recommend a particular editor or IDE for doing CIS 194? I have tried VS Code, but it doesn't handle .lhs very well. |
2023-07-29 06:51:12 +0200 | trev | (~trev@user/trev) |
2023-07-29 06:58:36 +0200 | internatetional | (~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f) |
2023-07-29 06:58:49 +0200 | internatetional | (~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f) (Client Quit) |
2023-07-29 07:00:41 +0200 | internatetional | (~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f) |
2023-07-29 07:01:53 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |
2023-07-29 07:04:56 +0200 | Pickchea | (~private@user/pickchea) |
2023-07-29 07:08:30 +0200 | flounders | (~flounders@24.246.133.1) |
2023-07-29 07:12:54 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 250 seconds) |
2023-07-29 07:15:56 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-07-29 07:20:14 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds) |
2023-07-29 07:28:50 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2023-07-29 07:32:41 +0200 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
2023-07-29 07:34:16 +0200 | cjb | (~cjb@user/cjb) |
2023-07-29 07:34:35 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 258 seconds) |
2023-07-29 07:36:10 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) |
2023-07-29 07:38:04 +0200 | seeg123456 | (~seeg12345@64.176.64.83) () |
2023-07-29 07:46:11 +0200 | cjb | (~cjb@user/cjb) (Quit: rcirc on GNU Emacs 28.2) |
2023-07-29 07:48:00 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 07:48:38 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) |
2023-07-29 07:52:36 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 258 seconds) |
2023-07-29 08:00:47 +0200 | maerwald | (~maerwald@user/maerwald) (Quit: gone) |
2023-07-29 08:03:48 +0200 | maerwald[m] | (~maerwaldm@2001:470:69fc:105::1ee) () |
2023-07-29 08:08:48 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Ping timeout: 250 seconds) |
2023-07-29 08:17:27 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2) |
2023-07-29 08:20:01 +0200 | shapr | (~user@2600:1700:c640:3100:54fd:7954:acad:5050) (Ping timeout: 244 seconds) |
2023-07-29 08:21:16 +0200 | oneeyedalien | (~oneeyedal@user/oneeyedalien) |
2023-07-29 08:26:01 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) |
2023-07-29 08:27:58 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-07-29 08:30:33 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 258 seconds) |
2023-07-29 08:30:40 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) (Read error: Connection reset by peer) |
2023-07-29 08:37:59 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2023-07-29 08:41:41 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 08:46:55 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-07-29 08:47:55 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 244 seconds) |
2023-07-29 09:02:01 +0200 | oo_miguel | (~Thunderbi@78-11-179-96.static.ip.netia.com.pl) |
2023-07-29 09:02:13 +0200 | acidjnk | (~acidjnk@p200300d6e7072f7488c486b520f19958.dip0.t-ipconnect.de) |
2023-07-29 09:05:59 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) |
2023-07-29 09:07:33 +0200 | darchitect | (~darchitec@2a00:23c6:3584:df01:ace3:21db:4a0c:96b1) (Ping timeout: 244 seconds) |
2023-07-29 09:07:41 +0200 | flounders | (~flounders@24.246.133.1) (Ping timeout: 246 seconds) |
2023-07-29 09:09:42 +0200 | darchitect | (~darchitec@2a00:23c6:3584:df01:eb12:93bf:8333:4511) |
2023-07-29 09:11:07 +0200 | dobblego | (~dibblego@116-255-1-151.ip4.superloop.au) |
2023-07-29 09:11:07 +0200 | dobblego | (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
2023-07-29 09:11:07 +0200 | dobblego | (~dibblego@haskell/developer/dibblego) |
2023-07-29 09:11:40 +0200 | dobblego | dibblego |
2023-07-29 09:19:09 +0200 | forell | (~forell@user/forell) |
2023-07-29 09:22:32 +0200 | oo_miguel | (~Thunderbi@78-11-179-96.static.ip.netia.com.pl) (Ping timeout: 244 seconds) |
2023-07-29 09:28:26 +0200 | mima | (~mmh@ppp-212-114-180-15.dynamic.mnet-online.de) |
2023-07-29 09:30:42 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 250 seconds) |
2023-07-29 09:31:02 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) |
2023-07-29 09:31:02 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
2023-07-29 09:31:02 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) |
2023-07-29 09:32:31 +0200 | sm[i] | (~sm@2601:196:4b80:3a40:65:7c1f:38cd:576) |
2023-07-29 09:37:51 +0200 | misterfish | (~misterfis@178.228.71.213) |
2023-07-29 09:39:57 +0200 | mima | (~mmh@ppp-212-114-180-15.dynamic.mnet-online.de) (Ping timeout: 245 seconds) |
2023-07-29 09:45:07 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 260 seconds) |
2023-07-29 09:48:22 +0200 | acidjnk | (~acidjnk@p200300d6e7072f7488c486b520f19958.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
2023-07-29 09:50:05 +0200 | mima | (~mmh@ppp-212-114-180-15.dynamic.mnet-online.de) |
2023-07-29 09:53:30 +0200 | mango | (~finn@2001:861:5863:3d50:4ca1:d4a3:9017:987c) |
2023-07-29 09:54:15 +0200 | arahael_ | (~arahael@115-64-199-191.tpgi.com.au) |
2023-07-29 09:56:14 +0200 | gmg | (~user@user/gehmehgeh) |
2023-07-29 09:57:16 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 09:58:46 +0200 | arahael_ | (~arahael@115-64-199-191.tpgi.com.au) (Ping timeout: 245 seconds) |
2023-07-29 10:00:07 +0200 | <sm> | ghcid I'd guess |
2023-07-29 10:00:09 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2023-07-29 10:01:28 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2023-07-29 10:01:47 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 258 seconds) |
2023-07-29 10:02:24 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2023-07-29 10:03:08 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Quit: Leaving) |
2023-07-29 10:04:15 +0200 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
2023-07-29 10:04:19 +0200 | mima | (~mmh@ppp-212-114-180-15.dynamic.mnet-online.de) (Ping timeout: 260 seconds) |
2023-07-29 10:04:57 +0200 | gmg | (~user@user/gehmehgeh) |
2023-07-29 10:05:14 +0200 | oneeyedalien | (~oneeyedal@user/oneeyedalien) (Quit: Leaving) |
2023-07-29 10:05:40 +0200 | acidjnk | (~acidjnk@p200300d6e7072f74a48c7e6a1dd36c06.dip0.t-ipconnect.de) |
2023-07-29 10:05:51 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
2023-07-29 10:05:56 +0200 | ubert | (~Thunderbi@178.165.173.150.wireless.dyn.drei.com) (Ping timeout: 244 seconds) |
2023-07-29 10:12:58 +0200 | flounders | (~flounders@24.246.133.1) |
2023-07-29 10:14:04 +0200 | fendor | (~fendor@2a02:8388:1640:be00:1f28:32b1:54ac:a932) |
2023-07-29 10:14:35 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 10:19:02 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:d004:e151:c029:6b7c) (Remote host closed the connection) |
2023-07-29 10:19:07 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 245 seconds) |
2023-07-29 10:20:24 +0200 | hrberg | (~quassel@171.79-160-161.customer.lyse.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2023-07-29 10:20:50 +0200 | hrberg | (~quassel@171.79-160-161.customer.lyse.net) |
2023-07-29 10:24:49 +0200 | yangby | (~secret@183.128.108.131) (Quit: Go out for a walk and buy a drink.) |
2023-07-29 10:24:56 +0200 | hrberg | (~quassel@171.79-160-161.customer.lyse.net) (Client Quit) |
2023-07-29 10:25:17 +0200 | yangby | (~secret@183.128.108.131) |
2023-07-29 10:25:57 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer) |
2023-07-29 10:27:12 +0200 | hrberg | (~quassel@171.79-160-161.customer.lyse.net) |
2023-07-29 10:39:48 +0200 | <Hecate> | tomsmeding: 9.8.1-alpha1 is released :) |
2023-07-29 10:41:04 +0200 | arahael_ | (~arahael@115-64-199-191.tpgi.com.au) |
2023-07-29 10:45:19 +0200 | <talismanick> | Why is Haskell the only (major/living) language with typeclasses? Why do most other functional languages opt for ML-style modules? |
2023-07-29 10:45:53 +0200 | <talismanick> | What alternatives are there? Generalizations/modifications of multiple dispatch? |
2023-07-29 10:46:57 +0200 | <talismanick> | (well, Clean has typeclasses too, and it appears to be alive and well, living on quietly) |
2023-07-29 10:47:21 +0200 | <talismanick> | And Purescript too, that's right |
2023-07-29 10:47:32 +0200 | <ncf> | agda, idris and lean have typeclasses |
2023-07-29 10:49:02 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 10:49:33 +0200 | zmt00 | (~zmt00@user/zmt00) |
2023-07-29 10:49:36 +0200 | arahael_ | (~arahael@115-64-199-191.tpgi.com.au) (Ping timeout: 245 seconds) |
2023-07-29 10:49:51 +0200 | mango | (~finn@2001:861:5863:3d50:4ca1:d4a3:9017:987c) (Ping timeout: 244 seconds) |
2023-07-29 10:50:40 +0200 | zmt01 | (~zmt00@user/zmt00) (Ping timeout: 246 seconds) |
2023-07-29 10:50:49 +0200 | mango | (~finn@2001:861:5863:3d50:b609:8a33:4e07:703d) |
2023-07-29 10:53:21 +0200 | misterfish | (~misterfis@178.228.71.213) (Ping timeout: 245 seconds) |
2023-07-29 10:58:50 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2023-07-29 11:00:13 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2023-07-29 11:00:13 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2023-07-29 11:00:13 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) (Read error: Connection reset by peer) |
2023-07-29 11:00:13 +0200 | califax | (~califax@user/califx) (Read error: Connection reset by peer) |
2023-07-29 11:00:14 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Read error: Connection reset by peer) |
2023-07-29 11:00:31 +0200 | end^ | (~end^@user/end/x-0094621) (Quit: You have been kicked for being idle) |
2023-07-29 11:00:39 +0200 | califax | (~califax@user/califx) |
2023-07-29 11:00:40 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
2023-07-29 11:00:43 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2023-07-29 11:00:47 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
2023-07-29 11:01:05 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2023-07-29 11:01:05 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-07-29 11:01:07 +0200 | LenaDresner[m] | (~lenadresn@2001:470:69fc:105::3:3c53) (Remote host closed the connection) |
2023-07-29 11:01:25 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2023-07-29 11:02:09 +0200 | rubin55 | (sid175221@id-175221.hampstead.irccloud.com) () |
2023-07-29 11:02:35 +0200 | rubin55 | (sid175221@id-175221.hampstead.irccloud.com) |
2023-07-29 11:03:53 +0200 | sm[i] | (~sm@2601:196:4b80:3a40:65:7c1f:38cd:576) (Ping timeout: 258 seconds) |
2023-07-29 11:04:02 +0200 | mango | (~finn@2001:861:5863:3d50:b609:8a33:4e07:703d) (Ping timeout: 246 seconds) |
2023-07-29 11:11:14 +0200 | Guest6684 | (~finn@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr) |
2023-07-29 11:11:34 +0200 | yangby | (~secret@183.128.108.131) (Quit: Go out for a walk and buy a drink.) |
2023-07-29 11:16:08 +0200 | flounders | (~flounders@24.246.133.1) (Ping timeout: 246 seconds) |
2023-07-29 11:17:01 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-07-29 11:17:58 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2023-07-29 11:18:21 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
2023-07-29 11:19:32 +0200 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
2023-07-29 11:20:22 +0200 | <probie> | Sometimes I wish that Haskell didn't have typeclasses. They're convenient, but they're also annoyingly global |
2023-07-29 11:21:54 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 260 seconds) |
2023-07-29 11:22:14 +0200 | <probie> | and you can't easily convert between them (e.g. if you have two dependencies that both define what is effectively the same typeclass) |
2023-07-29 11:24:14 +0200 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
2023-07-29 11:25:09 +0200 | <probie> | so if I want something like comonads, I can roll my own definition, but it will annoy everyone who wants to use my code, or I can use the definition from the comonads package (because that's what everyone uses), and now I've added a dependency on 10-15 packages when all I wanted was `class Functor w => Comonad w where { extend :: w a -> w (w a); extract :: w a -> a }` |
2023-07-29 11:26:03 +0200 | <jackdk> | just make sure the dictionaries get laid out the same and do horrid reflection-style hacks |
2023-07-29 11:33:46 +0200 | boxscape_ | (~boxscape_@81.191.27.107) |
2023-07-29 11:34:39 +0200 | <Hecate> | probie: we need this https://idris2.readthedocs.io/en/latest/tutorial/interfaces.html#named-implementations |
2023-07-29 11:37:53 +0200 | <sm> | happy for 9.8.1a1, but I don't see anything obvious I can use - how about you ? |
2023-07-29 11:37:54 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 244 seconds) |
2023-07-29 11:38:17 +0200 | <probie> | Hecate: That can cause headaches. If you've got something like `data BinarySearchTree a = Null | Node a (BinarySearchTree a) a` and `insert :: Ord a => a -> BinarySearchTree a -> BinarySearchTree a`, someone might call `insert @{foo} x (insert y someTree)` |
2023-07-29 11:39:17 +0200 | <probie> | (this was the example given to me when I went on a rant ~10 years ago in this channel about how we don't need typeclasses) |
2023-07-29 11:40:26 +0200 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) |
2023-07-29 11:40:46 +0200 | <boxscape_> | hmm with dependent types you could have the compare function as index of the Set type |
2023-07-29 11:42:36 +0200 | <Hecate> | probie: so… the problem is that someone may call insert with a specific implementation? Or that the implementation name is a variable? |
2023-07-29 11:44:13 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds) |
2023-07-29 11:44:37 +0200 | <probie> | Hecate: the problem is that you don't have a guarantee that the same ordering is used for all inserts (of course, you can fix this by bundling the ordering function with the tree, but at that point you don't need typeclasses any more) |
2023-07-29 11:44:53 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2023-07-29 11:45:46 +0200 | <Hecate> | probie: well, if you call a specific implementation that's because you don't care too much about cross-implementation guarantees, do you? |
2023-07-29 11:46:11 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2023-07-29 11:46:27 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2023-07-29 11:46:51 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2023-07-29 11:47:12 +0200 | <probie> | It introduces a chance for a bug that could be annoying to track down (i.e what happens if I simply forgot to write `@{foo}` on the other insert) |
2023-07-29 11:47:17 +0200 | <apache> | if the ordering is important wouldn't that warrant having it explicit in the type signature? |
2023-07-29 11:47:50 +0200 | <boxscape_> | I feel like named instances don't really give you very much over newtypes though? it's a bit noisier syntactically, although the applying-via proposal would have helped |
2023-07-29 11:48:10 +0200 | <boxscape_> | (I mean newtypes are noisier syntactically) |
2023-07-29 11:52:47 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 264 seconds) |
2023-07-29 11:55:25 +0200 | acidjnk_new | (~acidjnk@p200300d6e7072f742c3c839711257708.dip0.t-ipconnect.de) |
2023-07-29 11:56:59 +0200 | acidjnk | (~acidjnk@p200300d6e7072f74a48c7e6a1dd36c06.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
2023-07-29 11:57:37 +0200 | <ncf> | int-e: what's lambdabot's trustedPackages list? i'm getting "-XGeneralizedNewtypeDeriving is not allowed in Safe Haskell" when trying to import Control.Lens on my own instance |
2023-07-29 11:58:23 +0200 | <ncf> | wait i asked you this a year ago let me grep my logs |
2023-07-29 11:59:17 +0200 | <Hecate> | I need to deprecate Safe Haskell |
2023-07-29 12:00:50 +0200 | <ncf> | oh, there wasn't a simple answer... |
2023-07-29 12:02:15 +0200 | <Rembane> | ncf: This makes me curious, what's the complex answer? |
2023-07-29 12:02:20 +0200 | Guest6684 | (~finn@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr) (Ping timeout: 246 seconds) |
2023-07-29 12:03:09 +0200 | <int-e> | ncf: I also haven't actually gone through this process... in several years by now. I should do that again. But it's always been a mix of identifying a minimal set of packages to trust and patching those packages to actually use the right annotations. |
2023-07-29 12:05:52 +0200 | <ncf> | Rembane: careful investigating and patching |
2023-07-29 12:06:20 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 12:06:38 +0200 | <ncf> | maybe i'll try |
2023-07-29 12:08:01 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2023-07-29 12:10:58 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 258 seconds) |
2023-07-29 12:12:00 +0200 | <Rembane> | ncf: That sounds way too much like software development. Thanks. |
2023-07-29 12:14:44 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
2023-07-29 12:27:38 +0200 | danza | (~francesco@151.37.214.222) |
2023-07-29 12:29:21 +0200 | arahael_ | (~arahael@115-64-199-191.tpgi.com.au) |
2023-07-29 12:38:15 +0200 | danza | (~francesco@151.37.214.222) (Remote host closed the connection) |
2023-07-29 12:38:34 +0200 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-07-29 12:38:56 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 12:39:33 +0200 | img | (~img@user/img) |
2023-07-29 12:39:49 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-092-082.46.114.pool.telefonica.de) |
2023-07-29 12:40:35 +0200 | danza | (~francesco@151.37.214.222) |
2023-07-29 12:43:17 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 246 seconds) |
2023-07-29 12:47:04 +0200 | codaraxis__ | (~codaraxis@user/codaraxis) (Quit: Leaving) |
2023-07-29 12:56:42 +0200 | boxscape_ | (~boxscape_@81.191.27.107) (Quit: Connection closed) |
2023-07-29 12:58:11 +0200 | boxscape_ | (~boxscape_@81.191.27.107) |
2023-07-29 12:58:34 +0200 | acidjnk_new | (~acidjnk@p200300d6e7072f742c3c839711257708.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
2023-07-29 12:59:16 +0200 | danza_ | (~francesco@151.37.188.85) |
2023-07-29 12:59:32 +0200 | danza | (~francesco@151.37.214.222) (Read error: Connection reset by peer) |
2023-07-29 12:59:56 +0200 | acidjnk | (~acidjnk@p200300d6e7072f74a4887092d5a58bfa.dip0.t-ipconnect.de) |
2023-07-29 13:08:15 +0200 | fweht | (uid404746@id-404746.lymington.irccloud.com) |
2023-07-29 13:12:29 +0200 | arahael_ | (~arahael@115-64-199-191.tpgi.com.au) (Ping timeout: 246 seconds) |
2023-07-29 13:13:49 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 13:14:13 +0200 | danza_ | (~francesco@151.37.188.85) (Ping timeout: 258 seconds) |
2023-07-29 13:14:32 +0200 | yangby | (~secret@183.128.108.131) |
2023-07-29 13:18:34 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 260 seconds) |
2023-07-29 13:19:59 +0200 | arahael_ | (~arahael@115-64-199-191.tpgi.com.au) |
2023-07-29 13:27:32 +0200 | arahael | (~arahael@115-64-199-191.tpgi.com.au) (Remote host closed the connection) |
2023-07-29 13:32:26 +0200 | yangby | (~secret@183.128.108.131) (Quit: Go out for a walk and buy a drink.) |
2023-07-29 13:33:09 +0200 | yangby | (~secret@183.128.108.131) |
2023-07-29 13:35:17 +0200 | razetime | (~quassel@117.193.5.197) |
2023-07-29 13:38:13 +0200 | mango | (~finn@2001:861:5863:3d50:ec89:52d:e5c5:704d) |
2023-07-29 13:38:16 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-07-29 13:42:09 +0200 | pandeyan | (~pandeyan@135-180-53-157.fiber.dynamic.sonic.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-07-29 13:44:09 +0200 | anpad | (~pandeyan@user/anpad) |
2023-07-29 13:50:31 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 13:51:43 +0200 | <ncf> | int-e: lol so the issue was that i'm using GHC 9.2 which enables GHC2021 by default which implies GeneralizedNewtypeDeriving which raises a warning which turns into an error because of -Werror |
2023-07-29 13:52:14 +0200 | <int-e> | nshepperd2: |
2023-07-29 13:52:16 +0200 | <ncf> | which raises a warning [when used with Safe] |
2023-07-29 13:52:24 +0200 | <int-e> | ncf: Ah the wonder of unintended side effects. |
2023-07-29 13:52:52 +0200 | <int-e> | I can already see the ticket: "GHC2021 breaks SafeHaskell", highest priority, stop the presses. |
2023-07-29 13:53:13 +0200 | <ncf> | :') |
2023-07-29 13:53:26 +0200 | <ncf> | i'll open it anyway |
2023-07-29 13:53:55 +0200 | <ncf> | ha https://gitlab.haskell.org/ghc/ghc/-/issues/19605 |
2023-07-29 13:54:07 +0200 | <ncf> | > I thought we decided in another ticket (I forget which) to allow this one to slip through, just to see if anyone notices. |
2023-07-29 13:54:09 +0200 | <lambdabot> | <hint>:1:22: error: parse error on input ‘in’ |
2023-07-29 13:54:09 +0200 | <ncf> | rofl |
2023-07-29 13:55:06 +0200 | <int-e> | Hecate: As the sole user of SafeHaskell, on behalf of the lambdabot community, I'd like to protest that deprecation. ("sole user" is probably inaccurate... but it's really hard to find convincing use cases for it. It's a cute idea, but it only ever covers a single notion of safety... which is way weaker than whatever people need in most contexts.) |
2023-07-29 13:55:17 +0200 | <int-e> | Hecate: ;-) |
2023-07-29 13:55:19 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 260 seconds) |
2023-07-29 13:55:56 +0200 | <boxscape_> | How well does it fit what lambdabot needs? |
2023-07-29 13:56:00 +0200 | <int-e> | (I've pondered generlizing SafeHaskell so that you could distinguish several notions of safety but that would only lead to fragmentation in the ecosystem.) |
2023-07-29 13:57:28 +0200 | <int-e> | boxscape_: pretty well, it does deliver on the "well-typed programs don't go wrong" (where going wrong means dumping core because control flow went out of bounds) promise by locking out the nasty functions that break it (unsafeCoerce, unsafePerformIO). |
2023-07-29 13:57:42 +0200 | <boxscape_> | I see |
2023-07-29 13:57:55 +0200 | alpm | (~alp@user/alp) (Ping timeout: 258 seconds) |
2023-07-29 13:58:10 +0200 | <int-e> | And the "pure values don't perform arbitrary IO" promise. |
2023-07-29 14:00:08 +0200 | <int-e> | There may be holes in this somewhere but I'm not currently aware of any, except that somebody might brute force an MD5 collision for Typeable. (Sounds scary, but the special collision attacks don't apply so for all I know it's the full 2^64 operations for a birthday attack... doable but actually a sizeable chunk of money.) |
2023-07-29 14:03:26 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2023-07-29 14:04:36 +0200 | <int-e> | ncf: You can actually see (mostly) how I used to do this: https://github.com/lambdabot/lambdabot/issues/186 (The last time I did this was for GHC 8.10 but that was surprisingly painless.) |
2023-07-29 14:05:26 +0200 | <int-e> | And 8.8 was probably the most painful of them all. |
2023-07-29 14:08:21 +0200 | <ncf> | i didn't have to do anything else, actually |
2023-07-29 14:08:41 +0200 | <int-e> | Nice. |
2023-07-29 14:09:29 +0200 | <ncf> | well, aside from trustedPackages but i had that figured out last year |
2023-07-29 14:11:48 +0200 | <int-e> | boxscape_: But people want more, of course... lock out internal APIs (possible, but this is the kind of thing that leads to fragmention over which functions should be safely importable and which not), lock out non-total functions (you can always write those), prevent unlawful class instances (GHC is not a theorem prover)... |
2023-07-29 14:12:11 +0200 | <boxscape_> | yeah makes sense |
2023-07-29 14:12:43 +0200 | <int-e> | So it never grew beyond this small sandboxing niche that is exemplified by lambdabot. |
2023-07-29 14:13:08 +0200 | <boxscape_> | I guess Type : Type could also be a problem, although I haven't seen anyone actually demonstrate it being a problem *in haskell* yet |
2023-07-29 14:13:09 +0200 | <int-e> | meh, spelling .examplified. |
2023-07-29 14:13:47 +0200 | <int-e> | boxscape_: I /believe/ Haskell is barely safe because you get non-termination instead of contradictions. Not sure though. |
2023-07-29 14:14:04 +0200 | <boxscape_> | hm okay |
2023-07-29 14:14:10 +0200 | <int-e> | (Haskell's types aren't theorems.) |
2023-07-29 14:14:24 +0200 | <int-e> | :t undefined |
2023-07-29 14:14:25 +0200 | <lambdabot> | a |
2023-07-29 14:14:51 +0200 | <int-e> | Or, at least, not very interesting theorems. |
2023-07-29 14:15:29 +0200 | <boxscape_> | yeah you have to actually evaluate an expression (and wait for it to terminate) to prove the theorem its type represents, at which point you can't prove anything that's universally quantified |
2023-07-29 14:15:37 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2023-07-29 14:15:38 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2023-07-29 14:15:51 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-07-29 14:16:02 +0200 | califax | (~califax@user/califx) |
2023-07-29 14:16:08 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
2023-07-29 14:22:29 +0200 | mango | (~finn@2001:861:5863:3d50:ec89:52d:e5c5:704d) (Ping timeout: 246 seconds) |
2023-07-29 14:23:28 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 14:24:32 +0200 | mango | (~finn@2001:861:5863:3d50:90c4:4ba:6297:e0c1) |
2023-07-29 14:31:58 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2) |
2023-07-29 14:33:31 +0200 | fendor | (~fendor@2a02:8388:1640:be00:1f28:32b1:54ac:a932) (Remote host closed the connection) |
2023-07-29 14:37:54 +0200 | mango | (~finn@2001:861:5863:3d50:90c4:4ba:6297:e0c1) (Ping timeout: 260 seconds) |
2023-07-29 14:39:10 +0200 | <Hecate> | int-e: https://discourse.haskell.org/t/deprecating-safe-haskell-or-heavily-investing-in-it/5489 |
2023-07-29 14:42:18 +0200 | bontaq | (~user@ool-45779b84.dyn.optonline.net) |
2023-07-29 14:44:00 +0200 | <int-e> | Hecate: I actually participated in the mailing list discussion in April 2022... I don't think that I have much to add to that. |
2023-07-29 14:44:11 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2023-07-29 14:46:02 +0200 | <int-e> | But I don't have a better use case than lambdabot and the loss is basically losing work that has already been done in GHC and by annotating certain libraries (including lens) to work within the SafeHaskell setting... and of course sunsetting lambdabot's evaluation model. |
2023-07-29 14:46:19 +0200 | <int-e> | I do not know how much maintenance burden this causes inside GHC. |
2023-07-29 14:46:24 +0200 | int-e | shrugs. |
2023-07-29 14:46:52 +0200 | <int-e> | April 2021 actually. |
2023-07-29 14:49:07 +0200 | <Hecate> | int-e: would something like bubblewrap & nsjail help for lambdabot? |
2023-07-29 14:49:13 +0200 | <Hecate> | like it works for the haskell playground |
2023-07-29 14:50:15 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-07-29 14:51:08 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-092-082.46.114.pool.telefonica.de) (Ping timeout: 244 seconds) |
2023-07-29 14:53:09 +0200 | <int-e> | Hecate: are you prepared for the horror that is http://paste.debian.net/1287297/ |
2023-07-29 14:53:48 +0200 | <int-e> | But I really prefer this kind of thing to be the second line of defence rather than the first. |
2023-07-29 14:54:28 +0200 | simulacrum | (~sp0ok@2603-8000-d201-0802-ac46-3011-06e6-d2f2.res6.spectrum.com) |
2023-07-29 14:59:41 +0200 | <Hecate> | int-e: frankly I'd rather we improve the status quo on these 52 lines of C |
2023-07-29 14:59:56 +0200 | <Hecate> | LambdaBot certainly deserves better |
2023-07-29 15:00:11 +0200 | <Hecate> | int-e: I'm not saying you're not doing anything, what I'm saying is that you deserve help and support |
2023-07-29 15:00:43 +0200 | <int-e> | Mostly... the way I recall it, this idea of preventing the use of IO by only evaluating pure values and restricting imports is what sparked lambdabot's development. I don't want to lose it, it's nostalgic. |
2023-07-29 15:02:02 +0200 | <int-e> | And losing SafeHaskell is a severe regression from that perspective. Back to manually vetting imports... |
2023-07-29 15:02:35 +0200 | <int-e> | If you want plain sandboxing, there's yahb. |
2023-07-29 15:03:41 +0200 | <int-e> | Note that I'm not saying that you shouldn't deprecate SafeHaskell; it's probably not worth the cost, overall. |
2023-07-29 15:03:50 +0200 | <int-e> | But I *am* saddened by this. |
2023-07-29 15:04:03 +0200 | <Hecate> | int-e: I understand |
2023-07-29 15:18:17 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-07-29 15:23:10 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 244 seconds) |
2023-07-29 15:27:56 +0200 | fweht | (uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-07-29 15:28:04 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 260 seconds) |
2023-07-29 15:31:38 +0200 | Guest6684 | (~finn@176-151-21-224.abo.bbox.fr) |
2023-07-29 15:32:10 +0200 | res0nat0r0844909 | (~Fletch@fenrir.whatbox.ca) (Quit: Ping timeout (120 seconds)) |
2023-07-29 15:33:10 +0200 | simulacrum | (~sp0ok@2603-8000-d201-0802-ac46-3011-06e6-d2f2.res6.spectrum.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2023-07-29 15:34:53 +0200 | <EvanR> | Inst__, all the funny remarks in that list I immediately learned over 10 years ago are wrong, like the monad endofunctor thing and the point free thing and the we don't need documentation or tests thing |
2023-07-29 15:35:04 +0200 | res0nat0r0844909 | (~Fletch@fenrir.whatbox.ca) |
2023-07-29 15:35:23 +0200 | <EvanR> | such insight should be in haskell 101 so this haskeller answers repo is valuable xD |
2023-07-29 15:36:16 +0200 | <EvanR> | maybe most importantly, you need to know category theory before using haskell thing is wrong |
2023-07-29 15:37:02 +0200 | res0nat0r0844909 | (~Fletch@fenrir.whatbox.ca) (Client Quit) |
2023-07-29 15:37:46 +0200 | res0nat0r0844909 | (~Fletch@fenrir.whatbox.ca) |
2023-07-29 15:39:39 +0200 | res0nat0r0844909 | (~Fletch@fenrir.whatbox.ca) (Client Quit) |
2023-07-29 15:40:29 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 15:48:21 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 245 seconds) |
2023-07-29 15:48:35 +0200 | notzmv | (~zmv@user/notzmv) (Ping timeout: 264 seconds) |
2023-07-29 15:50:31 +0200 | seeg123456 | (~seeg12345@64.176.64.83) |
2023-07-29 15:55:36 +0200 | seeg123456 | (~seeg12345@64.176.64.83) () |
2023-07-29 15:56:57 +0200 | gugu256 | (~gugu256@38.18.23.93.rev.sfr.net) |
2023-07-29 15:57:41 +0200 | Guest89 | (~Guest89@ip4d1480a4.dynamic.kabel-deutschland.de) |
2023-07-29 15:58:33 +0200 | seeg123456 | (~seeg12345@64.176.64.83) |
2023-07-29 16:01:22 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-07-29 16:04:07 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) |
2023-07-29 16:04:38 +0200 | Guest89 | (~Guest89@ip4d1480a4.dynamic.kabel-deutschland.de) (Quit: Client closed) |
2023-07-29 16:05:40 +0200 | <juri_> | i still don't know category theory, but i have to admit, i accidentally learned to use monods sometime in the last decade. |
2023-07-29 16:07:39 +0200 | seeg123456 | (~seeg12345@64.176.64.83) () |
2023-07-29 16:12:52 +0200 | tomboy64 | (~tomboy64@user/tomboy64) (Ping timeout: 245 seconds) |
2023-07-29 16:15:51 +0200 | gugu256 | (~gugu256@38.18.23.93.rev.sfr.net) (Ping timeout: 245 seconds) |
2023-07-29 16:15:56 +0200 | tomboy64 | (~tomboy64@user/tomboy64) |
2023-07-29 16:19:19 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
2023-07-29 16:23:55 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:a1c1:2fae:d038:32df) |
2023-07-29 16:24:48 +0200 | <probie> | Now that we have linear types, we should ditch monadic IO, because monads are scary |
2023-07-29 16:27:13 +0200 | <probie> | and just go with things like `putChar :: Char -> State# Realworld %1 -> State# Realworld` and `getChar :: State# Realworld %1 -> (State# Realworld, UR Char)` |
2023-07-29 16:27:23 +0200 | <probie> | s/UR/Ur/ |
2023-07-29 16:27:49 +0200 | <probie> | since monads are what scare newcomers away |
2023-07-29 16:28:08 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:a1c1:2fae:d038:32df) (Ping timeout: 246 seconds) |
2023-07-29 16:29:34 +0200 | <boxscape_> | we probably need linear constraints first |
2023-07-29 16:29:48 +0200 | <EvanR> | linear IO |
2023-07-29 16:30:17 +0200 | <EvanR> | ds9 sisko would object |
2023-07-29 16:30:52 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 252 seconds) |
2023-07-29 16:35:07 +0200 | fweht | (uid404746@id-404746.lymington.irccloud.com) |
2023-07-29 16:44:23 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 264 seconds) |
2023-07-29 16:53:00 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 16:53:21 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2023-07-29 16:54:57 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2023-07-29 16:57:57 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 260 seconds) |
2023-07-29 17:01:38 +0200 | perrierjouet | (~perrierjo@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 4.0.2) |
2023-07-29 17:03:15 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 17:05:22 +0200 | gugu256 | (~gugu256@180.18.23.93.rev.sfr.net) |
2023-07-29 17:07:04 +0200 | phma | (phma@2001:5b0:211c:f748:3478:76f9:d3a9:cc0a) (Read error: Connection reset by peer) |
2023-07-29 17:07:32 +0200 | phma | (~phma@host-67-44-208-109.hnremote.net) |
2023-07-29 17:13:58 +0200 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) |
2023-07-29 17:20:18 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds) |
2023-07-29 17:20:45 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
2023-07-29 17:24:40 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:c986:e1bf:9d12:c3e0) |
2023-07-29 17:27:50 +0200 | ystael | (~ystael@user/ystael) (Ping timeout: 246 seconds) |
2023-07-29 17:28:36 +0200 | segfaultfizzbuzz | (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
2023-07-29 17:29:14 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:c986:e1bf:9d12:c3e0) (Ping timeout: 246 seconds) |
2023-07-29 17:29:27 +0200 | prateem | (~user@2a02:c7c:a440:2900:9aa1:484a:8f82:e5f4) |
2023-07-29 17:30:07 +0200 | perrierjouet | (~perrierjo@modemcable048.127-56-74.mc.videotron.ca) |
2023-07-29 17:33:04 +0200 | seeg123456 | (~seeg12345@64.176.64.83) |
2023-07-29 17:34:07 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds) |
2023-07-29 17:37:29 +0200 | qqq | (~qqq@92.43.167.61) (Quit: leaving) |
2023-07-29 17:38:31 +0200 | hovsater | (sid499516@id-499516.lymington.irccloud.com) |
2023-07-29 17:39:16 +0200 | prateem | (~user@2a02:c7c:a440:2900:9aa1:484a:8f82:e5f4) (ERC 5.4 (IRC client for GNU Emacs 28.2)) |
2023-07-29 17:39:51 +0200 | <ncf> | is there any work on Monad m => LensLike m s t a b ? what do we know about those? |
2023-07-29 17:40:13 +0200 | <ncf> | (that is, Monad m => (a -> m b) -> s -> m t) |
2023-07-29 17:40:59 +0200 | <glguy> | ncf: sounds like what was split out of lens called Action |
2023-07-29 17:41:27 +0200 | <ncf> | hmmmmm |
2023-07-29 17:41:41 +0200 | <glguy> | https://hackage.haskell.org/package/lens-action-0.2.6/docs/Control-Lens-Action.html |
2023-07-29 17:41:53 +0200 | <ncf> | context: i'm trying to model some kind of traversal with possibly duplicate targets. supercontext: i'm trying to implement jq in haskell for fun |
2023-07-29 17:42:07 +0200 | <ncf> | i'll look at that thx |
2023-07-29 17:42:18 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2023-07-29 17:53:49 +0200 | <ncf> | glguy: ah, this is subtly different from what i'm looking for |
2023-07-29 17:54:11 +0200 | <ncf> | this would be (a -> m r) -> s -> m t, not (a -> m b) |
2023-07-29 17:54:51 +0200 | <ncf> | wait no |
2023-07-29 17:55:07 +0200 | <ncf> | this would be (a -> m r) -> s -> f t, not (a -> f b) -> s -> f t |
2023-07-29 17:56:04 +0200 | <ncf> | anyway the type of thing i'm trying to construct is fstTwice :: Thing (a, b) a; fstTwice k (a, b) = k a >>= \ a' -> k a' >>= \ a'' -> return (a'', b) |
2023-07-29 17:56:33 +0200 | notzmv | (~zmv@user/notzmv) |
2023-07-29 17:56:57 +0200 | <ncf> | :t \ k (a, b) -> k a >>= \ a' -> k a' >>= \ a'' -> return (a'', b) |
2023-07-29 17:56:58 +0200 | <lambdabot> | Monad m => (a -> m a) -> (a, b) -> m (a, b) |
2023-07-29 17:58:31 +0200 | <ncf> | by instantiating that at Identity you get a Setter that modifies fst twice, and by instantiating it at Writer [whatever] you get something like a Fold that returns fst twice |
2023-07-29 18:00:06 +0200 | <ncf> | but the goal is also to be able to merge two `Thing`s into one, like `adjoin` except safe. i don't know if this allows that |
2023-07-29 18:00:11 +0200 | <ncf> | sorry, thinking out loud |
2023-07-29 18:00:52 +0200 | <EvanR> | jq = jQuery? The famous monad? xD |
2023-07-29 18:01:24 +0200 | <ncf> | jq is googleable by now |
2023-07-29 18:01:47 +0200 | <EvanR> | ducked it |
2023-07-29 18:09:38 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 246 seconds) |
2023-07-29 18:14:36 +0200 | Sciencentistguy8 | (~sciencent@hacksoc/ordinary-member) |
2023-07-29 18:17:14 +0200 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) (Ping timeout: 260 seconds) |
2023-07-29 18:17:14 +0200 | Sciencentistguy8 | Sciencentistguy |
2023-07-29 18:25:00 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:18db:fb53:1602:b933) |
2023-07-29 18:35:28 +0200 | <ncf> | oh, duh: adjoin :: Thing a b -> Thing a b -> Thing a b; adjoin p q f a = p f a >>= q f |
2023-07-29 18:36:30 +0200 | <ncf> | Thing crucially has to be monomorphic, so no s t a b |
2023-07-29 18:37:58 +0200 | <ncf> | edwardk: have you ever thought about Monad m => (a -> m a) -> s -> m s ? |
2023-07-29 18:39:59 +0200 | ddellacosta | (~ddellacos@146.70.168.156) (Ping timeout: 260 seconds) |
2023-07-29 18:40:28 +0200 | ddellacosta | (~ddellacos@146.70.168.156) |
2023-07-29 18:40:42 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 18:54:14 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2023-07-29 18:54:35 +0200 | Guest6684 | (~finn@176-151-21-224.abo.bbox.fr) (Ping timeout: 264 seconds) |
2023-07-29 18:54:41 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
2023-07-29 18:55:37 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-092-082.46.114.pool.telefonica.de) |
2023-07-29 18:57:30 +0200 | fbytez | (~uid@user/fbytez) (Quit: byte byte) |
2023-07-29 18:58:38 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
2023-07-29 18:59:11 +0200 | fbytez | (~uid@user/fbytez) |
2023-07-29 19:03:08 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:18db:fb53:1602:b933) (Remote host closed the connection) |
2023-07-29 19:04:21 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-07-29 19:05:52 +0200 | bratwurst | (~dfadsva@2604:3d09:207f:f650::c3b) |
2023-07-29 19:06:10 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:18db:fb53:1602:b933) |
2023-07-29 19:07:09 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2023-07-29 19:07:50 +0200 | seeg123456 | (~seeg12345@64.176.64.83) () |
2023-07-29 19:12:58 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) (Ping timeout: 240 seconds) |
2023-07-29 19:13:33 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) |
2023-07-29 19:19:58 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-07-29 19:20:52 +0200 | lbseale | (~quassel@user/ep1ctetus) (Ping timeout: 260 seconds) |
2023-07-29 19:23:42 +0200 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-07-29 19:24:21 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:18db:fb53:1602:b933) (Remote host closed the connection) |
2023-07-29 19:24:36 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 245 seconds) |
2023-07-29 19:25:20 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
2023-07-29 19:26:29 +0200 | segfaultfizzbuzz | (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 246 seconds) |
2023-07-29 19:28:02 +0200 | razetime | (~quassel@117.193.5.197) (Remote host closed the connection) |
2023-07-29 19:34:35 +0200 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
2023-07-29 19:34:45 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) |
2023-07-29 19:34:55 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:18db:fb53:1602:b933) |
2023-07-29 19:35:29 +0200 | razetime | (~quassel@117.193.5.198) |
2023-07-29 19:42:32 +0200 | razetime | (~quassel@117.193.5.198) (Ping timeout: 244 seconds) |
2023-07-29 19:43:21 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 245 seconds) |
2023-07-29 19:45:35 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 264 seconds) |
2023-07-29 19:52:02 +0200 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 245 seconds) |
2023-07-29 19:53:35 +0200 | bontaq | (~user@ool-45779b84.dyn.optonline.net) (Ping timeout: 246 seconds) |
2023-07-29 19:58:00 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 20:02:32 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 246 seconds) |
2023-07-29 20:13:00 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2023-07-29 20:16:40 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:18db:fb53:1602:b933) (Remote host closed the connection) |
2023-07-29 20:18:20 +0200 | APic | (apic@apic.name) (Quit: Lost terminal) |
2023-07-29 20:18:23 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:18db:fb53:1602:b933) |
2023-07-29 20:18:58 +0200 | APic | (apic@apic.name) |
2023-07-29 20:19:12 +0200 | notzmv | (~zmv@user/notzmv) (Ping timeout: 260 seconds) |
2023-07-29 20:25:18 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2023-07-29 20:30:18 +0200 | Lycurgus | (~juan@user/Lycurgus) |
2023-07-29 20:30:49 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 20:31:57 +0200 | <[exa]> | STG question: where is the exact trick that allows looooooong foldl calls (without ') to _not_ run out of (argument) stack? And was it argument stack? |
2023-07-29 20:32:39 +0200 | <[exa]> | (I'm trying to find the difference between the old STG paper and the new STG representation that doesn't have this issue and I can't find this written explicitly anywhere) |
2023-07-29 20:33:16 +0200 | Lycurgus | (~juan@user/Lycurgus) () |
2023-07-29 20:39:02 +0200 | <dolio> | I'm not sure what you're talking about. |
2023-07-29 20:39:32 +0200 | <dolio> | Like, do you have a particular example? |
2023-07-29 20:40:16 +0200 | <monochrom> | I don't think it exists. |
2023-07-29 20:41:04 +0200 | <geekosaur> | I was surprised to hear this because of things like the recent change to `sum` to use `foldl'` which shouldn't have been necessary if such a trick existed? |
2023-07-29 20:41:38 +0200 | <geekosaur> | otherwise all I can think of is update frames but I don't think this is their use case |
2023-07-29 20:41:53 +0200 | <geekosaur> | (and squeezing update frames in particular) |
2023-07-29 20:42:04 +0200 | <monochrom> | Stack overflow is much less frequent in non-old GHC because non-old GHC sets stack size to be proportional to memory size, not because STG changed this. |
2023-07-29 20:42:21 +0200 | <[exa]> | ok maybe it was not foldl but scanl. I recall something caused older ghci to die with some stack overflow (but that's not the case for like 15 years now at least) |
2023-07-29 20:42:31 +0200 | <dolio> | Squeezing update frames is in old papers, though. |
2023-07-29 20:43:14 +0200 | gugu256 | (~gugu256@180.18.23.93.rev.sfr.net) (Read error: Connection reset by peer) |
2023-07-29 20:43:45 +0200 | <[exa]> | hm update frames... will check, thanks for the pointer |
2023-07-29 20:43:56 +0200 | lbseale | (~quassel@user/ep1ctetus) |
2023-07-29 20:44:26 +0200 | <[exa]> | anyway yeah the "exact trick" I meant is likely something that was implemented into haskells like 20 years ago :D |
2023-07-29 20:45:25 +0200 | <[exa]> | the one which does not have the trick is the 1989 paper on STG from SPJ and Jon Salkild |
2023-07-29 20:46:23 +0200 | <[exa]> | (all arguments are collected on a stack, so if you happen to jump to a sufficiently long application "spine", it should imo die. |
2023-07-29 20:46:40 +0200 | <monochrom> | `recursive_split xs = let (y, z) = splitAt 5 xs in y : recursive_split z` would be one that held up linear heap space a long long time ago but since then GC smartened up and crunched it down back to constant space. |
2023-07-29 20:46:49 +0200 | <monochrom> | But then that's heap not stack. |
2023-07-29 20:46:57 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2023-07-29 20:47:19 +0200 | <monochrom> | And it was in the GCer not in STG. |
2023-07-29 20:47:48 +0200 | <[exa]> | yeah |
2023-07-29 20:48:10 +0200 | Guest6684 | (~finn@81-67-22-3.rev.numericable.fr) |
2023-07-29 20:48:21 +0200 | <monochrom> | Automagically improving foldl would belong to strictness analysis and optimization, still not in STG. |
2023-07-29 20:48:34 +0200 | <monochrom> | epic insane strictness analysis. |
2023-07-29 20:49:39 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2023-07-29 20:50:06 +0200 | lbseale | (~quassel@user/ep1ctetus) (Ping timeout: 260 seconds) |
2023-07-29 20:50:53 +0200 | lbseale | (~quassel@user/ep1ctetus) |
2023-07-29 20:51:44 +0200 | trev | (~trev@user/trev) (Quit: trev) |
2023-07-29 20:52:47 +0200 | kristjansson_ | (sid126207@id-126207.tinside.irccloud.com) () |
2023-07-29 20:53:06 +0200 | [exa] | remembers there's stgi |
2023-07-29 20:57:07 +0200 | lbseale | (~quassel@user/ep1ctetus) (Ping timeout: 260 seconds) |
2023-07-29 20:57:30 +0200 | pavonia | (~user@user/siracusa) |
2023-07-29 20:58:01 +0200 | bontaq | (~user@ool-45779b84.dyn.optonline.net) |
2023-07-29 20:59:34 +0200 | lbseale | (~quassel@user/ep1ctetus) |
2023-07-29 21:00:46 +0200 | <[exa]> | ok yeah the link all the way down at stgi page helped |
2023-07-29 21:01:06 +0200 | <dolio> | The 89 paper you're talking about is apparently 'The Spineless G-Machine'. That predates Haskell, even. |
2023-07-29 21:01:17 +0200 | <[exa]> | it's in "Making a Fast Curry: Push/Enter vs. Eval/Apply for Higher-order Languages" |
2023-07-29 21:01:39 +0200 | <[exa]> | dolio: I meant this one, sorry for not posting the link, there's apparently more from 89 https://dl.acm.org/doi/pdf/10.1145/99370.99385 |
2023-07-29 21:01:48 +0200 | oo_miguel | (~Thunderbi@78-11-179-96.static.ip.netia.com.pl) |
2023-07-29 21:02:45 +0200 | <[exa]> | aaaaanyway in the eval/apply they can relatively cheaply push the arguments directly to the closures, which eliminates the need for stack and falls back to allocating more closures in case there isn't enough space and stuff can't get evaluated more |
2023-07-29 21:02:48 +0200 | lbseale | (~quassel@user/ep1ctetus) (Client Quit) |
2023-07-29 21:03:12 +0200 | <[exa]> | thanks for the pointers everyone |
2023-07-29 21:03:30 +0200 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
2023-07-29 21:04:14 +0200 | lbseale | (~quassel@user/ep1ctetus) |
2023-07-29 21:04:47 +0200 | <dolio> | Oh, did this have to do with compiling to C? |
2023-07-29 21:05:01 +0200 | <[exa]> | no, more likely how stg stores the stuff in memory |
2023-07-29 21:05:52 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2023-07-29 21:06:37 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 245 seconds) |
2023-07-29 21:08:42 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
2023-07-29 21:09:41 +0200 | perrierjouet | (~perrierjo@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 4.0.2) |
2023-07-29 21:10:08 +0200 | perrierjouet | (~perrierjo@modemcable048.127-56-74.mc.videotron.ca) |
2023-07-29 21:12:51 +0200 | <byorgey> | hgolden: I do usually recommend VS Code to my students. I'm aware the .lhs support is not the best (for example, when VS Code tries to automatically add imports it often screws up the formatting), I don't know of anything better though. |
2023-07-29 21:20:00 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) (Remote host closed the connection) |
2023-07-29 21:20:40 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) |
2023-07-29 21:29:59 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Quit: Leaving) |
2023-07-29 21:31:54 +0200 | lbseale | (~quassel@user/ep1ctetus) (Ping timeout: 252 seconds) |
2023-07-29 21:34:02 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 246 seconds) |
2023-07-29 21:34:25 +0200 | vgtw | (~vgtw@user/vgtw) (Ping timeout: 240 seconds) |
2023-07-29 21:34:26 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 260 seconds) |
2023-07-29 21:37:24 +0200 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 252 seconds) |
2023-07-29 21:44:28 +0200 | Guest6684 | (~finn@81-67-22-3.rev.numericable.fr) (Ping timeout: 244 seconds) |
2023-07-29 21:47:41 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 21:51:06 +0200 | segfaultfizzbuzz | (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
2023-07-29 21:51:57 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 260 seconds) |
2023-07-29 21:54:55 +0200 | ubert | (~Thunderbi@178.115.51.82.wireless.dyn.drei.com) |
2023-07-29 21:58:10 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-07-29 21:59:01 +0200 | phma_ | (phma@2001:5b0:211c:f748:3478:76f9:d3a9:cc0a) |
2023-07-29 22:02:06 +0200 | phma | (~phma@host-67-44-208-109.hnremote.net) (Ping timeout: 245 seconds) |
2023-07-29 22:03:37 +0200 | <hgolden> | byorgey: ty! |
2023-07-29 22:03:41 +0200 | wroathe | (~wroathe@50.205.197.50) |
2023-07-29 22:03:42 +0200 | wroathe | (~wroathe@50.205.197.50) (Changing host) |
2023-07-29 22:03:42 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-07-29 22:09:20 +0200 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
2023-07-29 22:10:26 +0200 | shapr | (~user@2600:1700:c640:3100:3262:7ed5:7:9da3) |
2023-07-29 22:10:42 +0200 | Guest5438 | (~finn@81-67-22-3.rev.numericable.fr) |
2023-07-29 22:13:37 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 22:18:04 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection) |
2023-07-29 22:18:26 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) (Remote host closed the connection) |
2023-07-29 22:19:14 +0200 | Pickchea | (~private@user/pickchea) |
2023-07-29 22:19:52 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2023-07-29 22:20:49 +0200 | lbseale | (~quassel@user/ep1ctetus) |
2023-07-29 22:20:59 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 264 seconds) |
2023-07-29 22:21:51 +0200 | notzmv | (~zmv@user/notzmv) |
2023-07-29 22:22:44 +0200 | waleee | (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) |
2023-07-29 22:32:26 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-092-082.46.114.pool.telefonica.de) (Ping timeout: 250 seconds) |
2023-07-29 22:35:02 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) |
2023-07-29 22:36:14 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2023-07-29 22:42:24 +0200 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
2023-07-29 22:43:10 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2023-07-29 22:43:11 +0200 | acidjnk | (~acidjnk@p200300d6e7072f74a4887092d5a58bfa.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
2023-07-29 22:43:27 +0200 | prateem | (~user@2a02:c7c:a440:2900:9aa1:484a:8f82:e5f4) |
2023-07-29 22:44:36 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:18db:fb53:1602:b933) (Remote host closed the connection) |
2023-07-29 22:46:32 +0200 | ubert1 | (~Thunderbi@178.115.51.82.wireless.dyn.drei.com) |
2023-07-29 22:51:26 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2023-07-29 23:02:33 +0200 | acidjnk | (~acidjnk@p200300d6e7072f74dd20c62d1ea21df4.dip0.t-ipconnect.de) |
2023-07-29 23:05:26 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
2023-07-29 23:14:02 +0200 | wroathe | (~wroathe@50.205.197.50) |
2023-07-29 23:14:02 +0200 | wroathe | (~wroathe@50.205.197.50) (Changing host) |
2023-07-29 23:14:02 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-07-29 23:15:19 +0200 | <EvanR> | i've updated my cargo cult understanding of ghc's update frames to cargo cult understanding of ghc's selector thunks, for explaining how scanl doesn't blow the stack/heap |
2023-07-29 23:15:49 +0200 | <EvanR> | I guess 20 years ago there was another story |
2023-07-29 23:16:23 +0200 | <EvanR> | 14 years ago I decidedly remember stack overflowing all the time |
2023-07-29 23:17:38 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 246 seconds) |
2023-07-29 23:17:40 +0200 | prateem | (~user@2a02:c7c:a440:2900:9aa1:484a:8f82:e5f4) (Read error: Connection reset by peer) |
2023-07-29 23:17:54 +0200 | prateem | (~user@2a02:c7c:a440:2900:9aa1:484a:8f82:e5f4) |
2023-07-29 23:19:38 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
2023-07-29 23:20:25 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-07-29 23:20:58 +0200 | <geekosaur> | as monochrom mentioned, since then ghc has changed to assign stack based on available memory instead of a fixed 8k(iirc) |
2023-07-29 23:21:12 +0200 | <geekosaur> | 8k is really easy to overflow |
2023-07-29 23:21:29 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-07-29 23:22:48 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:18db:fb53:1602:b933) |
2023-07-29 23:24:46 +0200 | <dolio> | Yeah. Nowadays you only stack overflow if your stack takes up like 80% of memory. And you probably have more memory than 14 years ago. |
2023-07-29 23:26:10 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 250 seconds) |
2023-07-29 23:27:14 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2023-07-29 23:31:12 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 23:35:19 +0200 | inedia | (~irc@2600:3c00:e000:287::1) (Quit: WeeChat 3.7.1) |
2023-07-29 23:35:33 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 244 seconds) |
2023-07-29 23:36:23 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-092-082.46.114.pool.telefonica.de) |
2023-07-29 23:39:07 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-07-29 23:39:40 +0200 | internatetional | (~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f) (Quit: WeeChat 4.0.2) |
2023-07-29 23:40:06 +0200 | internatetional | (~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f) |
2023-07-29 23:40:23 +0200 | dove | (~irc@2600:3c00:e000:287::1) |
2023-07-29 23:43:53 +0200 | Tlsx | (~rscastilh@187.40.124.54) |
2023-07-29 23:45:06 +0200 | tan00kee | (~paul@pauloliver.dev) |
2023-07-29 23:45:44 +0200 | tan00kee | (~paul@pauloliver.dev) (Client Quit) |
2023-07-29 23:47:05 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:18db:fb53:1602:b933) (Remote host closed the connection) |
2023-07-29 23:47:22 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:18db:fb53:1602:b933) |
2023-07-29 23:47:59 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2) |
2023-07-29 23:48:03 +0200 | ubert1 | (~Thunderbi@178.115.51.82.wireless.dyn.drei.com) (Quit: ubert1) |
2023-07-29 23:48:49 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-29 23:48:50 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
2023-07-29 23:49:18 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-07-29 23:49:22 +0200 | Tlsx | (~rscastilh@187.40.124.54) () |
2023-07-29 23:49:41 +0200 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
2023-07-29 23:51:12 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
2023-07-29 23:53:24 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |