Logs on 2023-05-09 (liberachat/#haskell)
| 00:05:30 | → | freeside joins (~mengwong@103.252.202.85) |
| 00:10:03 | × | freeside quits (~mengwong@103.252.202.85) (Ping timeout: 268 seconds) |
| 00:10:47 | × | pyook quits (~puke@user/puke) (Read error: Connection reset by peer) |
| 00:10:48 | × | jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer) |
| 00:12:13 | <Inst> | also, i'm trying to do FP in Python |
| 00:12:21 | <Inst> | my eyes are bleeding right now because all of a sudden, and this is a boon for laziness |
| 00:12:30 | × | zeenk quits (~zeenk@2a02:2f04:a105:f00::7fe) (Quit: Konversation terminated!) |
| 00:12:33 | <Inst> | I have to care about what order I'm doing my maps in |
| 00:17:56 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 250 seconds) |
| 00:20:07 | → | ava[m]1 joins (~ava2607ma@2001:470:69fc:105::3:5307) |
| 00:21:02 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 00:30:03 | → | freeside joins (~mengwong@103.252.202.85) |
| 00:34:33 | → | erisco joins (~erisco@d24-141-66-165.home.cgocable.net) |
| 00:34:43 | × | freeside quits (~mengwong@103.252.202.85) (Ping timeout: 268 seconds) |
| 00:38:21 | → | _leo___ joins (~emmanuelu@user/emmanuelux) |
| 00:40:29 | × | emmanuelux_ quits (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer) |
| 00:47:09 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 256 seconds) |
| 00:48:17 | → | pavonia joins (~user@user/siracusa) |
| 00:50:32 | × | mmhat quits (~mmh@p200300f1c706684eee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.8) |
| 00:56:11 | → | freeside joins (~mengwong@103.252.202.85) |
| 01:00:45 | × | freeside quits (~mengwong@103.252.202.85) (Ping timeout: 256 seconds) |
| 01:01:31 | × | tanyastopguy quits (~username@2600:1700:4010:6d20:3aea:f984:552:57de) (Remote host closed the connection) |
| 01:04:40 | × | johnw quits (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in) |
| 01:05:12 | → | johnw joins (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) |
| 01:05:50 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds) |
| 01:10:33 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:16:40 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:18:30 | × | _leo___ quits (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer) |
| 01:19:27 | → | _leo___ joins (~emmanuelu@user/emmanuelux) |
| 01:20:25 | × | p3n quits (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) (Ping timeout: 260 seconds) |
| 01:20:35 | × | xff0x quits (~xff0x@2405:6580:b080:900:7ba2:121c:2a4c:a692) (Ping timeout: 256 seconds) |
| 01:21:15 | → | p3n joins (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) |
| 01:28:02 | → | freeside joins (~mengwong@103.252.202.85) |
| 01:29:19 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 01:33:37 | × | freeside quits (~mengwong@103.252.202.85) (Ping timeout: 256 seconds) |
| 01:34:32 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:718d:894b:b41:1ab9) |
| 01:37:19 | × | learner-monad quits (~ehanneken@user/learner-monad) (Ping timeout: 260 seconds) |
| 01:38:53 | → | pyook joins (~puke@user/puke) |
| 01:39:05 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:718d:894b:b41:1ab9) (Ping timeout: 260 seconds) |
| 01:45:45 | × | waleee quits (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 240 seconds) |
| 01:46:08 | × | freeside1 quits (~mengwong@103.252.202.85) (Ping timeout: 240 seconds) |
| 01:56:05 | × | ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 01:58:54 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 01:59:49 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 02:01:37 | × | _leo___ quits (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
| 02:03:56 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 02:03:56 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:03:56 | finn_elija | is now known as FinnElija |
| 02:12:20 | → | Albina_Pavlovna joins (~Albina_Pa@2603-7000-76f0-76e0-f453-5744-a112-fdd6.res6.spectrum.com) |
| 02:13:31 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 02:15:26 | → | nate2 joins (~nate@98.45.169.16) |
| 02:18:23 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds) |
| 02:19:59 | → | freeside joins (~mengwong@103.252.202.151) |
| 02:21:16 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 02:21:25 | → | tanyastopguy joins (~tanyastop@2600:1700:4010:6d20:3aea:f984:552:57de) |
| 02:21:52 | × | td_ quits (~td@i53870906.versanet.de) (Ping timeout: 250 seconds) |
| 02:23:37 | → | td_ joins (~td@i53870936.versanet.de) |
| 02:25:56 | → | freeside_ joins (~mengwong@103.252.202.151) |
| 02:27:34 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 268 seconds) |
| 02:28:31 | × | Me-me quits (~me-me@2602:ff16:3:0:1:dc:beef:d00d) (Changing host) |
| 02:28:31 | → | Me-me joins (~me-me@user/me-me) |
| 02:29:36 | → | freeside joins (~mengwong@103.252.202.151) |
| 02:33:45 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 240 seconds) |
| 02:34:58 | × | freeside_ quits (~mengwong@103.252.202.151) (Ping timeout: 268 seconds) |
| 02:35:32 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:718d:894b:b41:1ab9) |
| 02:36:31 | × | p3n quits (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) (Ping timeout: 256 seconds) |
| 02:38:07 | → | p3n joins (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) |
| 02:42:25 | × | terrorjack quits (~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat) |
| 02:43:40 | × | Albina_Pavlovna quits (~Albina_Pa@2603-7000-76f0-76e0-f453-5744-a112-fdd6.res6.spectrum.com) (Quit: ZZZzzz…) |
| 02:43:57 | → | terrorjack joins (~terrorjac@2a01:4f8:c17:87f8::) |
| 02:48:25 | × | dsrt^ quits (~dsrt@c-76-105-96-13.hsd1.ga.comcast.net) (Read error: Connection reset by peer) |
| 02:49:20 | → | dsrt^ joins (~dsrt@c-76-105-96-13.hsd1.ga.comcast.net) |
| 03:01:36 | → | freeside joins (~mengwong@103.252.202.151) |
| 03:02:00 | × | vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Remote host closed the connection) |
| 03:02:22 | → | nick4 joins (~nick@2600:8807:9103:b700:d8e6:a031:6c5c:b040) |
| 03:02:27 | → | slack1256 joins (~slack1256@181.42.51.157) |
| 03:04:38 | → | vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
| 03:06:48 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 240 seconds) |
| 03:10:08 | × | vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 240 seconds) |
| 03:11:04 | → | goodtimeswithtom joins (~goodtimes@2600:1700:4010:6d20:3aea:f984:552:57de) |
| 03:14:22 | → | freeside joins (~mengwong@103.252.202.151) |
| 03:14:41 | × | jero98772 quits (~jero98772@2800:484:1d84:9000::2) (Remote host closed the connection) |
| 03:16:03 | → | Albina_Pavlovna joins (~Albina_Pa@047-230-050-118.res.spectrum.com) |
| 03:16:09 | × | Albina_Pavlovna quits (~Albina_Pa@047-230-050-118.res.spectrum.com) (Client Quit) |
| 03:16:48 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 03:17:41 | → | vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
| 03:19:22 | × | nate2 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
| 03:20:09 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 256 seconds) |
| 03:22:08 | × | vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 248 seconds) |
| 03:22:08 | × | roboguy_ quits (~roboguy_@cpe-69-76-235-109.kc.res.rr.com) (Quit: Leaving...) |
| 03:22:31 | → | freeside joins (~mengwong@103.252.202.151) |
| 03:27:28 | × | goodtimeswithtom quits (~goodtimes@2600:1700:4010:6d20:3aea:f984:552:57de) (Quit: Client closed) |
| 03:28:01 | → | Guest4444 joins (~Guest44@101.78.229.4) |
| 03:28:19 | Guest4444 | is now known as ycli |
| 03:30:13 | × | ycli quits (~Guest44@101.78.229.4) (Client Quit) |
| 03:30:18 | × | gabiruh quits (~gabiruh@vps19177.publiccloud.com.br) (Quit: ZNC 1.7.5 - https://znc.in) |
| 03:30:36 | → | gabiruh joins (~gabiruh@vps19177.publiccloud.com.br) |
| 03:31:20 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
| 03:34:20 | → | freeside_ joins (~mengwong@103.252.202.151) |
| 03:35:32 | → | goodtimeswithtom joins (~goodtimes@2600:1700:4010:6d20:3aea:f984:552:57de) |
| 03:36:12 | → | shailangsa joins (~shailangs@host86-186-136-24.range86-186.btcentralplus.com) |
| 03:36:27 | → | vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
| 03:42:25 | × | vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 240 seconds) |
| 03:42:25 | × | freeside_ quits (~mengwong@103.252.202.151) (Ping timeout: 240 seconds) |
| 03:50:55 | × | rf quits (~rf@2605:59c8:179c:f610:3bd2:4ecb:9b16:aa4f) (Ping timeout: 260 seconds) |
| 03:54:41 | × | goodtimeswithtom quits (~goodtimes@2600:1700:4010:6d20:3aea:f984:552:57de) (Quit: Client closed) |
| 03:57:01 | → | freeside_ joins (~mengwong@103.252.202.151) |
| 04:01:39 | × | freeside_ quits (~mengwong@103.252.202.151) (Ping timeout: 265 seconds) |
| 04:06:26 | → | vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
| 04:07:28 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 04:11:04 | × | vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 250 seconds) |
| 04:15:17 | → | notzmv joins (~zmv@user/notzmv) |
| 04:20:37 | → | mbuf joins (~Shakthi@49.207.178.186) |
| 04:27:28 | × | nick4 quits (~nick@2600:8807:9103:b700:d8e6:a031:6c5c:b040) (Ping timeout: 240 seconds) |
| 04:28:49 | × | cheater quits (~Username@user/cheater) (Remote host closed the connection) |
| 04:30:45 | → | vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
| 04:34:38 | → | cheater joins (~Username@user/cheater) |
| 04:35:50 | × | vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 268 seconds) |
| 04:36:42 | → | cheater_ joins (~Username@user/cheater) |
| 04:39:13 | × | cheater quits (~Username@user/cheater) (Ping timeout: 250 seconds) |
| 04:39:18 | cheater_ | is now known as cheater |
| 04:41:41 | → | freeside_ joins (~mengwong@103.252.202.151) |
| 04:46:00 | × | zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection) |
| 04:46:19 | × | freeside_ quits (~mengwong@103.252.202.151) (Ping timeout: 268 seconds) |
| 04:48:06 | → | zaquest joins (~notzaques@5.130.79.72) |
| 04:51:56 | → | califax_ joins (~califax@user/califx) |
| 04:52:27 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 04:52:48 | × | gmg quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 04:54:08 | × | califax quits (~califax@user/califx) (Ping timeout: 240 seconds) |
| 04:54:08 | califax_ | is now known as califax |
| 05:04:57 | → | vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
| 05:08:18 | → | bgs joins (~bgs@212-85-160-171.dynamic.telemach.net) |
| 05:09:20 | × | vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 248 seconds) |
| 05:15:45 | → | michalz joins (~michalz@185.246.207.218) |
| 05:22:08 | × | slack1256 quits (~slack1256@181.42.51.157) (Remote host closed the connection) |
| 05:22:48 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 05:29:07 | → | trev joins (~trev@user/trev) |
| 05:38:08 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection) |
| 05:44:05 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 256 seconds) |
| 05:45:56 | → | freeside joins (~mengwong@103.252.202.151) |
| 05:48:07 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 05:52:49 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 265 seconds) |
| 05:54:00 | → | freeside joins (~mengwong@103.252.202.151) |
| 05:54:09 | → | chomwitt joins (~chomwitt@2a02:587:7a14:af00:9080:176a:ae9d:81cc) |
| 05:56:04 | → | vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
| 05:58:15 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 256 seconds) |
| 06:00:47 | × | vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 264 seconds) |
| 06:01:17 | → | freeside joins (~mengwong@103.252.202.151) |
| 06:04:11 | → | freeside_ joins (~mengwong@103.252.202.151) |
| 06:04:38 | × | monochrom quits (trebla@216.138.220.146) (Ping timeout: 268 seconds) |
| 06:07:23 | → | monochrom joins (trebla@216.138.220.146) |
| 06:08:54 | × | bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
| 06:08:57 | × | freeside_ quits (~mengwong@103.252.202.151) (Ping timeout: 268 seconds) |
| 06:08:59 | → | titibandit joins (~titibandi@user/titibandit) |
| 06:10:09 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 256 seconds) |
| 06:26:02 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 06:36:37 | → | falafel joins (~falafel@2603-8000-d700-115c-6069-6909-c684-7d8e.res6.spectrum.com) |
| 06:38:25 | <jade[m]1> | haha |
| 06:39:13 | × | falafel quits (~falafel@2603-8000-d700-115c-6069-6909-c684-7d8e.res6.spectrum.com) (Remote host closed the connection) |
| 06:40:03 | × | iteratee quits (~kyle@162.218.222.207) (Read error: Connection reset by peer) |
| 06:40:09 | → | falafel joins (~falafel@2603-8000-d700-115c-6069-6909-c684-7d8e.res6.spectrum.com) |
| 06:40:50 | × | titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection) |
| 06:43:30 | → | freeside joins (~mengwong@202.161.55.11) |
| 06:43:49 | → | iteratee joins (~kyle@162.218.222.207) |
| 06:45:17 | → | freeside_ joins (~mengwong@103.252.202.151) |
| 06:46:41 | → | vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
| 06:47:44 | → | wiosna joins (~karangura@c-73-93-95-154.hsd1.ca.comcast.net) |
| 06:49:24 | → | acidjnk joins (~acidjnk@p200300d6e7072f24c1846b175da7e4e4.dip0.t-ipconnect.de) |
| 06:51:30 | × | vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 268 seconds) |
| 06:51:55 | × | wiosna quits (~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 248 seconds) |
| 06:52:18 | × | freeside_ quits (~mengwong@103.252.202.151) (Ping timeout: 265 seconds) |
| 06:54:30 | → | oo_miguel joins (~Thunderbi@77.252.47.78) |
| 07:00:35 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 256 seconds) |
| 07:13:28 | <chreekat> | I think it's nice that I don't have to reason about evaluation order. I don't think that's just thanks to purity. The function that's nice to write is also the function that solves the business needs in most circumstances. But I do think learning to deal with space leaks needs to happen a lot sooner in Haskell education. If we raised the overall level of understanding (and tooling), it wouldn't be any worse than other practical, unavoidable |
| 07:13:28 | <chreekat> | problems in computer engineering |
| 07:16:13 | → | nate2 joins (~nate@98.45.169.16) |
| 07:17:53 | <Athas> | Well sure, all tools have problems. I will say that space leaks have some subtleties that make them worse than the equivalent in your bog standard strict language. |
| 07:18:50 | → | vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
| 07:18:57 | <maralorn> | Yeah, I'd agree that laziness would be clearly superior if space leaks weren't a problem. I remember Edsko saying that 50% of welltypeds consulting work is fixing space leaks. |
| 07:20:14 | <maralorn> | So it definitely is a trade off. |
| 07:20:54 | <Athas> | I wonder how often an enterprise Java consultancy is hired to fix null pointer exceptions. |
| 07:21:07 | <Athas> | Or, uh, malformed XML? I really have no idea what the problems are in that space. |
| 07:21:15 | × | nate2 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
| 07:22:03 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 07:23:10 | <maralorn> | A good C programmer has to be a memory safety wizard a good Haskell programmer has to be a memory efficiency wizard... |
| 07:23:35 | × | vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 260 seconds) |
| 07:24:36 | <jade[m]1> | I feel like the problem with space leaks is that you won't notice unless you monitor it |
| 07:24:36 | <maralorn> | But yeah that's why we should really focus on teaching people stuff like nothunk, strict data types and memory profiling. |
| 07:24:41 | → | CiaoSen joins (~Jura@dynamic-046-114-219-059.46.114.pool.telefonica.de) |
| 07:25:31 | <c_wraith> | I still think it should be easy to design tooling to warn people when they're doing something foolish, because I can tell immediately when I look at code if it was written by someone who understood laziness or not. |
| 07:25:40 | <jade[m]1> | jade[m]1: so you have to know about it to even suspect there might be space leaks |
| 07:25:52 | <c_wraith> | But whenever I try to hammer out exactly what the rules are, it's hard. |
| 07:26:00 | <jade[m]1> | mhm |
| 07:26:04 | → | mncheck joins (~mncheck@193.224.205.254) |
| 07:26:37 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 07:26:38 | <c_wraith> | but like... strict data? ugh. I get so sick of libraries fobbing their work off on me like that. |
| 07:27:20 | <Athas> | Memory safety is obviously a huge problem in C, but there are tools (Valgrind, ASAN) that can detect problems when they occur. In Haskell, a "space leak" cannot be rigorously defined, so tooling is difficult to construct. |
| 07:27:34 | → | ccapndave joins (~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch) |
| 07:27:37 | <Athas> | Detonating the program whenever a thunk is created is obviously not useful. |
| 07:28:51 | <jade[m]1> | what are some resources that one can read to get better in working with laziness and avoiding space leaks? |
| 07:28:51 | <jade[m]1> | Or is it more experience and intuition? |
| 07:29:43 | <maralorn> | c_wraith: What do you mean with fobbing work onto you? |
| 07:30:17 | → | ubert joins (~Thunderbi@p200300ecdf42c686843d6adf8e2b9083.dip0.t-ipconnect.de) |
| 07:30:33 | <c_wraith> | maralorn: I mean I'm tired of libraries adding too much strictness and breaking my correct use of their correct laziness. The developers could have just written correct code instead. |
| 07:30:51 | <chreekat> | jade: I think if you use heap profiling and eventlog2html a couple times you'll already be ahead of the curve |
| 07:31:05 | <Athas> | I too often wish that other people wrote correct code all the time. |
| 07:31:14 | → | zeenk joins (~zeenk@2a02:2f04:a105:f00::7fe) |
| 07:31:17 | <sm> | jade: there have been one or two good guides written .. possobly searching the haskell reddit will find them |
| 07:31:31 | <c_wraith> | jade[m]1: this is the most important one: https://apfelmus.nfshost.com/blog/2013/08/21-space-invariants.html |
| 07:31:39 | <chreekat> | The trouble is that I had to stop and try to remember the name of eventlog2html, and I don't entirely remember how to enable heap profiling, and I'm not sure if there aren't better tools. ghc-debug is getting more useful |
| 07:31:56 | <chreekat> | These are the seemingly-simple things we could do to actually make space leaks less daunting |
| 07:33:35 | → | merijn joins (~merijn@c-001-001-013.client.esciencecenter.eduvpn.nl) |
| 07:37:10 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 07:45:40 | × | ubert quits (~Thunderbi@p200300ecdf42c686843d6adf8e2b9083.dip0.t-ipconnect.de) (Quit: ubert) |
| 07:46:57 | <jade[m]1> | <c_wraith> "jade: this is the most important..." <- Thank you very much, that was an interesting read. I need to think about some of the stuff presented in more depth though. |
| 07:46:57 | <jade[m]1> | What gave me a very interesting insight is the reason that `seq` takes two values, in a sense that it's linking them and _not_ "evaluating" one of them |
| 07:47:47 | → | cfricke joins (~cfricke@user/cfricke) |
| 07:48:22 | <c_wraith> | yeah, that's incredibly important to understand. |
| 07:50:21 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:6722:77f:2791:a818) |
| 07:52:51 | → | vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
| 07:54:11 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 07:58:08 | → | titibandit joins (~titibandi@user/titibandit) |
| 07:58:20 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 08:00:05 | × | vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 256 seconds) |
| 08:04:51 | × | marinelli quits (~weechat@gateway/tor-sasl/marinelli) (Quit: marinelli) |
| 08:05:18 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 08:07:28 | × | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 240 seconds) |
| 08:07:29 | <maralorn> | The article says any implementation of lookup of the form lookup key container = container `seq` ... fulfills the strictness property ∀ key. (lookup key container = ⊥ → container = ⊥) |
| 08:07:39 | <maralorn> | I don't see it. |
| 08:08:48 | <maralorn> | Which means I am not sure I understand the difference between space invariants and strictness. |
| 08:09:46 | → | MajorBiscuit joins (~MajorBisc@2001:1c00:2492:e200:561f:c4dd:78fa:8040) |
| 08:10:10 | <maralorn> | Isn't a is in WHNF implies b is in WHNF equivalent to b is bottom implies a is bottom? |
| 08:10:16 | → | dontdieych joins (~alarm@132.226.169.184) |
| 08:10:19 | × | falafel quits (~falafel@2603-8000-d700-115c-6069-6909-c684-7d8e.res6.spectrum.com) (Ping timeout: 248 seconds) |
| 08:11:04 | × | ccapndave quits (~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch) (Quit: Textual IRC Client: www.textualapp.com) |
| 08:11:25 | <maralorn> | Well, yeah I am not convinced either in the abstract. Still wonder if it is true enough under reasonable assumptions. |
| 08:14:12 | × | MajorBiscuit quits (~MajorBisc@2001:1c00:2492:e200:561f:c4dd:78fa:8040) (Client Quit) |
| 08:14:16 | <[Leary]> | maralorn: Maybe the bracketing is wrong? (forall key. lookup key container = _|_) ==> container = _|_ |
| 08:15:33 | → | MajorBiscuit joins (~MajorBisc@2001:1c00:2492:e200:561f:c4dd:78fa:8040) |
| 08:15:46 | <maralorn> | [Leary]: That's a much less interesting property. |
| 08:17:58 | <maralorn> | c_wraith: It seems to me the article is saying that space invariants are a good solution. Making data types strict is introducing a space invariant. So why don't you like it when libraries do that? |
| 08:18:45 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 08:19:42 | × | MajorBiscuit quits (~MajorBisc@2001:1c00:2492:e200:561f:c4dd:78fa:8040) (Client Quit) |
| 08:20:17 | × | zeenk quits (~zeenk@2a02:2f04:a105:f00::7fe) (Remote host closed the connection) |
| 08:20:20 | → | MajorBiscuit joins (~MajorBisc@2001:1c00:2492:e200:561f:c4dd:78fa:8040) |
| 08:20:40 | → | zeenk joins (~zeenk@2a02:2f04:a105:f00::fba) |
| 08:22:41 | × | gehmehgeh quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 08:24:08 | × | pharonix71 quits (~pharonix7@user/pharonix71) (Ping timeout: 240 seconds) |
| 08:24:14 | <c_wraith> | maralorn: because it's usually the wrong space invariant in libraries. A library shouldn't assume it knows better than its user about when the user is allowed to tie knots. So I'd prefer have the space invariants be on the functions, not the data structure itself. Let users use Haskell. |
| 08:24:40 | → | pharonix71 joins (~pharonix7@user/pharonix71) |
| 08:24:40 | <maralorn> | I see. |
| 08:25:28 | <c_wraith> | About the only time I want the data structure itself to own the strictness is in cases where you want to take advantage of unpacking small fields. |
| 08:26:35 | <maralorn> | Does the same apply for application code? I decided to make my longrunning state leak safe by making the datatype completely strict. Do you think it would be better to carefully make all functions on the state strict? |
| 08:28:48 | <c_wraith> | better? absolutely. I think basically every definition have its space invariants documented. Now, in the real world... If you've already got a lot of code, I'd totally understand if retrofitting existing code is more work than it's worth |
| 08:29:08 | <merijn> | maralorn: I think it is best to make concious decisions about strict vs lazy |
| 08:29:12 | <fbytez> | What's the typical method to convert a ByteString to a String? |
| 08:29:36 | <merijn> | fbytez: Well, the typical method is to not, because you typically convert to Text |
| 08:29:51 | <merijn> | fbytez: Although going from Text to String is trivial if it's really required |
| 08:30:36 | <tomsmeding> | (there is a direct route via https://hackage.haskell.org/package/utf8-string , but composing Data.Text.unpack and Data.Text.Encoding.decode* is probably not worse) |
| 08:30:39 | → | mmhat joins (~mmh@p200300f1c706684eee086bfffe095315.dip0.t-ipconnect.de) |
| 08:30:39 | <merijn> | maralorn: if, for example, your state is relatively small then making everything strict to force it to be small is the way to go, yes |
| 08:31:17 | <maralorn> | c_wraith: The expected pay off would be a bit more performance? |
| 08:31:38 | <maralorn> | merijn: My state is sadly frightingly big. |
| 08:31:51 | <maralorn> | 10MB or so. |
| 08:32:37 | <c_wraith> | I wouldn't expect it to perform better to have explicit space invariants unless you're in a very weird case. I'd just expect the behavior to be more... explicit. |
| 08:34:34 | → | freeside_ joins (~mengwong@103.252.202.151) |
| 08:35:04 | × | mmhat quits (~mmh@p200300f1c706684eee086bfffe095315.dip0.t-ipconnect.de) (Client Quit) |
| 08:35:08 | × | pharonix71 quits (~pharonix7@user/pharonix71) (Remote host closed the connection) |
| 08:37:28 | <fbytez> | tomsmeding, merijn, Thanks. |
| 08:37:31 | → | pharonix71 joins (~pharonix7@user/pharonix71) |
| 08:38:23 | <merijn> | fbytez: Data.Text.Encoding from text has decoders for UTF-8/16/32 |
| 08:39:11 | × | freeside_ quits (~mengwong@103.252.202.151) (Ping timeout: 256 seconds) |
| 08:40:31 | × | michalz quits (~michalz@185.246.207.218) (Remote host closed the connection) |
| 08:42:33 | → | MasseR46 joins (thelounge@2001:bc8:62c:1e19::1) |
| 08:42:47 | × | chomwitt quits (~chomwitt@2a02:587:7a14:af00:9080:176a:ae9d:81cc) (Ping timeout: 264 seconds) |
| 08:44:33 | → | vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
| 08:46:16 | → | michalz joins (~michalz@185.246.207.205) |
| 08:48:49 | × | vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 250 seconds) |
| 08:56:49 | × | michalz quits (~michalz@185.246.207.205) (Remote host closed the connection) |
| 08:58:42 | → | ubert joins (~Thunderbi@2a02:8109:abc0:6434:81f:756b:c2fe:5d83) |
| 08:59:32 | → | use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:4165:ceb6:19a8:1e1e) |
| 09:01:26 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:718d:894b:b41:1ab9) (Remote host closed the connection) |
| 09:05:48 | → | michalz joins (~michalz@185.246.207.197) |
| 09:07:23 | × | pharonix71 quits (~pharonix7@user/pharonix71) (Remote host closed the connection) |
| 09:07:55 | → | pharonix71 joins (~pharonix7@user/pharonix71) |
| 09:09:13 | × | shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 256 seconds) |
| 09:09:48 | → | notzmv joins (~zmv@user/notzmv) |
| 09:17:05 | × | mei quits (~mei@user/mei) (Ping timeout: 240 seconds) |
| 09:17:06 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 09:17:24 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 09:26:41 | → | __monty__ joins (~toonn@user/toonn) |
| 09:28:33 | × | pharonix71 quits (~pharonix7@user/pharonix71) (Remote host closed the connection) |
| 09:28:59 | → | pharonix71 joins (~pharonix7@user/pharonix71) |
| 09:46:10 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 09:48:48 | × | titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection) |
| 09:52:10 | <maralorn> | c_wraith: I wondered mainly whether it performs better than using strict datatypes. |
| 09:53:38 | → | vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
| 09:53:48 | <maralorn> | Which have the nice property of enforcing space invariants on the type level. |
| 09:54:02 | → | chomwitt joins (~chomwitt@ppp-94-67-206-188.home.otenet.gr) |
| 09:56:04 | → | freeside_ joins (~mengwong@103.252.202.151) |
| 09:57:45 | <maralorn> | I am still quite confused about the performance implications of laziness because people say laziness is great for performance, which makes total sense if it avoids unnecessary computation or helps keeping the memory footprint low, but in situations where those two don't apply it is my impression that ghc does a lot of strictness analysis and thus can make code faster if it is stricter? |
| 09:57:48 | × | vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 240 seconds) |
| 10:00:28 | × | freeside_ quits (~mengwong@103.252.202.151) (Ping timeout: 240 seconds) |
| 10:01:32 | <geekosaur> | the "faster if stricter" aspect mostly comes from using unboxed values where possible, thereby avoiding a pointer indirection per access |
| 10:01:51 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 10:01:56 | <geekosaur> | laziness operates in the large, strictness in the small |
| 10:05:44 | → | zer0bitz_ joins (~zer0bitz@2001:2003:f443:d600:cc73:5fe2:e3b9:4425) |
| 10:06:36 | × | eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds) |
| 10:07:01 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 256 seconds) |
| 10:07:35 | × | zer0bitz quits (~zer0bitz@2001:2003:f443:d600:14e6:e58c:1d60:2677) (Ping timeout: 256 seconds) |
| 10:09:17 | × | ddellacosta quits (~ddellacos@146.70.185.10) (Ping timeout: 256 seconds) |
| 10:09:18 | → | chele joins (~chele@user/chele) |
| 10:11:24 | → | ddellacosta joins (~ddellacos@146.70.166.177) |
| 10:16:07 | → | maroloccio joins (~marolocci@90.167.166.125) |
| 10:19:41 | <maralorn> | Makes sense. |
| 10:21:09 | <maralorn> | So the recommendation I’d expect is "it depends" what I often hear is "don’t sacrifice laziness" |
| 10:22:50 | <[exa]> | "it depends" mostly on what the compiler is able to assume as a safely&usefully strict operation |
| 10:23:06 | <geekosaur> | right. the recommendation I most hear is "examine the core" |
| 10:24:10 | <geekosaur> | of course that's not especially convenient |
| 10:24:17 | × | ft quits (~ft@p4fc2a88b.dip0.t-ipconnect.de) (Quit: leaving) |
| 10:24:31 | <geekosaur> | since core is kinda its own language and requires some experience to understand |
| 10:25:50 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 260 seconds) |
| 10:26:44 | → | vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
| 10:26:52 | <maralorn> | I mean that’s why I love the "use strict datatypes" approach. You have all the guarantees you need on the type level. |
| 10:28:12 | <maralorn> | Inspecting the core seems tedious even if you are good at it. A large code base has a lot of core. "Read the assembler if you want to be sure your C code is good" seems quite annoying. There have to be shortcuts and heuristics to circumvent that in most situations. |
| 10:29:53 | <[exa]> | I wish we had something that just annotated the code with "this has generated 4321 thunks that have been evaluated 1234 times" |
| 10:31:12 | <[exa]> | anyway the strict datatypes by default often kinda defeat the purpose of laziness; you are often better off with just inserting a few deepseq's into the pipeline |
| 10:31:23 | × | vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 256 seconds) |
| 10:34:22 | <maralorn> | [exa]: That’s a nice heuristic. Although in the case of my program it was a grave mistake. As I said I have 10MB of state and I called deepseq on it 1 million times, (once after each state transition). |
| 10:34:59 | × | maroloccio quits (~marolocci@90.167.166.125) (Quit: WeeChat 3.7.1) |
| 10:35:24 | <maralorn> | Otoh batching state transitions and only deepseqing after lets say a few hundred sounds like a lot of small space leaks instead of one big one. |
| 10:36:17 | <maralorn> | Also if only a small part of the state changes with every transition, then deepseqing everything is probably duplicating work. |
| 10:40:46 | <[exa]> | yeah doing deepseq too much is probably not a good usecase |
| 10:48:00 | → | wiosna joins (~karangura@c-73-93-95-154.hsd1.ca.comcast.net) |
| 10:48:04 | → | Feuermagier joins (~Feuermagi@user/feuermagier) |
| 10:51:11 | × | CiaoSen quits (~Jura@dynamic-046-114-219-059.46.114.pool.telefonica.de) (Ping timeout: 246 seconds) |
| 10:52:16 | × | wiosna quits (~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 248 seconds) |
| 10:55:55 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 11:00:28 | → | vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
| 11:05:04 | × | vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 248 seconds) |
| 11:05:41 | → | freeside_ joins (~mengwong@103.252.202.151) |
| 11:05:59 | → | gurkenglas joins (~gurkengla@dynamic-089-204-139-070.89.204.139.pool.telefonica.de) |
| 11:08:04 | → | xff0x joins (~xff0x@2405:6580:b080:900:df5d:59c:37fd:3926) |
| 11:10:30 | × | freeside_ quits (~mengwong@103.252.202.151) (Ping timeout: 268 seconds) |
| 11:11:47 | <Athas> | Sweet, cabal-install 3.10 finally made it into Nixpkgs master. |
| 11:11:57 | <Athas> | Now I no longer need to use a locally installed one to get XDG support. |
| 11:13:55 | → | marinelli joins (~weechat@gateway/tor-sasl/marinelli) |
| 11:17:43 | → | nate2 joins (~nate@98.45.169.16) |
| 11:19:13 | <maralorn> | Athas: Afaict cabal-install has been on nixpkgs master since March 30th, 2 weeks after it got released to hackage. |
| 11:20:10 | <maralorn> | *cabal-install 3.10 |
| 11:21:41 | → | nschoe joins (~q@82-65-202-30.subs.proxad.net) |
| 11:22:56 | × | nate2 quits (~nate@98.45.169.16) (Ping timeout: 265 seconds) |
| 11:26:35 | × | nschoe quits (~q@82-65-202-30.subs.proxad.net) (Ping timeout: 256 seconds) |
| 11:26:53 | → | nschoe joins (~q@2a01:e0a:8e:a190:73b5:77b:3a08:becb) |
| 11:29:03 | <Athas> | Right, but I'm on... uh, whatever the 'nixpkgs' channel is called. |
| 11:29:13 | × | __monty__ quits (~toonn@user/toonn) (Ping timeout: 265 seconds) |
| 11:29:25 | <Athas> | Wait no, nixos-unstable. |
| 11:30:55 | → | freeside_ joins (~mengwong@103.252.202.151) |
| 11:32:29 | × | gurkenglas quits (~gurkengla@dynamic-089-204-139-070.89.204.139.pool.telefonica.de) (Ping timeout: 246 seconds) |
| 11:35:39 | × | freeside_ quits (~mengwong@103.252.202.151) (Ping timeout: 256 seconds) |
| 11:39:34 | → | gurkenglas joins (~gurkengla@dynamic-089-204-139-070.89.204.139.pool.telefonica.de) |
| 11:39:44 | <maralorn> | Well that normally lags about 3 days behind master. I mean I am happy that you are happy. Just wanted to remark that the "finally" happened a bit earlier than you noticed. |
| 11:42:17 | → | vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
| 11:54:42 | → | freeside_ joins (~mengwong@103.252.202.151) |
| 11:56:38 | → | titibandit joins (~titibandi@user/titibandit) |
| 11:56:47 | × | vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Remote host closed the connection) |
| 11:57:23 | → | vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
| 11:59:15 | → | kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be) |
| 11:59:22 | × | vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Remote host closed the connection) |
| 11:59:34 | → | vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
| 12:00:12 | × | vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Remote host closed the connection) |
| 12:00:19 | × | freeside_ quits (~mengwong@103.252.202.151) (Ping timeout: 260 seconds) |
| 12:10:46 | → | vulfe joins (~vulfe@168.91.196.163) |
| 12:11:02 | × | vulfe quits (~vulfe@168.91.196.163) (Remote host closed the connection) |
| 12:11:15 | → | vulfe joins (~vulfe@168.91.196.163) |
| 12:14:12 | × | freeside quits (~mengwong@202.161.55.11) (Ping timeout: 265 seconds) |
| 12:18:22 | × | jargon quits (~jargon@184.101.78.160) (Remote host closed the connection) |
| 12:22:06 | → | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 12:26:28 | × | pyook quits (~puke@user/puke) (Remote host closed the connection) |
| 12:26:45 | → | pyook joins (~puke@user/puke) |
| 12:27:06 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 12:32:31 | → | freeside joins (~mengwong@103.252.202.151) |
| 12:36:48 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 248 seconds) |
| 12:37:20 | → | notzmv joins (~zmv@user/notzmv) |
| 12:52:58 | → | szkl joins (uid110435@id-110435.uxbridge.irccloud.com) |
| 12:54:49 | → | elain4 joins (~textual@2601:5c1:4402:cd30:99ae:6dbf:fe1:e05a) |
| 12:56:18 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.8) |
| 12:58:50 | → | freeside joins (~mengwong@103.252.202.151) |
| 12:58:56 | → | freeside_ joins (~mengwong@103.252.202.151) |
| 13:04:57 | × | nschoe quits (~q@2a01:e0a:8e:a190:73b5:77b:3a08:becb) (Ping timeout: 256 seconds) |
| 13:07:05 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 240 seconds) |
| 13:11:11 | × | freeside_ quits (~mengwong@103.252.202.151) (Ping timeout: 256 seconds) |
| 13:13:51 | × | elain4 quits (~textual@2601:5c1:4402:cd30:99ae:6dbf:fe1:e05a) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 13:16:33 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 265 seconds) |
| 13:20:43 | × | acidjnk quits (~acidjnk@p200300d6e7072f24c1846b175da7e4e4.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 13:20:49 | → | freeside joins (~mengwong@103.252.202.151) |
| 13:21:14 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 13:24:01 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 13:24:10 | → | JScript2 joins (~JScript@cpe-172-193-181-254.qld.foxtel.net.au) |
| 13:24:21 | <JScript2> | how do i update base |
| 13:25:08 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 240 seconds) |
| 13:26:05 | <JScript2> | cabal install base --lib base |
| 13:26:05 | <JScript2> | Resolving dependencies... |
| 13:26:05 | <JScript2> | Up to date |
| 13:26:45 | → | alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-e916-5c4e-9cb1-6957.rev.sfr.net) |
| 13:26:47 | <merijn> | JScript2: You don't |
| 13:26:52 | <merijn> | JScript2: base is tied into GHC |
| 13:27:10 | <merijn> | So you can only update it by switching to a newer compiler |
| 13:27:22 | → | elain4 joins (~textual@2601:5c1:4402:cd30:99ae:6dbf:fe1:e05a) |
| 13:27:53 | → | taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-e916-5c4e-9cb1-6957.rev.sfr.net) |
| 13:28:50 | <JScript2> | The Glorious Glasgow Haskell Compilation System, version 9.2.7 |
| 13:29:11 | × | taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-e916-5c4e-9cb1-6957.rev.sfr.net) (Client Quit) |
| 13:29:12 | <JScript2> | rejecting: base-4.16.4.0/installed-4.16.4.0 (conflict: darcs => base>=4.10 && <4.16) |
| 13:30:05 | × | taupiqueur1 quits (~taupiqueu@2a02-842a-8180-4601-64af-550d-b7f1-261b.rev.sfr.net) (Ping timeout: 246 seconds) |
| 13:30:24 | <merijn> | darcs requires based older than 4.16, and 9.2 ships with 4.16, so you either downgrade to 8.10 or 9.0 or, alternatively, you could build darcs with "--allow-newer=base" and cross your fingers that works |
| 13:30:40 | <JScript2> | qwq |
| 13:31:34 | <merijn> | I mean, it probably will, I don't think there've been big changes to base recently |
| 13:37:09 | <JScript2> | ill try 9.0.2 |
| 13:38:33 | → | freeside joins (~mengwong@103.252.202.151) |
| 13:39:13 | × | alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-e916-5c4e-9cb1-6957.rev.sfr.net) (Remote host closed the connection) |
| 13:42:55 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 256 seconds) |
| 13:43:00 | <JScript2> | why tf is haskell so difficult to debug ;-; |
| 13:43:04 | × | dtman34 quits (~dtman34@2601:447:d000:93c9:aba0:2b0:9983:9568) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in) |
| 13:43:25 | → | dtman34 joins (~dtman34@2601:447:d000:93c9:30e0:dc16:93:df06) |
| 13:46:17 | <dminuoso> | JScript2: I suppose the primary reason is lack of industry backing for improved tooling. |
| 13:46:58 | <dminuoso> | Debugging C is only bearable because many person years were invested into projects like gdb or lldb. |
| 13:48:47 | <yushyin> | at least this version mismatch is relatively obvious and straightforward |
| 13:51:23 | <dminuoso> | JScript2: Though to be fair, this specific problem isnt about debugging Haskell. Its about cabal-install. |
| 13:51:26 | × | merijn quits (~merijn@c-001-001-013.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds) |
| 13:51:33 | → | __monty__ joins (~toonn@user/toonn) |
| 13:51:52 | <dminuoso> | Which generally has very poor consideration for a pleasant user experience when emitting diagnostics. |
| 13:52:38 | <dminuoso> | (However, I suppose a newcomer to the language might not care to make a distinction between Haskell, and externa tooling) |
| 13:53:49 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 13:53:49 | <Helle> | oh, right, I was putting off working on some stuff as cabal was giving me a fight |
| 13:53:52 | → | freeside joins (~mengwong@103.252.202.151) |
| 13:54:35 | <Helle> | refusing to run the autogen for PackageInfo_foo stuff, for no clear reason |
| 13:54:49 | <Helle> | what tools do I have to introspect cabal's reading of it's files ? |
| 13:55:17 | <merijn> | Helle: What's PackageInfo? Do you mean the Paths_ stuff> |
| 13:55:17 | <merijn> | +? |
| 13:56:20 | <Helle> | merijn: ah, no, and that gives me a hint at what is going on |
| 13:56:58 | <merijn> | Helle: Then I don't even know what PackageInfo is supposed to be in the context of cabal? |
| 13:57:12 | <Helle> | https://cabal.readthedocs.io/en/3.10/cabal-package.html#accessing-package-related-informations |
| 13:57:34 | <Helle> | I think it may be newer then the version of cabal I have |
| 13:58:02 | <Helle> | yep, that is exactly it |
| 13:58:05 | <merijn> | ah, so it's new |
| 13:58:20 | <Helle> | but yes, you not knowing it gave me the clue I needed, heh |
| 13:58:23 | <merijn> | Helle: I dunno about PackageInfo, but Paths_ has to be in autogen-modules to be generated |
| 13:58:36 | <Helle> | merijn: yeah, I know, it works |
| 13:58:43 | <Helle> | hence I was utterly confused |
| 13:59:28 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 268 seconds) |
| 13:59:43 | <Helle> | but it also does not cleanly complain about an autogen-modules it doesn't know, it will just be "cabal: can't find source for PackageInfo_test", etc, so that had me like "is it misreading the autogen, or what" |
| 14:00:03 | × | vulfe quits (~vulfe@168.91.196.163) (Remote host closed the connection) |
| 14:00:47 | <Helle> | anyway, given that even Debian is behind on it, I can't really go use it, as that forces other users of this code into a lot of headache |
| 14:01:45 | <Helle> | (yes, I know ghcup is not too horrendous, but still) |
| 14:02:06 | → | freeside joins (~mengwong@103.252.202.151) |
| 14:02:25 | <merijn> | Helle: What part of it do you need? |
| 14:05:06 | <Helle> | no absolute need for anything, was just getting some convenience stuff going to make sure that everything output consistent info |
| 14:05:28 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:718d:894b:b41:1ab9) |
| 14:07:28 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 248 seconds) |
| 14:08:22 | → | freeside joins (~mengwong@103.252.202.151) |
| 14:09:04 | <Helle> | and PackageInfo is only in on 3.10 good to know |
| 14:09:56 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:718d:894b:b41:1ab9) (Ping timeout: 250 seconds) |
| 14:12:31 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 250 seconds) |
| 14:12:48 | × | byte quits (~byte@user/byte) (Quit: Quitting...) |
| 14:13:56 | → | freeside joins (~mengwong@103.252.202.151) |
| 14:13:57 | × | mncheck quits (~mncheck@193.224.205.254) (Read error: Connection reset by peer) |
| 14:14:12 | → | nick4 joins (~nick@50.86.118.19) |
| 14:16:55 | × | __monty__ quits (~toonn@user/toonn) (Ping timeout: 256 seconds) |
| 14:17:04 | → | vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
| 14:17:04 | → | acidjnk joins (~acidjnk@p200300d6e7072f242d8d66ef0fd61958.dip0.t-ipconnect.de) |
| 14:18:35 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 260 seconds) |
| 14:19:22 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:6722:77f:2791:a818) (Quit: WeeChat 2.8) |
| 14:22:58 | → | byte joins (~byte@user/byte) |
| 14:23:30 | ← | JScript2 parts (~JScript@cpe-172-193-181-254.qld.foxtel.net.au) () |
| 14:24:57 | → | freeside joins (~mengwong@103.252.202.151) |
| 14:29:23 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 256 seconds) |
| 14:30:55 | ← | marinelli parts (~weechat@gateway/tor-sasl/marinelli) () |
| 14:31:18 | → | shriekingnoise joins (~shrieking@186.137.175.87) |
| 14:35:09 | × | zer0bitz_ quits (~zer0bitz@2001:2003:f443:d600:cc73:5fe2:e3b9:4425) (Read error: Connection reset by peer) |
| 14:35:15 | → | __monty__ joins (~toonn@user/toonn) |
| 14:35:34 | → | freeside joins (~mengwong@103.252.202.151) |
| 14:38:58 | × | waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 250 seconds) |
| 14:40:08 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 265 seconds) |
| 14:42:30 | × | nick4 quits (~nick@50.86.118.19) (Ping timeout: 260 seconds) |
| 14:45:27 | → | zer0bitz joins (~zer0bitz@2001:2003:f443:d600:cc73:5fe2:e3b9:4425) |
| 14:48:30 | → | wiosna joins (~karangura@c-73-93-95-154.hsd1.ca.comcast.net) |
| 14:51:23 | × | elain4 quits (~textual@2601:5c1:4402:cd30:99ae:6dbf:fe1:e05a) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 14:52:25 | × | wiosna quits (~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
| 14:54:54 | → | nick4 joins (~nick@50.86.118.19) |
| 14:56:57 | × | zer0bitz quits (~zer0bitz@2001:2003:f443:d600:cc73:5fe2:e3b9:4425) (Changing host) |
| 14:56:57 | → | zer0bitz joins (~zer0bitz@user/zer0bitz) |
| 14:58:34 | × | szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 15:00:00 | → | mncheck joins (~mncheck@193.224.205.254) |
| 15:00:35 | → | elain4 joins (~textual@2601:5c1:4402:cd30:99ae:6dbf:fe1:e05a) |
| 15:02:16 | → | freeside joins (~mengwong@103.252.202.151) |
| 15:03:24 | → | jtza8 joins (~user@165.255.35.64) |
| 15:04:13 | × | nick4 quits (~nick@50.86.118.19) (Ping timeout: 268 seconds) |
| 15:09:07 | <jtza8> | I'm using Aeson to encode a sum type by hand, usually Aeson starts the encoded JSON object with the "tag" key/value pair, but with "toJSON = object [ ... ]" the "contents" pair seems to move to the first slot. Is that just life, or is there a way to correct this and get consistency? |
| 15:10:34 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 15:11:00 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 268 seconds) |
| 15:12:00 | × | elain4 quits (~textual@2601:5c1:4402:cd30:99ae:6dbf:fe1:e05a) (Ping timeout: 248 seconds) |
| 15:19:13 | → | nate2 joins (~nate@98.45.169.16) |
| 15:20:48 | <[exa]> | jtza8: "first slot"? do you have an example json with this? |
| 15:21:43 | <[exa]> | ah you refer to the order of keyval pairs in the formatted JSON? |
| 15:22:39 | <ncf> | https://github.com/haskell/aeson/issues/368 |
| 15:23:05 | → | freeside joins (~mengwong@103.252.202.151) |
| 15:23:45 | × | nate2 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
| 15:24:21 | × | czy quits (~user@host-140-24.ilcub310.champaign.il.us.clients.pavlovmedia.net) (Remote host closed the connection) |
| 15:28:33 | → | notzmv joins (~zmv@user/notzmv) |
| 15:28:50 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 15:30:47 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 264 seconds) |
| 15:30:52 | → | jero98772 joins (~jero98772@2800:484:1d84:9000::2) |
| 15:32:51 | <gentauro> | hey, long time no ask in here :) Just a question. Being used to Haskell (and other ML-syntax langs) is it even possible to write `rust` code? xD |
| 15:33:29 | <gentauro> | lack of curried function parameters. No lambdas. No own defined ops … |
| 15:35:03 | <gentauro> | and the syntax … it awakes my C++ days :-\ |
| 15:35:34 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 15:36:22 | <gentauro> | however, it seems that Snoyman is really keen to the lang so there might be hope :) |
| 15:36:57 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:718d:894b:b41:1ab9) |
| 15:37:13 | <vulfe> | Rust is great |
| 15:38:40 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 15:39:37 | <vulfe> | I don't think functional programming makes learning other things impossible :P |
| 15:41:17 | <yushyin> | gentauro: well, c++ is what it tries to compete with |
| 15:41:19 | → | freeside joins (~mengwong@103.252.202.151) |
| 15:41:19 | → | 048AA07W5 joins (~mengwong@103.252.202.151) |
| 15:41:22 | <gentauro> | vulfe: I tried to write a "simple" parser combinator in `rust` |
| 15:41:26 | <tokie> | C++ is what it's replacing |
| 15:41:26 | <gentauro> | I couldn't xD |
| 15:41:31 | <tokie> | not just competing :D |
| 15:41:41 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 15:41:45 | <tokie> | gentauro: i wrote a parser combinator similar to parsec in rust! |
| 15:41:49 | <gentauro> | tokie: I guess that cos of the `foo::bar::…` |
| 15:41:54 | <gentauro> | tokie: :o |
| 15:41:59 | <vulfe> | Rust and Haskell actually have a lot of things in common |
| 15:42:01 | <tokie> | https://github.com/strtok/parcom |
| 15:42:01 | <gentauro> | you have it on GH or GL? |
| 15:42:14 | <tokie> | it is very h ard to do it in rust because of the borrow checker |
| 15:43:00 | <tokie> | there's a lot of limitations on lifetimes and lambdas in rust right now. hopefully that's fixed with borrow checker improvements. it does make writing a -closure based- parser combinator difficult |
| 15:43:14 | <tokie> | but there are other approaches to writing parser combinators that work out much better |
| 15:43:29 | <tokie> | https://github.com/rust-bakery/nom |
| 15:43:44 | <vulfe> | a solution based on closures is probably the closest philisophically to FP parser-combinators |
| 15:43:45 | <yushyin> | tokie: maybe someday, but languages, especially an industry standard like c++, are hard to replace |
| 15:44:11 | <tokie> | yushyin: yes, but we are seeing serious momentum now - microsoft just announced they're rewriting core windows libraries in rust |
| 15:44:14 | <vulfe> | c++ might be widely used but it also mega sucks |
| 15:44:22 | <tokie> | linux kernel is moving forward with rust as the second language (C++ never got there!) |
| 15:44:25 | <gentauro> | tokie: did you implement `<|>` (alternate) for `backtracking`? |
| 15:44:25 | <vulfe> | and rust does not mega suck, so it has that going for it |
| 15:44:41 | <tokie> | gentauro: no |
| 15:44:55 | → | CiaoSen joins (~Jura@dynamic-046-114-217-185.46.114.pool.telefonica.de) |
| 15:44:56 | <tokie> | check nom for a more complete parser combinator framework |
| 15:45:15 | <gentauro> | btw, new C++, I recall writing some stuff and just putting `auto` in front of the var name and problems solved xD |
| 15:45:25 | <yushyin> | :) |
| 15:45:36 | × | 048AA07W5 quits (~mengwong@103.252.202.151) (Ping timeout: 248 seconds) |
| 15:45:49 | <tokie> | gentauro: to a degree. rust's type inference is a lot more powerful than C++ |
| 15:45:52 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 265 seconds) |
| 15:45:55 | <gentauro> | then I had an error and the "verbose" output reminded me of the `C++ generic days` and I ran away from it xD |
| 15:46:42 | <yushyin> | gentauro: yes, c++ is evolving too, you can't compare c++20 with c++98 |
| 15:46:43 | <tokie> | yeah, a lot of that is usually related to how c++'s generics work - rust's generics are way less powerful than C++, since type parameters have to be bound by a trait |
| 15:46:58 | <tokie> | traits are based off haskell's type classes |
| 15:47:22 | <gentauro> | tokie: just like `scala` traits right? |
| 15:47:44 | <tokie> | i don't know scala, but probably? the rust team cites haskell for inspiration for traits i think? |
| 15:47:51 | <tokie> | https://doc.rust-lang.org/reference/influences.html |
| 15:48:23 | <vulfe> | bounded parametric polymorphism ftw |
| 15:48:34 | <tokie> | vulfe: yeah, agreed |
| 15:48:42 | <vulfe> | it's a really good idea |
| 15:50:12 | <gentauro> | tokie: thx for link. Quite interesting the mixture |
| 15:51:18 | <tokie> | gentauro: this is my more interesting rust project: https://github.com/strtok/marwood/ |
| 15:51:36 | <tokie> | demo at https://www.marwood.io/ |
| 15:52:04 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 15:52:35 | <yushyin> | c++ tries to get their template programming under control with 'concepts'. |
| 15:52:43 | → | nick4 joins (~nick@98.186.196.174) |
| 15:54:44 | <gentauro> | tokie: nice |
| 15:55:56 | <gentauro> | tokie: repl needs copy/past capabilities :0 |
| 15:55:57 | <gentauro> | :) |
| 15:56:35 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 15:59:18 | <gentauro> | tokie: stuff like this -> https://github.com/strtok/marwood/blob/master/marwood/src/lex.rs is exactly what I'm looking for (to get inspired) Thx !!! |
| 16:02:42 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 16:03:45 | × | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 265 seconds) |
| 16:05:48 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 240 seconds) |
| 16:06:38 | → | freeside joins (~mengwong@103.252.202.151) |
| 16:07:22 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 16:08:04 | → | dhil joins (~dhil@78.45.150.83.ewm.ftth.as8758.net) |
| 16:09:16 | <jtza8> | [exa]: Yeah, that was what I meant. |
| 16:09:59 | <jtza8> | ncf: Thanks. |
| 16:11:58 | × | CiaoSen quits (~Jura@dynamic-046-114-217-185.46.114.pool.telefonica.de) (Ping timeout: 265 seconds) |
| 16:12:05 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 240 seconds) |
| 16:13:40 | → | gmg joins (~user@user/gehmehgeh) |
| 16:14:39 | <[exa]> | jtza8: if it's for humans, you might like running the json through `jq -S` |
| 16:15:30 | <bwe> | which parser combinator library can you recommend from your personal experience because it's compact, ergonomic and powerful? |
| 16:17:49 | <maerwald> | just roll your own |
| 16:18:02 | → | freeside joins (~mengwong@103.252.202.151) |
| 16:18:59 | → | freeside_ joins (~mengwong@103.252.202.151) |
| 16:19:32 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 16:21:31 | × | ubert quits (~Thunderbi@2a02:8109:abc0:6434:81f:756b:c2fe:5d83) (Quit: ubert) |
| 16:22:08 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 240 seconds) |
| 16:23:51 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 256 seconds) |
| 16:24:02 | × | freeside_ quits (~mengwong@103.252.202.151) (Ping timeout: 246 seconds) |
| 16:25:21 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 16:27:15 | × | kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 260 seconds) |
| 16:27:40 | → | EsoAlgo8 joins (~EsoAlgo@129.146.136.145) |
| 16:27:49 | × | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 256 seconds) |
| 16:27:59 | × | Ekho quits (~Ekho@user/ekho) (Quit: CORE ERROR, SYSTEM HALTED.) |
| 16:29:50 | × | zeenk quits (~zeenk@2a02:2f04:a105:f00::fba) (Quit: Konversation terminated!) |
| 16:32:30 | <jtza8> | [exa]: It was mostly just for debugging and legibility. jq looks like a good solution though, thanks. |
| 16:38:34 | × | nick4 quits (~nick@98.186.196.174) (Ping timeout: 268 seconds) |
| 16:38:39 | × | titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection) |
| 16:40:06 | → | nick4 joins (~nick@98.186.196.174) |
| 16:45:19 | × | stevenxl quits (uid133530@id-133530.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 16:45:52 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 16:46:52 | <bwe> | maerwald: any good tutorial for writing your own parser combinator you can recommend? I am after the dos and don'ts of writing a parser combinator. |
| 16:46:55 | × | vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Remote host closed the connection) |
| 16:47:30 | → | vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
| 16:48:11 | → | mechap joins (~mechap@user/mechap) |
| 16:51:24 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 16:52:11 | × | vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 256 seconds) |
| 16:54:51 | → | czy joins (~user@host-140-24.ilcub310.champaign.il.us.clients.pavlovmedia.net) |
| 16:58:07 | → | bgs joins (~bgs@212-85-160-171.dynamic.telemach.net) |
| 16:59:46 | × | mbuf quits (~Shakthi@49.207.178.186) (Quit: Leaving) |
| 17:00:24 | → | freeside joins (~mengwong@103.252.202.151) |
| 17:03:21 | → | evincar joins (~evincar@user/evincar) |
| 17:04:32 | → | freeside_ joins (~mengwong@103.252.202.151) |
| 17:06:08 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 248 seconds) |
| 17:08:23 | × | mechap quits (~mechap@user/mechap) (Quit: WeeChat 3.8) |
| 17:08:30 | → | barcisz joins (~barcisz@79.191.229.20.ipv4.supernova.orange.pl) |
| 17:09:05 | × | freeside_ quits (~mengwong@103.252.202.151) (Ping timeout: 240 seconds) |
| 17:09:54 | → | mechap joins (~mechap@user/mechap) |
| 17:10:40 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 17:14:59 | → | titibandit joins (~titibandi@user/titibandit) |
| 17:15:40 | <fendor[m]> | my ghc 9.2.7 is segfaulting... https://paste.tomsmeding.com/4tqnf1e1 is that a known issue or more likely my pc dying? |
| 17:16:45 | → | Ekho joins (~Ekho@user/ekho) |
| 17:17:33 | <fendor[m]> | but it segfaults only sometimes |
| 17:17:33 | <Hecate> | fendor[m]: https://twitter.com/TechnoEmpress/status/1620818425332518913 |
| 17:17:56 | <Hecate> | and https://gitlab.haskell.org/ghc/ghc/-/issues/19421 |
| 17:18:40 | × | Angelz quits (Angelz@angelz.oddprotocol.org) (Ping timeout: 265 seconds) |
| 17:19:36 | <fendor[m]> | thanks! Didn't see that, would have expected a discourse announcement or something |
| 17:19:43 | <Hecate> | creating one rn |
| 17:20:25 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 17:20:36 | <Hecate> | https://discourse.haskell.org/t/facing-mmap-4096-bytes-at-nil-cannot-allocate-memory-youre-not-alone/6259 fendor[m] |
| 17:22:05 | <fendor[m]> | hehe, thankyou :) |
| 17:22:07 | <fendor[m]> | time to upgrade to a newer ghc version |
| 17:22:34 | × | nick4 quits (~nick@98.186.196.174) (Ping timeout: 265 seconds) |
| 17:22:49 | → | nick4 joins (~nick@ip68-1-49-124.pn.at.cox.net) |
| 17:24:54 | <geekosaur> | there;s two possible problems there, one is the ghc issue, the other is a linux kernel issue (https://bbs.archlinux.org/viewtopic.php?id=282429) |
| 17:25:32 | <geekosaur> | both are fixed by using 9.4 because 9.4 changed how it's doing `mmap` in a way that avoids the kernel issue |
| 17:25:39 | × | MajorBiscuit quits (~MajorBisc@2001:1c00:2492:e200:561f:c4dd:78fa:8040) (Quit: WeeChat 3.6) |
| 17:30:29 | <fendor[m]> | hm, at least on my machine, I have a linux kernel version that should have the fix 6.2.13-arch1-1 |
| 17:31:53 | <fendor[m]> | ah, apparently it is not entirely fixed? ah whatever |
| 17:33:09 | <geekosaur> | it was fixed and then the patch was reverted in some 6.2 version and then re-added later |
| 17:33:19 | <geekosaur> | so you may be in the gap |
| 17:33:43 | → | vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
| 17:34:10 | <fendor[m]> | ah, thank you for the explanation! |
| 17:34:36 | → | ubert joins (~Thunderbi@p200300ecdf42c68668c9dcfdb6c1aa18.dip0.t-ipconnect.de) |
| 17:36:16 | → | Angelz joins (Angelz@Angelz.oddprotocol.org) |
| 17:37:46 | × | biberu quits (~biberu@user/biberu) (Ping timeout: 268 seconds) |
| 17:37:48 | × | vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 240 seconds) |
| 17:42:47 | → | biberu joins (~biberu@user/biberu) |
| 17:44:59 | → | vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
| 17:48:24 | <geekosaur> | yeh, I just did a logs search and you got unlucky: 6.2.13 is the first version that regressed |
| 17:49:08 | × | vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 240 seconds) |
| 17:49:30 | <geekosaur> | so you can either rebuild your kernel with the hotfix patch from that discussion, or you can upgrade to 9.4 and avoid it |
| 17:53:14 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 17:54:31 | → | vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
| 17:56:26 | <tokie> | gentauro: yeah! i think copy paste works on some browsers/operating systems :D |
| 17:57:20 | × | mechap quits (~mechap@user/mechap) (Ping timeout: 248 seconds) |
| 17:58:17 | <sm> | bwe: 👍🏻 |
| 17:59:52 | → | mechap joins (~mechap@user/mechap) |
| 18:04:20 | → | freeside joins (~mengwong@103.252.202.151) |
| 18:04:37 | × | mechap quits (~mechap@user/mechap) (Ping timeout: 265 seconds) |
| 18:06:16 | → | mechap joins (~mechap@user/mechap) |
| 18:06:45 | × | jtza8 quits (~user@165.255.35.64) (Ping timeout: 268 seconds) |
| 18:08:59 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 260 seconds) |
| 18:09:39 | → | roboguy_ joins (~roboguy_@cpe-69-76-235-109.kc.res.rr.com) |
| 18:11:29 | × | mechap quits (~mechap@user/mechap) (Ping timeout: 246 seconds) |
| 18:12:07 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 18:12:35 | → | mechap joins (~mechap@user/mechap) |
| 18:13:19 | × | roboguy_ quits (~roboguy_@cpe-69-76-235-109.kc.res.rr.com) (Client Quit) |
| 18:14:11 | → | notzmv joins (~zmv@user/notzmv) |
| 18:17:05 | × | mechap quits (~mechap@user/mechap) (Ping timeout: 246 seconds) |
| 18:19:42 | → | ub joins (~Thunderbi@p548c9371.dip0.t-ipconnect.de) |
| 18:20:48 | × | ubert quits (~Thunderbi@p200300ecdf42c68668c9dcfdb6c1aa18.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 18:20:48 | ub | is now known as ubert |
| 18:25:39 | → | mechap joins (~mechap@user/mechap) |
| 18:25:41 | → | econo joins (uid147250@user/econo) |
| 18:27:10 | → | barcisz89 joins (~barcisz@79.191.229.20.ipv4.supernova.orange.pl) |
| 18:29:34 | × | barcisz quits (~barcisz@79.191.229.20.ipv4.supernova.orange.pl) (Ping timeout: 268 seconds) |
| 18:32:06 | × | mechap quits (~mechap@user/mechap) (Ping timeout: 250 seconds) |
| 18:32:56 | → | mechap joins (~mechap@user/mechap) |
| 18:37:56 | × | mechap quits (~mechap@user/mechap) (Ping timeout: 265 seconds) |
| 18:39:16 | → | mechap joins (~mechap@user/mechap) |
| 18:40:28 | × | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 240 seconds) |
| 18:44:57 | × | mechap quits (~mechap@user/mechap) (Ping timeout: 256 seconds) |
| 18:45:35 | → | mechap joins (~mechap@user/mechap) |
| 18:51:30 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 18:54:17 | → | alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-e916-5c4e-9cb1-6957.rev.sfr.net) |
| 18:54:35 | × | evincar quits (~evincar@user/evincar) (Ping timeout: 256 seconds) |
| 18:58:32 | <bwe> | sm: is there any better intro than https://markkarpov.com/tutorial/megaparsec.html you know of? |
| 18:58:34 | × | barcisz89 quits (~barcisz@79.191.229.20.ipv4.supernova.orange.pl) (Quit: Connection closed) |
| 18:59:17 | <sm> | to parser combinators generally ? |
| 18:59:43 | <jean-paul[m]> | https://hackage.haskell.org/package/crypto-api-0.13.3/docs/Crypto-Types.html#t:IV says that a common way to get an IV is via its Serialize instance - but then in the instances list below, there is no Serialize instance listed. How should I interpret this? |
| 19:03:00 | <sm> | bwe I mainly just use them, but some of these might be useful: https://en.wikipedia.org/wiki/Parser_combinator https://serokell.io/blog/parser-combinators-in-haskell https://hasura.io/blog/parser-combinators-walkthrough/ https://parsica-php.github.io/docs/tutorial/01_introduction/ https://crypto.stanford.edu/~blynn/haskell/parse.html |
| 19:03:16 | × | euandreh quits (~Thunderbi@189.6.18.7) (Remote host closed the connection) |
| 19:04:48 | <sm> | or perhaps these: https://www.cs.nott.ac.uk/~pszgmh/monparsing.pdf https://www.cmi.ac.in/~spsuresh/teaching/prgh15/papers/monadic-parsing.pdf |
| 19:06:41 | <bwe> | sm: got a start :) thanks a lot. |
| 19:10:05 | × | biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer) |
| 19:11:23 | → | freeside joins (~mengwong@103.252.202.151) |
| 19:12:09 | × | trev quits (~trev@user/trev) (Quit: trev) |
| 19:17:15 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 260 seconds) |
| 19:17:15 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 19:20:49 | → | nate2 joins (~nate@98.45.169.16) |
| 19:24:16 | → | evincar joins (~evincar@user/evincar) |
| 19:25:17 | → | freeside joins (~mengwong@103.252.202.151) |
| 19:25:59 | × | nate2 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
| 19:29:09 | → | ub joins (~Thunderbi@p200300ecdf42c68668c9dcfdb6c1aa18.dip0.t-ipconnect.de) |
| 19:29:12 | → | biberu joins (~biberu@user/biberu) |
| 19:29:23 | × | evincar quits (~evincar@user/evincar) (Ping timeout: 268 seconds) |
| 19:29:28 | × | ubert quits (~Thunderbi@p548c9371.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 19:29:28 | ub | is now known as ubert |
| 19:30:27 | → | Topsi joins (~Topsi@host-82-135-42-158.customer.m-online.net) |
| 19:34:25 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 240 seconds) |
| 19:40:16 | × | Topsi quits (~Topsi@host-82-135-42-158.customer.m-online.net) (Quit: Leaving.) |
| 19:42:04 | → | ub joins (~Thunderbi@p548c9371.dip0.t-ipconnect.de) |
| 19:43:07 | × | ubert quits (~Thunderbi@p200300ecdf42c68668c9dcfdb6c1aa18.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 19:43:07 | ub | is now known as ubert |
| 19:50:47 | → | Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |
| 19:51:08 | × | use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:4165:ceb6:19a8:1e1e) (Quit: use-value) |
| 19:55:10 | × | titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection) |
| 19:56:27 | → | titibandit joins (~titibandi@user/titibandit) |
| 19:56:59 | → | evincar joins (~evincar@user/evincar) |
| 20:01:47 | × | evincar quits (~evincar@user/evincar) (Ping timeout: 248 seconds) |
| 20:06:26 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 20:07:02 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 20:11:10 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:718d:894b:b41:1ab9) (Remote host closed the connection) |
| 20:13:46 | → | zeenk joins (~zeenk@2a02:2f04:a105:f00::fba) |
| 20:15:07 | × | ddellacosta quits (~ddellacos@146.70.166.177) (Ping timeout: 265 seconds) |
| 20:16:43 | → | ddellacosta joins (~ddellacos@143.244.47.88) |
| 20:18:24 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection) |
| 20:21:17 | × | nick4 quits (~nick@ip68-1-49-124.pn.at.cox.net) (Ping timeout: 256 seconds) |
| 20:21:32 | → | freeside joins (~mengwong@103.252.202.151) |
| 20:25:45 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 240 seconds) |
| 20:29:02 | → | evincar joins (~evincar@user/evincar) |
| 20:32:03 | → | nick4 joins (~nick@ip68-1-49-124.pn.at.cox.net) |
| 20:33:47 | × | evincar quits (~evincar@user/evincar) (Ping timeout: 264 seconds) |
| 20:34:28 | → | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 20:35:23 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 20:38:19 | × | titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection) |
| 20:44:05 | → | titibandit joins (~titibandi@user/titibandit) |
| 20:46:35 | <Inst> | do you guys ever do codewars here? |
| 20:46:38 | <Inst> | https://www.codewars.com/kata/60ae5db1639df90055068d20/train/haskell |
| 20:47:38 | <Inst> | whoops, take off the train, or you'll be forced to train |
| 20:47:43 | <Inst> | and ruin stats, if you do do codewars |
| 20:49:43 | sm | did https://www.codingame.com/multiplayer/clashofcode a bit.. fun |
| 20:50:39 | × | chomwitt quits (~chomwitt@ppp-94-67-206-188.home.otenet.gr) (Remote host closed the connection) |
| 20:53:20 | → | freeside joins (~mengwong@103.252.202.151) |
| 20:55:50 | → | caryhartline joins (~caryhartl@2600:1700:2d0:8d30:5d14:9417:a6bd:7661) |
| 20:56:00 | × | titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection) |
| 20:58:11 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 268 seconds) |
| 20:58:43 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 20:58:46 | × | ubert quits (~Thunderbi@p548c9371.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 21:01:06 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
| 21:03:06 | → | evincar joins (~evincar@user/evincar) |
| 21:03:22 | → | titibandit joins (~titibandi@user/titibandit) |
| 21:03:47 | × | nick4 quits (~nick@ip68-1-49-124.pn.at.cox.net) (Ping timeout: 264 seconds) |
| 21:07:28 | × | evincar quits (~evincar@user/evincar) (Ping timeout: 240 seconds) |
| 21:11:35 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:718d:894b:b41:1ab9) |
| 21:12:10 | × | vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Remote host closed the connection) |
| 21:12:48 | → | vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
| 21:13:00 | → | ft joins (~ft@p4fc2a88b.dip0.t-ipconnect.de) |
| 21:15:53 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:718d:894b:b41:1ab9) (Ping timeout: 250 seconds) |
| 21:17:11 | × | vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 250 seconds) |
| 21:19:31 | → | vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
| 21:21:02 | × | tubogram44 quits (~tubogram@user/tubogram) (*.net *.split) |
| 21:21:24 | → | tubogram44 joins (~tubogram@user/tubogram) |
| 21:23:14 | × | titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection) |
| 21:28:57 | → | rf joins (~rf@2605:59c8:179c:f610:44a3:b0ec:665c:93d3) |
| 21:30:00 | × | vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Remote host closed the connection) |
| 21:30:37 | → | vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
| 21:33:17 | × | tubogram44 quits (~tubogram@user/tubogram) (*.net *.split) |
| 21:34:02 | → | tubogram44 joins (~tubogram@user/tubogram) |
| 21:34:48 | × | vulfe quits (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 240 seconds) |
| 21:36:23 | → | evincar joins (~evincar@user/evincar) |
| 21:38:58 | × | bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
| 21:41:11 | × | evincar quits (~evincar@user/evincar) (Ping timeout: 256 seconds) |
| 21:42:14 | × | alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-e916-5c4e-9cb1-6957.rev.sfr.net) (Remote host closed the connection) |
| 21:44:25 | × | dhil quits (~dhil@78.45.150.83.ewm.ftth.as8758.net) (Ping timeout: 240 seconds) |
| 21:47:18 | → | vulfe joins (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) |
| 21:51:41 | × | superbil quits (~superbil@1-34-176-171.hinet-ip.hinet.net) (*.net *.split) |
| 21:52:58 | → | elevenkb joins (~elevenkb@vc-gp-n-105-245-97-98.umts.vodacom.co.za) |
| 21:54:47 | → | myrix joins (~myrix@95-24-68-157.broadband.corbina.ru) |
| 21:55:01 | × | myrix quits (~myrix@95-24-68-157.broadband.corbina.ru) (Client Quit) |
| 21:55:17 | → | myrix joins (~myrix@95-24-68-157.broadband.corbina.ru) |
| 21:55:20 | × | myrix quits (~myrix@95-24-68-157.broadband.corbina.ru) (Client Quit) |
| 21:55:25 | → | superbil joins (~superbil@1-34-176-171.hinet-ip.hinet.net) |
| 22:02:40 | × | michalz quits (~michalz@185.246.207.197) (Remote host closed the connection) |
| 22:05:08 | → | lbseale joins (~quassel@user/ep1ctetus) |
| 22:06:44 | → | michalz joins (~michalz@185.246.207.203) |
| 22:08:49 | → | evincar joins (~evincar@user/evincar) |
| 22:11:05 | × | michalz quits (~michalz@185.246.207.203) (Remote host closed the connection) |
| 22:13:08 | × | evincar quits (~evincar@user/evincar) (Ping timeout: 240 seconds) |
| 22:13:20 | → | dontdieych_ joins (~alarm@132.226.169.184) |
| 22:14:46 | × | dontdieych_ quits (~alarm@132.226.169.184) (Client Quit) |
| 22:18:48 | → | dontdieych_ joins (~alarm@132.226.169.184) |
| 22:18:58 | × | dontdieych_ quits (~alarm@132.226.169.184) (Client Quit) |
| 22:22:17 | × | Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
| 22:24:33 | × | caryhartline quits (~caryhartl@2600:1700:2d0:8d30:5d14:9417:a6bd:7661) (Quit: caryhartline) |
| 22:33:35 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 260 seconds) |
| 22:41:28 | × | gurkenglas quits (~gurkengla@dynamic-089-204-139-070.89.204.139.pool.telefonica.de) (Ping timeout: 240 seconds) |
| 22:42:42 | → | evincar joins (~evincar@user/evincar) |
| 22:43:00 | → | dontdieych_ joins (~alarm@132.226.169.184) |
| 22:43:29 | → | caryhartline joins (~caryhartl@2600:1700:2d0:8d30:a967:52ac:90b:ce3b) |
| 22:44:35 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 22:45:51 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 22:47:05 | × | evincar quits (~evincar@user/evincar) (Ping timeout: 240 seconds) |
| 22:49:04 | × | jero98772 quits (~jero98772@2800:484:1d84:9000::2) (Ping timeout: 250 seconds) |
| 22:52:46 | × | czy quits (~user@host-140-24.ilcub310.champaign.il.us.clients.pavlovmedia.net) (Remote host closed the connection) |
| 22:54:28 | × | elevenkb quits (~elevenkb@vc-gp-n-105-245-97-98.umts.vodacom.co.za) (Read error: Connection reset by peer) |
| 22:56:08 | × | caryhartline quits (~caryhartl@2600:1700:2d0:8d30:a967:52ac:90b:ce3b) (Quit: caryhartline) |
| 22:58:32 | → | falafel joins (~falafel@2603-8000-d700-115c-daf2-a7ab-4fdd-5c9f.res6.spectrum.com) |
| 22:59:32 | × | dontdieych_ quits (~alarm@132.226.169.184) (Quit: WeeChat 3.8) |
| 23:02:10 | → | jero98772 joins (~jero98772@2800:484:1d84:9000::2) |
| 23:05:36 | × | rf quits (~rf@2605:59c8:179c:f610:44a3:b0ec:665c:93d3) (Ping timeout: 248 seconds) |
| 23:05:42 | × | falafel quits (~falafel@2603-8000-d700-115c-daf2-a7ab-4fdd-5c9f.res6.spectrum.com) (Ping timeout: 265 seconds) |
| 23:06:11 | × | acidjnk quits (~acidjnk@p200300d6e7072f242d8d66ef0fd61958.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 23:09:22 | × | erisco quits (~erisco@d24-141-66-165.home.cgocable.net) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in) |
| 23:10:11 | → | erisco joins (~erisco@d24-141-66-165.home.cgocable.net) |
| 23:11:17 | → | dontdieych_ joins (~alarm@132.226.169.184) |
| 23:11:56 | × | dontdieych_ quits (~alarm@132.226.169.184) (Client Quit) |
| 23:14:17 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:718d:894b:b41:1ab9) |
| 23:15:31 | → | freeside joins (~mengwong@103.252.202.151) |
| 23:15:32 | → | dontdieych_ joins (~alarm@132.226.169.184) |
| 23:16:31 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 23:16:31 | × | mncheck quits (~mncheck@193.224.205.254) (Ping timeout: 260 seconds) |
| 23:16:31 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 23:16:31 | → | wroathe joins (~wroathe@user/wroathe) |
| 23:16:57 | → | evincar joins (~evincar@user/evincar) |
| 23:17:55 | × | dontdieych_ quits (~alarm@132.226.169.184) (Read error: Connection reset by peer) |
| 23:18:20 | → | dontdieych_ joins (~alarm@132.226.169.184) |
| 23:18:39 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:718d:894b:b41:1ab9) (Ping timeout: 256 seconds) |
| 23:19:12 | × | dontdieych_ quits (~alarm@132.226.169.184) (Read error: Connection reset by peer) |
| 23:20:38 | × | freeside quits (~mengwong@103.252.202.151) (Ping timeout: 268 seconds) |
| 23:20:48 | → | dontdieych_ joins (~alarm@132.226.169.184) |
| 23:21:25 | × | evincar quits (~evincar@user/evincar) (Ping timeout: 240 seconds) |
| 23:22:19 | → | nate2 joins (~nate@98.45.169.16) |
| 23:26:22 | × | zeenk quits (~zeenk@2a02:2f04:a105:f00::fba) (Quit: Konversation terminated!) |
| 23:26:45 | × | nate2 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
| 23:27:40 | × | YoungFrog quits (~youngfrog@2a02:a03f:ca07:f900:10be:cd2c:3e2a:8e0a) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in) |
| 23:27:47 | <fbytez> | Are there any builtin libraries / functions for randomizing list contents? |
| 23:27:59 | → | YoungFrog joins (~youngfrog@2a02:a03f:ca07:f900:948f:148:b116:d454) |
| 23:28:08 | → | mauke_ joins (~mauke@user/mauke) |
| 23:29:25 | × | mauke quits (~mauke@user/mauke) (Ping timeout: 240 seconds) |
| 23:29:25 | mauke_ | is now known as mauke |
| 23:29:39 | × | dontdieych_ quits (~alarm@132.226.169.184) (Quit: WeeChat 3.8) |
| 23:30:02 | → | dontdieych_ joins (~alarm@132.226.169.184) |
| 23:30:06 | × | dontdieych_ quits (~alarm@132.226.169.184) (Client Quit) |
| 23:33:09 | <fbytez> | https://en.wikibooks.org/wiki/Haskell/Libraries/Random -- I'm surprised this seems like a standard library but isn't part of my ghcup installation. |
| 23:33:28 | × | m1dnight quits (~christoph@78-22-4-67.access.telenet.be) (Ping timeout: 240 seconds) |
| 23:33:36 | × | Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.) |
| 23:33:55 | <geekosaur> | the only libraries that ship with ghc are the ones it needs. they can't be upgraded without upgrading ghc, so we try to keep them minimal |
| 23:34:11 | <geekosaur> | stack and cabal will install libraries as needed |
| 23:34:25 | <fbytez> | Right. So, which package is it in? |
| 23:34:39 | × | puke quits (~puke@user/puke) (Remote host closed the connection) |
| 23:34:58 | → | puke joins (~puke@user/puke) |
| 23:35:30 | <geekosaur> | random |
| 23:35:43 | <geekosaur> | @hackage random |
| 23:35:43 | <lambdabot> | https://hackage.haskell.org/package/random |
| 23:36:14 | <sm> | not sure if it has what you asked for, if not I saw a random-shuffle package |
| 23:36:15 | <fbytez> | How should I generally go about finding the source package of a module/library? |
| 23:36:44 | <Axman6> | hoogle |
| 23:36:51 | <sm> | search for it at https://hoogle.haskell.org (consider making a browser keyword) |
| 23:37:14 | <Axman6> | https://wiki.haskell.org/Random_shuffle might also be useful |
| 23:37:24 | → | dontdieych_ joins (~alarm@132.226.169.184) |
| 23:37:28 | × | dontdieych_ quits (~alarm@132.226.169.184) (Client Quit) |
| 23:37:47 | <fbytez> | Is there anyway to distinguish what is considered "standard"? |
| 23:38:08 | → | dontdieych_ joins (~alarm@132.226.169.184) |
| 23:38:36 | × | dontdieych_ quits (~alarm@132.226.169.184) (Client Quit) |
| 23:38:46 | <Axman6> | I'm not sure its a particularly useful distinction, why does it matter? |
| 23:39:36 | <fbytez> | Just saw this under "Maintainer": core-libraries-committee@haskell.org -- so something like that, I guess. |
| 23:40:51 | <fbytez> | Just a bit of an easy screen when there are multiple choices. |
| 23:41:52 | <fbytez> | Like, why would I install from my system's package manager instead of from some random website. |
| 23:41:54 | <Axman6> | like geekosaur said, ghc ships with libraries it needs, but that doesn't mean they're particcularly special, and often better versions exist that use features that GHC can't to maintain backwards compatibility |
| 23:42:47 | <Axman6> | never install anything from your system's packqge manager - install ghc, cabal, hls etc. with ghcup, and use cabal or stack to install packages you need |
| 23:42:49 | <geekosaur> | your system package manager may provide very old versions of library packages and indeed of ghc itself |
| 23:43:13 | <fbytez> | I mean in general, as an analogy, nothing to do with Haskell. |
| 23:43:55 | <fbytez> | I have been using ghcup and cabal for everything Haskell-wise. |
| 23:44:01 | → | dontdieych_ joins (~alarm@132.226.169.184) |
| 23:44:15 | × | dontdieych_ quits (~alarm@132.226.169.184) (Client Quit) |
| 23:45:12 | <sm> | fbytez: some useful things to check are: is it included in current stackage lts snapshot; what is last release/upload/revision date on hackage; and how many other packages depend on it |
| 23:45:35 | <fbytez> | Yeah, that's the sort of thing I mean, thanks. |
| 23:48:00 | <Axman6> | when I'm searching for a package, I usually go to hackage and sort by upload date, generally a good sign of some health. that said, plenty of older packages compile just fine and havent had a need to benupdated. purity and paramatricity can buy you a lot in terms of maintainability or the lack of need thereof |
| 23:48:19 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 23:48:51 | <sm> | also in the dependencies, what is the upper bound on base (which suggests whether it supports recent ghc versions) |
| 23:50:23 | × | oo_miguel quits (~Thunderbi@77.252.47.78) (Ping timeout: 256 seconds) |
| 23:50:45 | <fbytez> | Thanks, all. |
| 23:51:01 | × | pyook quits (~puke@user/puke) (Remote host closed the connection) |
| 23:51:17 | → | pyook joins (~puke@user/puke) |
| 23:52:30 | → | evincar joins (~evincar@user/evincar) |
| 23:56:04 | → | m1dnight joins (~christoph@78-22-4-67.access.telenet.be) |
| 23:56:08 | → | dontdieych_ joins (~alarm@132.226.169.184) |
| 23:57:38 | × | evincar quits (~evincar@user/evincar) (Ping timeout: 268 seconds) |
| 23:59:27 | × | jero98772 quits (~jero98772@2800:484:1d84:9000::2) (Ping timeout: 256 seconds) |
All times are in UTC on 2023-05-09.