Logs: liberachat/#haskell
| 2021-06-13 09:30:12 | <hseg> | yeah, ig |
| 2021-06-13 09:31:30 | × | azeem quits (~azeem@dynamic-adsl-78-13-238-239.clienti.tiscali.it) (Ping timeout: 264 seconds) |
| 2021-06-13 09:32:14 | → | azeem joins (~azeem@176.201.21.98) |
| 2021-06-13 09:33:32 | → | teaSlurper joins (~chris@81.96.113.213) |
| 2021-06-13 09:33:45 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 2021-06-13 09:35:17 | × | cheater quits (~Username@user/cheater) (Quit: (BitchX) A gentleman is one who knows how to play the bagpipes, but chooses not to.) |
| 2021-06-13 09:38:08 | <hseg> | ... ok, so the "solution" I began with doesn't even work, since it modifies the values, not the keys |
| 2021-06-13 09:38:09 | × | teaSlurper quits (~chris@81.96.113.213) (Ping timeout: 272 seconds) |
| 2021-06-13 09:38:29 | <hseg> | and indeed, I don't see a traversal in containers that permits altering the keys |
| 2021-06-13 09:38:49 | <hseg> | like, except mapKeys |
| 2021-06-13 09:41:10 | <hseg> | and even with that, I can end up with a Map (f k) v, but with no way of distributing that f over Map |
| 2021-06-13 09:42:31 | <tomsmeding> | because in terms of a tree data structure, that operation makes no sense anywah |
| 2021-06-13 09:42:33 | <tomsmeding> | *anyway |
| 2021-06-13 09:43:05 | <tomsmeding> | you basically can't do better than iterating over the tree and building a new one, which is exactly what the approach that goes via a list does |
| 2021-06-13 09:43:08 | <c_wraith> | the binary version is a cartesian product anyway. might as well perform it on lists |
| 2021-06-13 09:43:33 | <hseg> | fair. am being myopic |
| 2021-06-13 09:43:58 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:4587:6292:4bfd:4d24) |
| 2021-06-13 09:47:29 | L29Ah | is now known as L29Ah[XMPP] |
| 2021-06-13 09:47:30 | → | cheater joins (~Username@user/cheater) |
| 2021-06-13 09:48:44 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:4587:6292:4bfd:4d24) (Ping timeout: 252 seconds) |
| 2021-06-13 09:50:03 | → | rusua joins (uid124537@id-124537.highgate.irccloud.com) |
| 2021-06-13 09:50:34 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 2021-06-13 09:51:17 | → | PotatoGim joins (sid99505@id-99505.tooting.irccloud.com) |
| 2021-06-13 09:51:31 | × | azeem quits (~azeem@176.201.21.98) (Read error: Connection reset by peer) |
| 2021-06-13 09:52:35 | → | azeem joins (~azeem@dynamic-adsl-78-13-238-239.clienti.tiscali.it) |
| 2021-06-13 09:53:28 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 2021-06-13 09:53:50 | → | lavaman joins (~lavaman@98.38.249.169) |
| 2021-06-13 09:55:14 | → | bfrk joins (~bfrk@200116b845b21700ca15fbad8d1b9d07.dip.versatel-1u1.de) |
| 2021-06-13 09:55:49 | → | jneira joins (~jneira@166.red-81-39-172.dynamicip.rima-tde.net) |
| 2021-06-13 09:58:33 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
| 2021-06-13 10:00:21 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2021-06-13 10:00:30 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) |
| 2021-06-13 10:01:20 | → | dunkeln joins (~dunkeln@94.129.65.28) |
| 2021-06-13 10:04:46 | × | azeem quits (~azeem@dynamic-adsl-78-13-238-239.clienti.tiscali.it) (Read error: Connection reset by peer) |
| 2021-06-13 10:07:25 | → | hulo joins (~hulo@182.18.206.5) |
| 2021-06-13 10:08:26 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 2021-06-13 10:08:47 | ← | hulo parts (~hulo@182.18.206.5) () |
| 2021-06-13 10:14:05 | × | beka quits (~beka@104-244-27-23.static.monkeybrains.net) (Ping timeout: 245 seconds) |
| 2021-06-13 10:17:29 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 2021-06-13 10:22:39 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 2021-06-13 10:25:10 | × | sudden quits (~cat@h-98-128-128-173.A351.priv.bahnhof.se) (Quit: Lost terminal) |
| 2021-06-13 10:25:33 | → | sudden joins (~cat@h-98-128-128-173.A351.priv.bahnhof.se) |
| 2021-06-13 10:27:26 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2021-06-13 10:28:45 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 2021-06-13 10:30:54 | × | oxide quits (~lambda@user/oxide) (Ping timeout: 265 seconds) |
| 2021-06-13 10:32:07 | → | blankhart joins (~blankhart@pool-72-88-174-206.nwrknj.fios.verizon.net) |
| 2021-06-13 10:35:47 | → | gedda joins (~gedda@user/gedda) |
| 2021-06-13 10:36:31 | × | da39a3ee5e6b4b0d quits (~textual@2403:6200:8876:2955:1da4:ecb3:1c84:7a5a) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2021-06-13 10:36:47 | → | azeem joins (~azeem@dynamic-adsl-78-13-238-239.clienti.tiscali.it) |
| 2021-06-13 10:37:38 | <gedda> | is there a difference in lazyness in `f foo = case foo of ...` vs pattern matching on foo directly? |
| 2021-06-13 10:37:53 | → | fizbin joins (~fizbin@2601:8a:4080:1280:d58e:2782:3061:3fa3) |
| 2021-06-13 10:38:44 | <gedda> | oh wow first result on google gave me the answer smh |
| 2021-06-13 10:40:10 | <maerwald> | gedda: I don't think so (in this case) |
| 2021-06-13 10:40:49 | <aerkenemesis> | I'm looking to discuss CI using nix flakes, so step forward if that's something that floats your boat |
| 2021-06-13 10:41:12 | <maerwald> | gedda: but if you're using -XStrict, then yes |
| 2021-06-13 10:41:30 | <gedda> | maerwald, apparently pattern matching gets transformed into cases in core, just like if's |
| 2021-06-13 10:41:39 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 2021-06-13 10:41:48 | <gedda> | maerwald, interesting, but not -XStrictData i presume? |
| 2021-06-13 10:42:05 | <maerwald> | StrictData is something entirely different |
| 2021-06-13 10:42:33 | × | fizbin quits (~fizbin@2601:8a:4080:1280:d58e:2782:3061:3fa3) (Ping timeout: 268 seconds) |
| 2021-06-13 10:42:58 | <gedda> | Yep, I'm just mixing things up sorry |
| 2021-06-13 10:43:08 | <maerwald> | oh wait, no I misread... it's the same for Strict too |
| 2021-06-13 10:43:25 | <maerwald> | I was thinking of f = \foo -> case foo of |
| 2021-06-13 10:43:40 | <maerwald> | I think that's different under -XStrict than f foo |
| 2021-06-13 10:44:19 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-06-13 10:44:54 | <gedda> | is -XStrict actually useful in production somewhere? feels like more of a flag for testing purposes |
| 2021-06-13 10:45:29 | → | xkuru joins (~xkuru@user/xkuru) |
| 2021-06-13 10:46:11 | <maerwald> | gedda: https://github.com/yesodweb/wai/pull/752#issuecomment-501531386 |
| 2021-06-13 10:49:29 | → | bor0 joins (~boro@user/bor0) |
| 2021-06-13 10:50:01 | <maerwald> | I've started using it in my own projects too... the times it causes problems are rather obvious ones |
| 2021-06-13 10:50:12 | <maerwald> | e.g. some monadic combinators |
| 2021-06-13 10:50:17 | × | hmmmas quits (~chenqisu1@183.217.200.246) (Quit: Leaving.) |
| 2021-06-13 10:50:35 | <maerwald> | and when you want fusion etc. you also don't want it |
| 2021-06-13 10:51:26 | <gedda> | yeah i would believe the performance angle is the one that allows for XStrict |
| 2021-06-13 10:51:38 | × | ubikium quits (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) (Ping timeout: 272 seconds) |
| 2021-06-13 10:52:27 | <maerwald> | well, it can worsen performance too |
| 2021-06-13 10:53:14 | <maerwald> | but I feel... if you rely on huge performance gain based on the fact that a function argument hides a huge computation... either it's a "combinator" library (like lens) or you're doing something odd |
| 2021-06-13 10:54:39 | → | ubikium joins (~ubikium@2400:2200:3f7:8d39:b162:d489:71fa:a323) |
| 2021-06-13 10:55:06 | <maerwald> | it might blow up sooner or later anyway |
| 2021-06-13 10:55:37 | × | lambdabot quits (~lambdabot@haskell/bot/lambdabot) (Quit: brb) |
| 2021-06-13 10:55:46 | → | lambdabot joins (~lambdabot@haskell/bot/lambdabot) |
| 2021-06-13 10:58:08 | → | pe200012 joins (~pe200012@120.236.162.19) |
| 2021-06-13 10:58:29 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 2021-06-13 10:59:12 | × | nerdypepper quits (~nerdypepp@user/nerdypepper) (Quit: bye) |
| 2021-06-13 11:00:10 | → | pkkm joins (~pkkm@dgs4.neoplus.adsl.tpnet.pl) |
| 2021-06-13 11:00:55 | <maerwald> | anything non-trivial doesn't fuse easily anyway (look at what lengths libraries like streamly have to go to make fusion work... and then it easily breaks with a new GHC version) |
| 2021-06-13 11:01:38 | <maerwald> | so I don't buy the "better performance with laziness" argument, because you have to specifically engineer for it |
| 2021-06-13 11:07:51 | × | nf quits (~n@monade.li) (Quit: Fairfarren.) |
| 2021-06-13 11:09:26 | × | anandprabhu quits (~anandprab@87.201.97.214) (Quit: Leaving) |
| 2021-06-13 11:10:16 | → | nf joins (~n@monade.li) |
| 2021-06-13 11:13:15 | × | dunkeln quits (~dunkeln@94.129.65.28) (Ping timeout: 245 seconds) |
| 2021-06-13 11:16:21 | → | dunkeln joins (~dunkeln@94.129.65.28) |
| 2021-06-13 11:18:38 | × | sailboat quits (uid503239@id-503239.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
| 2021-06-13 11:18:52 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 2021-06-13 11:21:45 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 2021-06-13 11:23:15 | × | haltux quits (~haltux@a89-154-181-47.cpe.netcabo.pt) (Ping timeout: 245 seconds) |
| 2021-06-13 11:24:33 | × | xkuru quits (~xkuru@user/xkuru) (Ping timeout: 272 seconds) |
| 2021-06-13 11:24:43 | → | lavaman joins (~lavaman@98.38.249.169) |
| 2021-06-13 11:26:49 | → | xkuru joins (~xkuru@user/xkuru) |
| 2021-06-13 11:27:11 | × | mjs2600_ quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 252 seconds) |
All times are in UTC.