2024-03-10 00:04:19 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds) |
2024-03-10 00:04:47 +0100 | rainbyte | (~rainbyte@186.22.19.215) |
2024-03-10 00:07:41 +0100 | kimiamania | (~7da15a40@user/kimiamania) (Quit: PegeLinux) |
2024-03-10 00:08:11 +0100 | destituion | (~destituio@2001:4644:c37:0:6086:64f4:a213:b80d) (Ping timeout: 256 seconds) |
2024-03-10 00:09:02 +0100 | kimiamania | (~7da15a40@user/kimiamania) |
2024-03-10 00:22:30 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer) |
2024-03-10 00:23:19 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) |
2024-03-10 00:25:19 +0100 | destituion | (~destituio@2a02:2121:650:17b6:7013:905e:d9bb:b716) |
2024-03-10 00:34:49 +0100 | acidjnk_new3 | (~acidjnk@p200300d6e737e7747555095b6f843b59.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
2024-03-10 00:35:50 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer) |
2024-03-10 00:37:45 +0100 | ski | (~ski@ext-1-033.eduroam.chalmers.se) (Remote host closed the connection) |
2024-03-10 00:37:52 +0100 | ski | (~ski@ext-1-033.eduroam.chalmers.se) |
2024-03-10 00:38:09 +0100 | agrosant | (~agrosant@77.49.41.227.dsl.dyn.forthnet.gr) |
2024-03-10 00:38:15 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) |
2024-03-10 00:46:44 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer) |
2024-03-10 00:47:30 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) |
2024-03-10 00:48:02 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer) |
2024-03-10 00:48:49 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) |
2024-03-10 00:50:03 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer) |
2024-03-10 00:50:36 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) |
2024-03-10 00:57:09 +0100 | glguy | (g@libera/staff/glguy) |
2024-03-10 00:57:20 +0100 | target_i | (~target_i@user/target-i/x-6023099) (Quit: leaving) |
2024-03-10 01:09:56 +0100 | ski | (~ski@ext-1-033.eduroam.chalmers.se) (Ping timeout: 252 seconds) |
2024-03-10 01:10:11 +0100 | ski | (~ski@ext-1-033.eduroam.chalmers.se) |
2024-03-10 01:15:18 +0100 | a51 | (a51@gateway/vpn/protonvpn/a51) (Quit: WeeChat 4.2.1) |
2024-03-10 01:17:05 +0100 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 252 seconds) |
2024-03-10 01:23:15 +0100 | rvalue | (~rvalue@user/rvalue) |
2024-03-10 01:25:35 +0100 | Square | (~Square@user/square) |
2024-03-10 01:25:43 +0100 | puke | (~puke@user/puke) |
2024-03-10 01:26:04 +0100 | puke | (~puke@user/puke) (Max SendQ exceeded) |
2024-03-10 01:27:11 +0100 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) |
2024-03-10 01:27:23 +0100 | puke | (~puke@user/puke) |
2024-03-10 01:46:23 +0100 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
2024-03-10 01:50:36 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
2024-03-10 01:51:37 +0100 | ania123 | (~ania123@94-43-231-47.dsl.utg.ge) (Quit: Client closed) |
2024-03-10 01:53:16 +0100 | driib | (~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat) |
2024-03-10 01:54:27 +0100 | mulk | (~mulk@p5b2dc01b.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
2024-03-10 01:55:00 +0100 | mulk | (~mulk@p5b1126ae.dip0.t-ipconnect.de) |
2024-03-10 01:55:04 +0100 | driib | (~driib@vmi931078.contaboserver.net) |
2024-03-10 01:55:47 +0100 | oo_miguel | (~Thunderbi@78-11-181-16.static.ip.netia.com.pl) (Ping timeout: 272 seconds) |
2024-03-10 01:57:21 +0100 | TonyStone | (~TonyStone@074-076-057-186.res.spectrum.com) (Remote host closed the connection) |
2024-03-10 02:36:46 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 255 seconds) |
2024-03-10 02:44:03 +0100 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) (Quit: leaving) |
2024-03-10 02:44:22 +0100 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
2024-03-10 02:44:44 +0100 | TonyStone | (~TonyStone@074-076-057-186.res.spectrum.com) |
2024-03-10 03:01:11 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 264 seconds) |
2024-03-10 03:03:09 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2024-03-10 03:22:01 +0100 | ph88 | (~ph88@2a02:8109:9e26:c800:61b8:7e22:3ff5:acf1) (Remote host closed the connection) |
2024-03-10 03:33:21 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-03-10 03:43:27 +0100 | otto_s | (~user@p4ff27bc5.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2024-03-10 03:44:52 +0100 | otto_s | (~user@p5b044d07.dip0.t-ipconnect.de) |
2024-03-10 03:51:42 +0100 | bilegeek | (~bilegeek@2600:1008:b015:7e93:e903:6f7f:5892:51df) |
2024-03-10 03:55:29 +0100 | hughjfch1 | (~hughjfche@vmi556545.contaboserver.net) (Quit: WeeChat 3.7.1) |
2024-03-10 03:56:46 +0100 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) |
2024-03-10 04:05:02 +0100 | op_4 | (~tslil@user/op-4/x-9116473) (Remote host closed the connection) |
2024-03-10 04:05:35 +0100 | op_4 | (~tslil@user/op-4/x-9116473) |
2024-03-10 04:12:04 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
2024-03-10 04:12:25 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-03-10 04:21:40 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
2024-03-10 04:29:50 +0100 | Inst | (~Inst@120.244.192.27) (Remote host closed the connection) |
2024-03-10 04:58:44 +0100 | td_ | (~td@i5387090F.versanet.de) (Ping timeout: 252 seconds) |
2024-03-10 05:00:27 +0100 | td_ | (~td@i53870927.versanet.de) |
2024-03-10 05:19:22 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 260 seconds) |
2024-03-10 05:22:52 +0100 | aforemny | (~aforemny@i59F516FE.versanet.de) |
2024-03-10 05:22:59 +0100 | aforemny_ | (~aforemny@2001:9e8:6cc9:7200:b326:eda8:743b:1401) (Ping timeout: 261 seconds) |
2024-03-10 05:24:02 +0100 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 260 seconds) |
2024-03-10 05:30:35 +0100 | werneta | (~werneta@024-205-076-158.res.spectrum.com) |
2024-03-10 05:31:23 +0100 | werneta | (~werneta@024-205-076-158.res.spectrum.com) (Client Quit) |
2024-03-10 05:32:23 +0100 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 264 seconds) |
2024-03-10 05:38:26 +0100 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2024-03-10 05:39:39 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2024-03-10 05:44:25 +0100 | dsrt^ | (~cd@c-98-242-74-66.hsd1.ga.comcast.net) |
2024-03-10 05:52:04 +0100 | RedNifre | (~RedNifre@dslb-002-206-121-021.002.206.pools.vodafone-ip.de) (Ping timeout: 255 seconds) |
2024-03-10 06:04:40 +0100 | RedNifre | (~RedNifre@dslb-002-205-008-195.002.205.pools.vodafone-ip.de) |
2024-03-10 06:05:17 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
2024-03-10 06:11:13 +0100 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 264 seconds) |
2024-03-10 06:17:06 +0100 | werneta | (~werneta@024-205-076-158.res.spectrum.com) |
2024-03-10 06:30:03 +0100 | __monty__ | (~toonn@user/toonn) |
2024-03-10 06:39:57 +0100 | ania123 | (~ania123@94-43-231-47.dsl.utg.ge) |
2024-03-10 06:42:30 +0100 | hgolden | (~hgolden@2603-8000-9d00-3ed1-2678-8497-aa5c-7fa9.res6.spectrum.com) (Remote host closed the connection) |
2024-03-10 06:53:09 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-03-10 06:56:35 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Client Quit) |
2024-03-10 07:01:30 +0100 | igemnace | (~ian@user/igemnace) |
2024-03-10 07:01:55 +0100 | bilegeek | (~bilegeek@2600:1008:b015:7e93:e903:6f7f:5892:51df) (Quit: Leaving) |
2024-03-10 07:04:54 +0100 | jargon | (~jargon@174.sub-174-205-227.myvzw.com) |
2024-03-10 07:12:06 +0100 | euphores | (~SASL_euph@user/euphores) (Quit: Leaving.) |
2024-03-10 07:18:28 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2024-03-10 07:19:01 +0100 | bontaq | (~user@ool-45779c03.dyn.optonline.net) (Ping timeout: 264 seconds) |
2024-03-10 07:22:37 +0100 | euphores | (~SASL_euph@user/euphores) |
2024-03-10 07:23:42 +0100 | jau | (~user@2a04:4540:7215:f000:d03e:3f46:b2b2:f465) |
2024-03-10 07:41:57 +0100 | hgolden | (~hgolden@2603-8000-9d00-3ed1-2678-8497-aa5c-7fa9.res6.spectrum.com) |
2024-03-10 07:43:35 +0100 | ski | (~ski@ext-1-033.eduroam.chalmers.se) (Remote host closed the connection) |
2024-03-10 07:47:28 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
2024-03-10 07:48:35 +0100 | ski | (~ski@ext-1-033.eduroam.chalmers.se) |
2024-03-10 07:54:12 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
2024-03-10 07:55:42 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 260 seconds) |
2024-03-10 07:56:38 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-03-10 08:00:07 +0100 | tt1231 | (~tt123@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) (Quit: The Lounge - https://thelounge.chat) |
2024-03-10 08:01:15 +0100 | sam113102 | (~sam@modemcable043.190-201-24.mc.videotron.ca) |
2024-03-10 08:02:13 +0100 | tt1231 | (~tt123@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) |
2024-03-10 08:03:15 +0100 | Inst | (~Inst@120.244.192.27) |
2024-03-10 08:03:22 +0100 | <Inst> | I just discovered that Java is the most amazing language ever created |
2024-03-10 08:03:27 +0100 | sam113101 | (~sam@modemcable146.137-200-24.mc.videotron.ca) (Ping timeout: 255 seconds) |
2024-03-10 08:03:29 +0100 | sam113102 | sam113101 |
2024-03-10 08:03:54 +0100 | <Inst> | especially when it comes to PLT |
2024-03-10 08:06:15 +0100 | <probie> | What ground-breaking features of Java have allowed you to come that conclusion? |
2024-03-10 08:08:16 +0100 | <Inst> | absurd verbosity, deliberately user-hostile type system, the absence of all basic amenities necessary for modern programming |
2024-03-10 08:08:20 +0100 | <Inst> | I didn't say it was good, just amazing |
2024-03-10 08:08:26 +0100 | <Inst> | It makes every other language look good by comparison |
2024-03-10 08:09:11 +0100 | <Inst> | It's like a committee got together to design the most ugly and inelegant language possible and, god forbid, actually succeeded |
2024-03-10 08:09:14 +0100 | <Inst> | It's a masterpiece |
2024-03-10 08:09:59 +0100 | <Inst> | https://cdn.discordapp.com/attachments/244230771232079873/1216281049718460426/image.png?ex=65ffd0f… |
2024-03-10 08:10:19 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-03-10 08:10:26 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
2024-03-10 08:11:02 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-03-10 08:14:11 +0100 | <probie> | If you want an ugly language that was actually designed by committee, look at Ada |
2024-03-10 08:14:40 +0100 | versatile_ | (~versatile@176.254.244.83) (Ping timeout: 246 seconds) |
2024-03-10 08:14:59 +0100 | m1dnight | (~christoph@82.146.125.185) (Ping timeout: 264 seconds) |
2024-03-10 08:15:47 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 272 seconds) |
2024-03-10 08:17:37 +0100 | <Inst> | Shouldn't you consider Ada to have redeeming factors? |
2024-03-10 08:19:56 +0100 | <probie> | I love Ada. I wish that more languages (including Haskell) would have its numeric types. But it is ugly and verbose |
2024-03-10 08:20:35 +0100 | <Inst> | Maybe I should get more into Java, but Java feels, at this point, to be the language that everyone should learn in and be forced to program in if only to learn how to stop complaining about other programming languages. |
2024-03-10 08:20:38 +0100 | <Inst> | Nothing can be this bad. |
2024-03-10 08:20:47 +0100 | misterfish | (~misterfis@84.53.85.146) |
2024-03-10 08:21:16 +0100 | <mauke> | a mediocre language for mediocre programmers to consistently churn out mediocre code |
2024-03-10 08:21:25 +0100 | <probie> | There are worse languages than Java, it's just that none of them survive very long (apart from PHP) |
2024-03-10 08:21:42 +0100 | <probie> | mauke: But there's a superior mediocre language for that; it's called golang |
2024-03-10 08:22:50 +0100 | <Inst> | I can't hate Java programmers |
2024-03-10 08:22:53 +0100 | <Inst> | they have to program in Java every day |
2024-03-10 08:23:02 +0100 | <Inst> | that takes strength of spirit that requires respect |
2024-03-10 08:23:29 +0100 | <Inst> | i'm looking at Ada code samples, and while it's not pretty, it's still better than Java |
2024-03-10 08:25:28 +0100 | <haskellbridge> | <sm> Java has been productive. A lot of very effective software is written in it |
2024-03-10 08:26:15 +0100 | <haskellbridge> | <sm> I think it has in common with Haskell that it's one of those languages where you can keep building bigger apps and it still works |
2024-03-10 08:26:52 +0100 | <mauke> | https://blog.plover.com/prog/Java.html |
2024-03-10 08:26:55 +0100 | <probie> | A lot of very effective software is written in COBOL |
2024-03-10 08:26:56 +0100 | <haskellbridge> | <sm> scales pretty well, ie |
2024-03-10 08:27:00 +0100 | <Inst> | but for the first time, I finally understand why people complain about Haskell idiomatically containing type signatures |
2024-03-10 08:28:46 +0100 | <Inst> | I mean you can say it's a form of commenting, a favor from a developer to a developer, you can say it's a key element of program design, but it's faintly reminiscent of Java's boilerplate and now their disdain is understandable |
2024-03-10 08:29:35 +0100 | airscape | (~airscape@176.254.244.83) |
2024-03-10 08:31:35 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-03-10 08:32:50 +0100 | bliminse | (~bliminse@user/bliminse) (Quit: leaving) |
2024-03-10 08:33:07 +0100 | bilegeek | (~bilegeek@2600:1008:b087:8918:6578:b80:42d0:8b0e) |
2024-03-10 08:42:37 +0100 | bliminse | (~bliminse@user/bliminse) |
2024-03-10 08:43:11 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 260 seconds) |
2024-03-10 08:43:28 +0100 | <Inst> | Java is neither a good nor a bad language. It is a mediocre language, and there is no struggle. In Haskell or even in Perl you are always worrying about whether you are doing something in the cleanest and the best way. In Java, you can forget about doing it in the cleanest or the best way, because that is impossible. Whatever you do, however hard you try, the code will come out mediocre, verbose, redundant, and bloated, and the only thing you can do is relax |
2024-03-10 08:43:29 +0100 | <Inst> | and keep turning the crank until the necessary amount of code has come out of the spout. If it takes ten times as much code as it would to program in Haskell, that is all right, because the IDE will generate half of it for you, and you are still being paid to write the other half. |
2024-03-10 08:43:54 +0100 | <Inst> | thanks mauke |
2024-03-10 08:51:30 +0100 | werneta | (~werneta@024-205-076-158.res.spectrum.com) (Quit: leaving) |
2024-03-10 08:54:00 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-03-10 08:56:31 +0100 | <probie> | Also, you can turn writing Java into a game like "how many new classes can I create" and your coworkers can't tell, because it's Java and maybe that was actually the right solution |
2024-03-10 08:58:05 +0100 | <probie> | Or another fun game, "no ifs allowed, except in a factory" |
2024-03-10 09:04:46 +0100 | pwntips | (~pwntips@user/pwntips) |
2024-03-10 09:06:40 +0100 | pwntips | (~pwntips@user/pwntips) (Remote host closed the connection) |
2024-03-10 09:07:05 +0100 | pwntips | (~pwntips@user/pwntips) |
2024-03-10 09:11:02 +0100 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2024-03-10 09:11:29 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-03-10 09:16:35 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 272 seconds) |
2024-03-10 09:19:17 +0100 | econo_ | (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2024-03-10 09:30:25 +0100 | <haskellbridge> | <Jade> Inst: I think it's possible to write good java code, but the language actively works against you while doing so |
2024-03-10 09:32:02 +0100 | <haskellbridge> | <Jade> probie: A rather simple feature I'm working on at the moment already has ~10 new classes. If I had written this in haskell it would be 1-2 modules with maybe 1/10th the code |
2024-03-10 09:35:39 +0100 | acidjnk_new3 | (~acidjnk@p200300d6e737e7747555095b6f843b59.dip0.t-ipconnect.de) |
2024-03-10 09:36:20 +0100 | target_i | (~target_i@user/target-i/x-6023099) |
2024-03-10 09:36:41 +0100 | oo_miguel | (~Thunderbi@78-11-181-16.static.ip.netia.com.pl) |
2024-03-10 09:39:08 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2024-03-10 09:41:02 +0100 | ania123 | (~ania123@94-43-231-47.dsl.utg.ge) (Quit: Client closed) |
2024-03-10 09:41:13 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-03-10 09:42:55 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds) |
2024-03-10 09:44:31 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-03-10 09:44:38 +0100 | micro | (~micro@user/micro) (Remote host closed the connection) |
2024-03-10 09:47:07 +0100 | micro | (~micro@user/micro) |
2024-03-10 09:48:04 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-03-10 09:48:59 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 260 seconds) |
2024-03-10 09:51:25 +0100 | ski | (~ski@ext-1-033.eduroam.chalmers.se) (Ping timeout: 264 seconds) |
2024-03-10 09:54:21 +0100 | gmg | (~user@user/gehmehgeh) |
2024-03-10 09:54:55 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2024-03-10 09:57:51 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Ping timeout: 268 seconds) |
2024-03-10 09:57:52 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-03-10 09:58:33 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-03-10 10:04:02 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-03-10 10:09:29 +0100 | ft | (~ft@p508db2e6.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2024-03-10 10:11:26 +0100 | ft | (~ft@p3e9bce6e.dip0.t-ipconnect.de) |
2024-03-10 10:20:40 +0100 | bilegeek | (~bilegeek@2600:1008:b087:8918:6578:b80:42d0:8b0e) (Quit: Leaving) |
2024-03-10 10:35:42 +0100 | tzh | (~tzh@c-73-164-206-160.hsd1.or.comcast.net) (Quit: zzz) |
2024-03-10 10:36:20 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2024-03-10 10:37:38 +0100 | gmg | (~user@user/gehmehgeh) (Ping timeout: 260 seconds) |
2024-03-10 10:38:23 +0100 | gmg | (~user@user/gehmehgeh) |
2024-03-10 10:42:17 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2024-03-10 10:44:04 +0100 | Guest28 | (~Guest28@103.165.84.206) |
2024-03-10 10:45:06 +0100 | gmg | (~user@user/gehmehgeh) (Ping timeout: 260 seconds) |
2024-03-10 10:47:24 +0100 | Guest28 | (~Guest28@103.165.84.206) (Client Quit) |
2024-03-10 10:56:40 +0100 | Lycurgus | (~georg@user/Lycurgus) (Quit: leaving) |
2024-03-10 10:58:01 +0100 | qqq | (~qqq@92.43.167.61) |
2024-03-10 10:58:17 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer) |
2024-03-10 10:58:57 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2024-03-10 10:59:13 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 264 seconds) |
2024-03-10 11:01:11 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 252 seconds) |
2024-03-10 11:02:20 +0100 | johnw_ | (~johnw@69.62.242.138) |
2024-03-10 11:02:24 +0100 | fmd | (~fmd@2a02:8429:4b52:f901:795a:84d0:5b8d:4db9) |
2024-03-10 11:02:53 +0100 | anpad | (~pandeyan@user/anpad) (Ping timeout: 240 seconds) |
2024-03-10 11:03:46 +0100 | anpad | (~pandeyan@user/anpad) |
2024-03-10 11:04:48 +0100 | johnw | (~johnw@69.62.242.138) (Ping timeout: 255 seconds) |
2024-03-10 11:08:48 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2024-03-10 11:17:56 +0100 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
2024-03-10 11:18:39 +0100 | sefidel | (~sefidel@user/sefidel) (Remote host closed the connection) |
2024-03-10 11:19:31 +0100 | sefidel | (~sefidel@user/sefidel) |
2024-03-10 11:20:18 +0100 | JimL | (~quassel@89.162.16.26) |
2024-03-10 11:23:35 +0100 | pavonia_ | (~user@user/siracusa) |
2024-03-10 11:25:30 +0100 | pavonia | (~user@user/siracusa) (Ping timeout: 255 seconds) |
2024-03-10 11:27:32 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-03-10 11:28:14 +0100 | pavonia_ | (~user@user/siracusa) (Ping timeout: 256 seconds) |
2024-03-10 11:30:30 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
2024-03-10 11:31:41 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 240 seconds) |
2024-03-10 11:32:18 +0100 | fmd | (~fmd@2a02:8429:4b52:f901:795a:84d0:5b8d:4db9) (Quit: WeeChat 4.1.1) |
2024-03-10 11:36:06 +0100 | pavonia | (~user@user/siracusa) |
2024-03-10 11:43:19 +0100 | michalz | (~michalz@185.246.207.200) |
2024-03-10 11:43:21 +0100 | gehmehgeh | gmg |
2024-03-10 11:46:55 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2024-03-10 12:00:57 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-03-10 12:01:26 +0100 | mrmr155334 | (~mrmr@user/mrmr) (Quit: Bye, See ya later!) |
2024-03-10 12:02:46 +0100 | igemnace | (~ian@user/igemnace) (Read error: Connection reset by peer) |
2024-03-10 12:05:48 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 268 seconds) |
2024-03-10 12:06:36 +0100 | mrmr155334 | (~mrmr@user/mrmr) |
2024-03-10 12:14:42 +0100 | gmg | (~user@user/gehmehgeh) (Ping timeout: 260 seconds) |
2024-03-10 12:15:53 +0100 | gmg | (~user@user/gehmehgeh) |
2024-03-10 12:21:03 +0100 | igemnace | (~ian@user/igemnace) |
2024-03-10 12:35:43 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-03-10 12:40:10 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 264 seconds) |
2024-03-10 12:53:57 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-03-10 12:54:35 +0100 | agrosant | (~agrosant@77.49.41.227.dsl.dyn.forthnet.gr) (Ping timeout: 264 seconds) |
2024-03-10 12:55:10 +0100 | michalz | (~michalz@185.246.207.200) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-03-10 12:59:28 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 256 seconds) |
2024-03-10 13:05:30 +0100 | Domitar | (~Domitar@193.198.16.218) |
2024-03-10 13:08:07 +0100 | Domitar | (~Domitar@193.198.16.218) (Remote host closed the connection) |
2024-03-10 13:11:01 +0100 | __monty__ | (~toonn@user/toonn) |
2024-03-10 13:11:45 +0100 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
2024-03-10 13:15:28 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds) |
2024-03-10 13:20:45 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-03-10 13:28:21 +0100 | misterfish | (~misterfis@84.53.85.146) (Ping timeout: 255 seconds) |
2024-03-10 13:32:17 +0100 | Sciencentistguy9 | (~sciencent@hacksoc/ordinary-member) |
2024-03-10 13:34:13 +0100 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) (Ping timeout: 255 seconds) |
2024-03-10 13:35:06 +0100 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) |
2024-03-10 13:36:19 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-03-10 13:36:55 +0100 | ski | (~ski@ext-1-033.eduroam.chalmers.se) |
2024-03-10 13:37:22 +0100 | Sciencentistguy9 | (~sciencent@hacksoc/ordinary-member) (Ping timeout: 255 seconds) |
2024-03-10 13:39:01 +0100 | agrosant | (~agrosant@77.49.35.76.dsl.dyn.forthnet.gr) |
2024-03-10 13:39:35 +0100 | <cheater> | if i'm writing a piece of code, is there a hack to let it know at runtime what file it was written in? |
2024-03-10 13:39:55 +0100 | <cheater> | like "this code was in Foo.hs" |
2024-03-10 13:41:06 +0100 | <mauke> | could be done with template haskell |
2024-03-10 13:41:22 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2024-03-10 13:42:35 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 272 seconds) |
2024-03-10 13:47:20 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-03-10 13:48:45 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2024-03-10 13:50:08 +0100 | <tomsmeding> | cheater: https://hackage.haskell.org/package/template-haskell-2.18.0.0/docs/Language-Haskell-TH.html#v:loca… |
2024-03-10 13:52:06 +0100 | <tomsmeding> | % :set -XTemplateHaskell |
2024-03-10 13:52:06 +0100 | <yahb2> | <no output> |
2024-03-10 13:52:16 +0100 | <tomsmeding> | % import Language.Haskell.TH.Syntax |
2024-03-10 13:52:16 +0100 | <yahb2> | <no output> |
2024-03-10 13:52:21 +0100 | <tomsmeding> | % deriving instance Lift Loc |
2024-03-10 13:52:21 +0100 | <yahb2> | <no output> |
2024-03-10 13:52:29 +0100 | <tomsmeding> | % $(lift =<< location) |
2024-03-10 13:52:29 +0100 | <yahb2> | Loc {loc_filename = "<interactive>", loc_package = "interactive", loc_module = "Ghci26", loc_start = (289,2), loc_end = (289,21)} |
2024-03-10 13:52:51 +0100 | <tomsmeding> | or without the orphan Lift instance: |
2024-03-10 13:53:04 +0100 | <tomsmeding> | % $(LitE . StringL . loc_filename <$> location) |
2024-03-10 13:53:04 +0100 | <yahb2> | "<interactive>" |
2024-03-10 13:53:34 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 255 seconds) |
2024-03-10 13:55:08 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2024-03-10 13:57:00 +0100 | ski | (~ski@ext-1-033.eduroam.chalmers.se) (Ping timeout: 260 seconds) |
2024-03-10 14:00:25 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-03-10 14:05:46 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 256 seconds) |
2024-03-10 14:07:13 +0100 | ski | (~ski@ext-1-033.eduroam.chalmers.se) |
2024-03-10 14:07:35 +0100 | Joao[3] | (~Joao003@190.108.99.67) |
2024-03-10 14:14:59 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 264 seconds) |
2024-03-10 14:20:10 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-03-10 14:22:06 +0100 | YoungFrog | (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in) |
2024-03-10 14:22:44 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2024-03-10 14:23:15 +0100 | <cheater> | ty :) |
2024-03-10 14:25:00 +0100 | a51 | (a51@gateway/vpn/protonvpn/a51) |
2024-03-10 14:25:01 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 272 seconds) |
2024-03-10 14:25:31 +0100 | YoungFrog | (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) |
2024-03-10 14:38:42 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-03-10 14:47:07 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
2024-03-10 14:47:20 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-03-10 14:48:49 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
2024-03-10 14:50:59 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-03-10 14:55:42 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 268 seconds) |
2024-03-10 14:56:34 +0100 | misterfish | (~misterfis@84.53.85.146) |
2024-03-10 14:59:13 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds) |
2024-03-10 15:00:06 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-03-10 15:10:38 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-03-10 15:15:00 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 255 seconds) |
2024-03-10 15:16:23 +0100 | misterfish | (~misterfis@84.53.85.146) (Ping timeout: 252 seconds) |
2024-03-10 15:22:20 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-03-10 15:23:38 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-03-10 15:26:51 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 260 seconds) |
2024-03-10 15:33:24 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2024-03-10 15:33:39 +0100 | CiaoSen | (~Jura@2a05:5800:29c:9e00:e6b9:7aff:fe80:3d03) |
2024-03-10 15:40:25 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer) |
2024-03-10 15:45:47 +0100 | Arsen | (arsen@gentoo/developer/managarm.dev.Arsen) (Quit: Quit.) |
2024-03-10 15:46:09 +0100 | Arsen | (arsen@gentoo/developer/managarm.dev.Arsen) |
2024-03-10 15:46:19 +0100 | Arsen | (arsen@gentoo/developer/managarm.dev.Arsen) (Client Quit) |
2024-03-10 15:46:55 +0100 | Silver_X | (~Silver_X@182.178.157.2) |
2024-03-10 15:47:01 +0100 | Arsen | (arsen@gentoo/developer/managarm.dev.Arsen) |
2024-03-10 15:54:53 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-03-10 15:55:10 +0100 | Silver_X | (~Silver_X@182.178.157.2) (Quit: Leaving) |
2024-03-10 15:57:42 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2024-03-10 15:59:50 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 268 seconds) |
2024-03-10 16:02:41 +0100 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) (Quit: Leaving) |
2024-03-10 16:02:55 +0100 | son0p | (~ff@152.203.102.157) (Remote host closed the connection) |
2024-03-10 16:08:43 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-03-10 16:10:38 +0100 | a51 | (a51@gateway/vpn/protonvpn/a51) (Quit: WeeChat 4.2.1) |
2024-03-10 16:12:53 +0100 | igemnace | (~ian@user/igemnace) (Quit: WeeChat 4.2.1) |
2024-03-10 16:12:57 +0100 | rscastilho2024 | (~rscastilh@179.221.142.47) |
2024-03-10 16:14:28 +0100 | a51 | (a51@gateway/vpn/protonvpn/a51) |
2024-03-10 16:15:08 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 260 seconds) |
2024-03-10 16:28:18 +0100 | Juani7 | (~Juani7@static.203.52.itcsa.net) |
2024-03-10 16:28:39 +0100 | Juani7 | (~Juani7@static.203.52.itcsa.net) () |
2024-03-10 16:33:53 +0100 | <haskellbridge> | <irregularsphere> probie: "how many classes can I create" reminds me of "AbstractFactoryProxyDecoratorSingletonBuilder" |
2024-03-10 16:34:53 +0100 | son0p | (~ff@152.203.102.157) |
2024-03-10 16:46:47 +0100 | Square | (~Square@user/square) (Ping timeout: 264 seconds) |
2024-03-10 16:47:45 +0100 | <haskellbridge> | <eldritchcookie> hello, for the people that use effectfull how important do you think being able to not need IOE is ? |
2024-03-10 16:48:12 +0100 | <haskellbridge> | <eldritchcookie> basically i have a katip-effectful package which i forgot to upload to hackage |
2024-03-10 16:48:46 +0100 | <haskellbridge> | <eldritchcookie> and i am considering rewriting it such that you do not need IOE to call logging functions |
2024-03-10 16:54:14 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 260 seconds) |
2024-03-10 16:54:42 +0100 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds) |
2024-03-10 16:57:48 +0100 | tabemann | (~tabemann@2600:1700:7990:24e0:bade:358a:4ab3:923a) (Remote host closed the connection) |
2024-03-10 16:58:03 +0100 | tabemann | (~tabemann@2600:1700:7990:24e0:3862:7657:cc38:1f12) |
2024-03-10 17:02:05 +0100 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
2024-03-10 17:02:23 +0100 | <glguy> | What's IOE? |
2024-03-10 17:07:47 +0100 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 272 seconds) |
2024-03-10 17:19:46 +0100 | <glguy> | cheater: depending on what you're doing they'd also the HasCallstack type class |
2024-03-10 17:20:12 +0100 | <cheater> | cool |
2024-03-10 17:20:15 +0100 | <cheater> | ty |
2024-03-10 17:20:40 +0100 | CiaoSen | (~Jura@2a05:5800:29c:9e00:e6b9:7aff:fe80:3d03) (Ping timeout: 246 seconds) |
2024-03-10 17:21:26 +0100 | rscastilho2024 | (~rscastilh@179.221.142.47) (Remote host closed the connection) |
2024-03-10 17:24:12 +0100 | CiaoSen | (~Jura@5.83.182.171) |
2024-03-10 17:28:10 +0100 | rscastilho2024 | (~rscastilh@179.221.142.47) |
2024-03-10 17:33:44 +0100 | CiaoSen | (~Jura@5.83.182.171) (Ping timeout: 256 seconds) |
2024-03-10 17:34:11 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2024-03-10 17:35:27 +0100 | CiaoSen | (~Jura@2a05:5800:2c2:1700:e6b9:7aff:fe80:3d03) |
2024-03-10 17:36:31 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
2024-03-10 17:42:49 +0100 | Natch | (~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) (Ping timeout: 268 seconds) |
2024-03-10 17:44:11 +0100 | YoungFrog | (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in) |
2024-03-10 17:44:11 +0100 | byte | (~byte@user/byte) |
2024-03-10 17:57:24 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
2024-03-10 17:57:42 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2024-03-10 17:58:06 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer) |
2024-03-10 18:00:11 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) |
2024-03-10 18:11:50 +0100 | rscastilho2024 | (~rscastilh@179.221.142.47) (Ping timeout: 252 seconds) |
2024-03-10 18:16:41 +0100 | rscastilho2024 | (~rscastilh@179.221.142.47) |
2024-03-10 18:20:56 +0100 | tzh | (~tzh@c-73-164-206-160.hsd1.or.comcast.net) |
2024-03-10 18:25:47 +0100 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 264 seconds) |
2024-03-10 18:27:39 +0100 | Lycurgus | (~georg@user/Lycurgus) |
2024-03-10 18:31:01 +0100 | zetef | (~quassel@5.2.182.98) |
2024-03-10 18:34:35 +0100 | rvalue | (~rvalue@user/rvalue) |
2024-03-10 18:39:15 +0100 | Silver_X | (~Silver_X@182.178.157.2) |
2024-03-10 18:39:23 +0100 | Silver_X | (~Silver_X@182.178.157.2) (Client Quit) |
2024-03-10 18:40:55 +0100 | <haskellbridge> | <eldritchcookie> glguy: IOE is the Effect type used in Effectful to provide a MonadIO instance |
2024-03-10 18:41:23 +0100 | zetef | (~quassel@5.2.182.98) (Remote host closed the connection) |
2024-03-10 18:41:32 +0100 | rscastilho2024 | (~rscastilh@179.221.142.47) (Ping timeout: 252 seconds) |
2024-03-10 18:42:42 +0100 | <glguy> | Oh. If you're going to go through the hassle of using an effect library it seems like it'd be nice to have the effects tracking at the higher level of "I'm logging" than "I'm doing arbitrary IO" |
2024-03-10 18:44:09 +0100 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) |
2024-03-10 18:48:07 +0100 | <haskellbridge> | <eldritchcookie> i had the same idea |
2024-03-10 18:48:21 +0100 | <c_wraith> | in fact, the documentation says so too |
2024-03-10 18:48:30 +0100 | <c_wraith> | Note: it is not recommended to use this effect in application code as it is too liberal. Ideally, this is only used in handlers of more fine-grained effects. |
2024-03-10 18:49:08 +0100 | <haskellbridge> | <eldritchcookie> good to know i haven't wasted the last hour |
2024-03-10 18:50:38 +0100 | rscastilho2024 | (~rscastilh@179.221.142.47) |
2024-03-10 18:51:19 +0100 | <haskellbridge> | <eldritchcookie> anyways i met a problem, if i have IOE in the list of effects then i can use liftIO, but GHC is not accepting (MyEffect ': es) as containing IOE even though in the constraints i have es contains IOE |
2024-03-10 18:52:58 +0100 | <glguy> | Might make a small reproduction and toss it on the paste bin |
2024-03-10 18:53:02 +0100 | <EvanR> | liberals are ruining our effect libraries now too |
2024-03-10 18:53:24 +0100 | <c_wraith> | Just in general, GHC doesn't know that one constraint implies another. |
2024-03-10 18:54:44 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2024-03-10 18:54:51 +0100 | <geekosaur> | don't most effects libraries offer plugins for things like this? |
2024-03-10 18:55:38 +0100 | <c_wraith> | there is an effectful-plugin package |
2024-03-10 18:56:38 +0100 | <c_wraith> | It isn't documented as handling that case, though its documentation is pretty minimal. |
2024-03-10 19:00:16 +0100 | gentauro | (~gentauro@user/gentauro) |
2024-03-10 19:00:26 +0100 | ski | (~ski@ext-1-033.eduroam.chalmers.se) (Ping timeout: 256 seconds) |
2024-03-10 19:02:02 +0100 | ski | (~ski@ext-1-033.eduroam.chalmers.se) |
2024-03-10 19:03:06 +0100 | econo_ | (uid147250@id-147250.tinside.irccloud.com) |
2024-03-10 19:04:19 +0100 | CiaoSen | (~Jura@2a05:5800:2c2:1700:e6b9:7aff:fe80:3d03) (Ping timeout: 272 seconds) |
2024-03-10 19:05:46 +0100 | CiaoSen | (~Jura@2a05:5800:28f:8800:e6b9:7aff:fe80:3d03) |
2024-03-10 19:08:52 +0100 | <haskellbridge> | <eldritchcookie> hmm this just seems like it would be solvable with a quantified constraint |
2024-03-10 19:14:02 +0100 | rscastilho2024 | (~rscastilh@179.221.142.47) (Ping timeout: 256 seconds) |
2024-03-10 19:17:25 +0100 | rscastilho2024 | (~rscastilh@179.221.142.47) |
2024-03-10 19:21:27 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2024-03-10 19:25:22 +0100 | Vajb | (~Vajb@n70t65z9ztei3blo55b-1.v6.elisa-mobile.fi) (Read error: Connection reset by peer) |
2024-03-10 19:26:14 +0100 | Vajb | (~Vajb@mobile-access-567351-201.dhcp.inet.fi) |
2024-03-10 19:33:41 +0100 | rscastilho2024 | (~rscastilh@179.221.142.47) (Ping timeout: 240 seconds) |
2024-03-10 19:34:30 +0100 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
2024-03-10 19:39:53 +0100 | rscastilho2024 | (~rscastilh@179.221.142.47) |
2024-03-10 19:48:58 +0100 | bontaq | (~user@ool-45779c03.dyn.optonline.net) |
2024-03-10 19:52:47 +0100 | euphores | (~SASL_euph@user/euphores) (Quit: Leaving.) |
2024-03-10 19:55:21 +0100 | Vajb | (~Vajb@mobile-access-567351-201.dhcp.inet.fi) (Ping timeout: 255 seconds) |
2024-03-10 19:55:44 +0100 | Vajb | (~Vajb@2001:999:680:5044:15b1:c43e:d1c0:210f) |
2024-03-10 19:59:30 +0100 | srz | (~srz@181.228.49.93) |
2024-03-10 20:01:09 +0100 | euphores | (~SASL_euph@user/euphores) |
2024-03-10 20:09:16 +0100 | rscastilho2024 | (~rscastilh@179.221.142.47) (Ping timeout: 268 seconds) |
2024-03-10 20:12:55 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
2024-03-10 20:13:39 +0100 | rscastilho2024 | (rscastilho@179.221.142.47) |
2024-03-10 20:21:10 +0100 | Sciencentistguy6 | (~sciencent@hacksoc/ordinary-member) |
2024-03-10 20:21:37 +0100 | ania123 | (~ania123@146.255.226.194) |
2024-03-10 20:23:16 +0100 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) (Ping timeout: 255 seconds) |
2024-03-10 20:23:16 +0100 | Sciencentistguy6 | Sciencentistguy |
2024-03-10 20:25:07 +0100 | gabriel_sevecek | (~gabriel@188-167-229-200.dynamic.chello.sk) (Quit: WeeChat 4.2.1) |
2024-03-10 20:26:33 +0100 | gabriel_sevecek | (~gabriel@188-167-229-200.dynamic.chello.sk) |
2024-03-10 20:28:53 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2024-03-10 20:32:02 +0100 | srz | (~srz@181.228.49.93) (Remote host closed the connection) |
2024-03-10 20:32:15 +0100 | Eoco | (~ian@128.101.131.218) (Ping timeout: 255 seconds) |
2024-03-10 20:33:22 +0100 | srz | (~srz@181.228.49.93) |
2024-03-10 20:38:05 +0100 | CiaoSen | (~Jura@2a05:5800:28f:8800:e6b9:7aff:fe80:3d03) (Ping timeout: 240 seconds) |
2024-03-10 20:39:33 +0100 | qqq | (~qqq@92.43.167.61) (Read error: Connection reset by peer) |
2024-03-10 20:41:14 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-03-10 20:43:46 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2024-03-10 20:44:34 +0100 | qqq | (~qqq@92.43.167.61) |
2024-03-10 20:48:10 +0100 | srz_ | (~srz@181.228.49.93) |
2024-03-10 20:49:28 +0100 | srz | (~srz@181.228.49.93) (Remote host closed the connection) |
2024-03-10 20:50:51 +0100 | <haskellbridge> | <eldritchcookie> https://play.haskell.org/saved/6ySkyMjH why does it error on Katip and not Effectful? |
2024-03-10 20:52:42 +0100 | <geekosaur> | dunno what packages tomsmeding exposed to the playground |
2024-03-10 20:53:09 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-03-10 20:55:33 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-03-10 20:56:45 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
2024-03-10 21:06:38 +0100 | Eoco | (~ian@128.101.131.218) |
2024-03-10 21:06:56 +0100 | qqq | (~qqq@92.43.167.61) (Read error: Connection reset by peer) |
2024-03-10 21:07:46 +0100 | <nullie> | https://github.com/haskell/play-haskell/blob/a30f6149ed523b0b26cbd89cae96afc304829e7f/play-haskell… |
2024-03-10 21:11:50 +0100 | qqq | (~qqq@92.43.167.61) |
2024-03-10 21:16:30 +0100 | michalz | (~michalz@185.246.207.205) |
2024-03-10 21:16:48 +0100 | Eoco | (~ian@128.101.131.218) (Ping timeout: 255 seconds) |
2024-03-10 21:20:07 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds) |
2024-03-10 21:20:20 +0100 | rscastilho2024 | (rscastilho@179.221.142.47) (Remote host closed the connection) |
2024-03-10 21:27:15 +0100 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Remote host closed the connection) |
2024-03-10 21:27:37 +0100 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
2024-03-10 21:29:43 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-03-10 21:48:09 +0100 | m1dnight | (~christoph@82.146.125.185) |
2024-03-10 21:52:15 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds) |
2024-03-10 21:55:15 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-03-10 21:57:28 +0100 | <endojelly> | So here's another lens question. I have a traversal over a two level Map. In my case that traversal is "ix name.traversed._2.expiring". You can see from that: First level is a map (indexed by name) whose children are maps (traversed), whose children are tuples. The traversal chooses the second part of the tuple (_2) and applies my own prism, "expiring". |
2024-03-10 21:58:18 +0100 | <endojelly> | Now traverseOf will return a list where all of this matches, i.e. the leaf element is "expiring". |
2024-03-10 21:59:26 +0100 | <endojelly> | But what I would like to have is a list of all elements on the second level, whether expiring or not, and when they are not expiring, it should be nothing. |
2024-03-10 22:00:02 +0100 | <endojelly> | Furthermore, I would like to be able to set an element to Nothing in the traversal to remove it. |
2024-03-10 22:01:07 +0100 | <endojelly> | It feels like I need something like "at", but instead of "at" applying to an index, I'd like "at" applying to... another prism? |
2024-03-10 22:01:20 +0100 | <ncf> | i'm gonna need an example |
2024-03-10 22:01:27 +0100 | <endojelly> | yeah, let me prepare a simpler one |
2024-03-10 22:02:39 +0100 | Etabeta1 | (~Etabeta1@176.207.241.56) |
2024-03-10 22:03:19 +0100 | <ncf> | superficially it sounds like this could have something to do with non' |
2024-03-10 22:04:26 +0100 | <c_wraith> | or maybe this is like the first non-curiosity use case for my package :) |
2024-03-10 22:08:30 +0100 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection) |
2024-03-10 22:08:49 +0100 | <endojelly> | Okay, so, let's look at this: |
2024-03-10 22:08:54 +0100 | <endojelly> | > let m = M.fromList [('a', 1), ('b', 2), ('c', 3), ('d', 4)] in traverseOf (traversed.filtered even) (return . (*2)) m |
2024-03-10 22:08:56 +0100 | <lambdabot> | error: |
2024-03-10 22:08:56 +0100 | <lambdabot> | • Ambiguous type variable ‘f0’ arising from a use of ‘show_M532113178426... |
2024-03-10 22:08:56 +0100 | <lambdabot> | prevents the constraint ‘(Show |
2024-03-10 22:09:10 +0100 | <endojelly> | > let m = M.fromList [('a', 1::Int), ('b', 2), ('c', 3), ('d', 4)] in traverseOf (traversed.filtered even) (return . (*2)) m |
2024-03-10 22:09:11 +0100 | <lambdabot> | error: |
2024-03-10 22:09:11 +0100 | <lambdabot> | • Ambiguous type variable ‘f0’ arising from a use of ‘show_M193502952598... |
2024-03-10 22:09:11 +0100 | <lambdabot> | prevents the constraint ‘(Show |
2024-03-10 22:09:21 +0100 | <endojelly> | hm, what's the issue? Works locally. |
2024-03-10 22:10:03 +0100 | <endojelly> | > let m = M.fromList [('a', 1), ('b', 2), ('c', 3), ('d', 4)] in traverseOf (traversed.filtered even) (return . (*2) :: Int -> IO Int) m |
2024-03-10 22:10:05 +0100 | <lambdabot> | <IO (Map Char Int)> |
2024-03-10 22:10:19 +0100 | <endojelly> | > let m = M.fromList [('a', 1), ('b', 2), ('c', 3), ('d', 4)] in traverseOf (traversed.filtered even) (return . (*2) :: Int -> Identity Int) m |
2024-03-10 22:10:20 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-03-10 22:10:20 +0100 | <lambdabot> | Identity (fromList [('a',1),('b',4),('c',3),('d',8)]) |
2024-03-10 22:10:25 +0100 | <endojelly> | makes sense. Sorry about that. |
2024-03-10 22:10:44 +0100 | <endojelly> | Anyway, what you see, is that I've selected all map elements where the value is even, and applied *2 to them. |
2024-03-10 22:11:13 +0100 | <endojelly> | Notably, the monadic action only got applied to elements which matched "filtered even" |
2024-03-10 22:13:02 +0100 | <endojelly> | (hang on, preparing something else) |
2024-03-10 22:18:20 +0100 | <ncf> | the suspense is unbearable |
2024-03-10 22:20:39 +0100 | <Joao[3]> | > let m = M.fromList [('a',1),('b',2),('c',3),('d',4)] in traverseOf (traversed.filtered even) (print . (*2)) m |
2024-03-10 22:20:41 +0100 | <lambdabot> | error: |
2024-03-10 22:20:41 +0100 | <lambdabot> | • No instance for (Integral ()) arising from a use of ‘even’ |
2024-03-10 22:20:41 +0100 | <lambdabot> | • In the first argument of ‘filtered’, namely ‘even’ |
2024-03-10 22:21:02 +0100 | <Joao[3]> | > let m = M.fromList [('a',1),('b',2),('c',3),('d',4)] in traverseOf (traversed.filtered even) (Identity . (*2)) m |
2024-03-10 22:21:04 +0100 | <lambdabot> | Identity (fromList [('a',1),('b',4),('c',3),('d',8)]) |
2024-03-10 22:21:05 +0100 | <endojelly> | okay, now if we look at this instead: |
2024-03-10 22:21:19 +0100 | <endojelly> | > let m = M.fromList [('a', 1), ('b', 2), ('c', 3), ('d', 4)] in traverseOf (at 'a') (\x -> return (Just 5) :: Identity (Maybe Int)) m |
2024-03-10 22:21:20 +0100 | <lambdabot> | Identity (fromList [('a',5),('b',2),('c',3),('d',4)]) |
2024-03-10 22:21:21 +0100 | <endojelly> | and this: |
2024-03-10 22:21:30 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-03-10 22:21:31 +0100 | <endojelly> | > let m = M.fromList [('a', 1), ('b', 2), ('c', 3), ('d', 4)] in traverseOf (at 'a') (\x -> return Nothing :: Identity (Maybe Int)) m |
2024-03-10 22:21:33 +0100 | <lambdabot> | Identity (fromList [('b',2),('c',3),('d',4)]) |
2024-03-10 22:22:06 +0100 | <endojelly> | as you can see, when using at, I can return Nothing to delete the element. |
2024-03-10 22:22:53 +0100 | <endojelly> | further more, these two examples don't show that, but my function operates on Maybes, not directly the integer. |
2024-03-10 22:25:58 +0100 | <endojelly> | Actually, the only thing I would like, is to be able to return Nothing in the function applied to the traversal, to delete an element. |
2024-03-10 22:26:31 +0100 | <c_wraith> | So... like... Do you want my lens-witherable package? |
2024-03-10 22:26:38 +0100 | <endojelly> | Maybe? |
2024-03-10 22:26:44 +0100 | <endojelly> | (pun unintended) |
2024-03-10 22:27:07 +0100 | <c_wraith> | It seems like a use case for mapMaybeOf |
2024-03-10 22:27:25 +0100 | <ncf> | so to summarise you want something like a Traversal' (Map k a) (Maybe a) that behaves like at but with multiple targets? |
2024-03-10 22:27:38 +0100 | <endojelly> | oh, that looks promising, c_wraith |
2024-03-10 22:27:48 +0100 | <endojelly> | ncf, yeah, pretty much |
2024-03-10 22:27:48 +0100 | <ncf> | if so, that's not literally possible because this isn't a lawful traversal, but other solutions might exist |
2024-03-10 22:28:08 +0100 | <c_wraith> | note that my package is intentionally not lenses. They're just things that happen to be compatible with them :) |
2024-03-10 22:28:32 +0100 | <endojelly> | I was envisioning something like being able to say "edit . filtered even" instead of "traversed . filtered even", and then the function passed to traverseOf (or something else) would turn from "Int -> m Int" to "Int -> m (Maybe Int)" |
2024-03-10 22:29:00 +0100 | <ncf> | > A Wither is like a Traversal, but you can also remove targets. |
2024-03-10 22:29:01 +0100 | <lambdabot> | <hint>:1:29: error: parse error on input ‘,’ |
2024-03-10 22:29:11 +0100 | <endojelly> | and to be able to do more complex things like "edit . _2 . filtered even" |
2024-03-10 22:29:14 +0100 | <ncf> | right so the solution is basically "stop caring about traversal laws" :) |
2024-03-10 22:29:44 +0100 | <endojelly> | qute possibly so! Looks like Withered is what I'm looking for... |
2024-03-10 22:32:00 +0100 | <c_wraith> | and I've noticed some garbled sentences in my docs. Woo. Time to upload a change that only fixes docs! |
2024-03-10 22:33:37 +0100 | <endojelly> | oh my, this works wonderfully. |
2024-03-10 22:33:50 +0100 | <c_wraith> | The thing I did for fun has turned out to be useful! |
2024-03-10 22:34:01 +0100 | <tomsmeding> | \o/ |
2024-03-10 22:34:33 +0100 | <c_wraith> | endojelly: I'm making a doc fix release. If there's anything you see that could use a touchup besides the docs for guarded, let me know |
2024-03-10 22:35:34 +0100 | <endojelly> | c_wraith, I straight ran into how it would be great if there's a mapMaybeOfM. I'm trying to build that myself with withering now. |
2024-03-10 22:36:08 +0100 | <c_wraith> | That's fair. I can add that. and I suppose I should do the same for the other two, while I'm at it. |
2024-03-10 22:36:21 +0100 | <endojelly> | but overall, it's great! |
2024-03-10 22:36:33 +0100 | <endojelly> | Not sure yet, but does seem to solve my problem |
2024-03-10 22:37:21 +0100 | <c_wraith> | specifically, you want (a -> m (Maybe b)) as one of those types? |
2024-03-10 22:37:28 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-03-10 22:37:37 +0100 | <c_wraith> | err, as the modification function type |
2024-03-10 22:38:17 +0100 | <endojelly> | yep |
2024-03-10 22:38:24 +0100 | <endojelly> | To state what I actually was trying to do: |
2024-03-10 22:39:05 +0100 | <endojelly> | I want to perform IO actions on some data deep in my nested data structure. Depending on the result of the IO action, I want to choose to remove the entire element at a higher level in the data structure. |
2024-03-10 22:39:11 +0100 | <c_wraith> | Yep, makes sense. |
2024-03-10 22:39:13 +0100 | <ncf> | any reason witherOf won't do? |
2024-03-10 22:39:32 +0100 | <c_wraith> | oh, right. Yes, that's what it does. |
2024-03-10 22:39:35 +0100 | <endojelly> | (A more general solution will likely also allow modifying elements, and it looks like yours do, but in this specific case I just don't need that.) |
2024-03-10 22:39:43 +0100 | <c_wraith> | Ok, I'll add some docs to point out that connection |
2024-03-10 22:40:13 +0100 | <endojelly> | Ah, I did not see witherOf, because I *did not actually click through to the module* and only read the readme. Don't know why... |
2024-03-10 22:40:29 +0100 | <endojelly> | yep, that is exactly what it does, thanks! |
2024-03-10 22:40:30 +0100 | <c_wraith> | Totally fair. That's a way I can improve the docs. |
2024-03-10 22:40:50 +0100 | <ncf> | you won't believe how it's implemented |
2024-03-10 22:41:23 +0100 | <c_wraith> | I'm really sad I needed my own type in there. |
2024-03-10 22:41:33 +0100 | <c_wraith> | But... MaybeT was too restrictive. |
2024-03-10 22:42:32 +0100 | Eoco | (~ian@128.101.131.218) |
2024-03-10 22:42:41 +0100 | <ncf> | what type? |
2024-03-10 22:43:23 +0100 | <c_wraith> | Withering is my own type alias that's nearly identical to MaybeT, except for the Applicative instance |
2024-03-10 22:43:39 +0100 | <c_wraith> | err. newtype, rather than alias. but sure. |
2024-03-10 22:44:04 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-03-10 22:44:06 +0100 | <ncf> | where's Withering? |
2024-03-10 22:44:19 +0100 | <c_wraith> | https://hackage.haskell.org/package/lens-witherable-0.1.0.2/docs/Witherable-Lens-Withering.html |
2024-03-10 22:44:41 +0100 | <endojelly> | Look at this, beautiful: |
2024-03-10 22:44:42 +0100 | <endojelly> | > let m = M.fromList [('a', ("foo", 1)), ('b', ("bar", 2)), ('c', ("baz", 3)), ('d', ("xyzzy", 4))] in witherOf (withered._2.filtered even) (\x -> tell [x] >> return (if x == 2 then Nothing else Just 5)) m :: Writer [Int] (M.Map Char (String, Int)) |
2024-03-10 22:44:44 +0100 | <lambdabot> | error: |
2024-03-10 22:44:44 +0100 | <lambdabot> | Variable not in scope: |
2024-03-10 22:44:44 +0100 | <lambdabot> | witherOf |
2024-03-10 22:44:55 +0100 | <endojelly> | well, okay, let me paste the result. |
2024-03-10 22:45:01 +0100 | <endojelly> | WriterT (Identity (fromList [('a',("foo",1)),('c',("baz",3)),('d',("xyzzy",5))],[2,4])) |
2024-03-10 22:46:04 +0100 | <ncf> | i think that's Compose f Maybe |
2024-03-10 22:46:15 +0100 | Joao[3] | (~Joao003@190.108.99.67) (Quit: Bye!) |
2024-03-10 22:46:22 +0100 | <c_wraith> | It is, but that's awful for documentation |
2024-03-10 22:46:59 +0100 | <c_wraith> | eh, maybe I should take inspiration from lens and document everything in terms of aliases anyway |
2024-03-10 22:47:09 +0100 | <ncf> | right so i was looking at the old Data.Witherable module for some reason |
2024-03-10 22:47:18 +0100 | <endojelly> | So... how much do I need to care that this doesn't follow lens laws? |
2024-03-10 22:47:49 +0100 | <endojelly> | Also, which laws exactly does it not follow? I'm still early in my journey of understanding the lens types. |
2024-03-10 22:47:58 +0100 | <c_wraith> | the lens laws are about being able to refactor stuff blindly. Not following the laws means that you have to actually think about what's going on if you decide to refactor it. |
2024-03-10 22:48:39 +0100 | <c_wraith> | I wouldn't be concerned that it's not following the laws. I mean, `filtered` doesn't follow the laws. |
2024-03-10 22:49:12 +0100 | <ncf> | traversals aren't allowed to change the (number of) targets |
2024-03-10 22:49:20 +0100 | <endojelly> | Hmm, but at follows the laws? Or not? |
2024-03-10 22:49:27 +0100 | ania123 | (~ania123@146.255.226.194) (Quit: Client closed) |
2024-03-10 22:49:41 +0100 | <ncf> | so a Wither isn't a Traversal, but that's fine. it just obeys its own laws |
2024-03-10 22:49:50 +0100 | <ncf> | at is a lawful Lens |
2024-03-10 22:49:53 +0100 | <c_wraith> | Yeah, it's not even the right type to be a lens |
2024-03-10 22:49:59 +0100 | <endojelly> | "Note that this introduces a change in types down the lens composition chain, which means that it is not a a valid optic at all." |
2024-03-10 22:50:04 +0100 | <endojelly> | Does 'at' not do that as well? |
2024-03-10 22:50:18 +0100 | <c_wraith> | No, at sticks with lens types |
2024-03-10 22:51:03 +0100 | <ncf> | i'm not sure Wither isn't a valid optic. it's not a LensLike, but that's another issue |
2024-03-10 22:51:03 +0100 | <c_wraith> | the lens-witherable stuff uses types that just aren't allowed in lens. Then it provides compatibility shims like unWithered to be type compatible if needed. |
2024-03-10 22:51:21 +0100 | <ncf> | i guess it depends what one means by "valid optic" |
2024-03-10 22:51:42 +0100 | <c_wraith> | Well, ok. I was strictly assuming things fitting the Lenslike alias |
2024-03-10 22:51:44 +0100 | hgolden_ | (~hgolden@172-251-233-141.res.spectrum.com) |
2024-03-10 22:51:57 +0100 | <ncf> | can you compose Withers? i guess that would be my main criterion |
2024-03-10 22:52:12 +0100 | <endojelly> | Well, I guess I will understand that when I digged into the lens types more. |
2024-03-10 22:52:48 +0100 | <ncf> | i guess you can't, because you can't indicate which level you mean to delete by returning Nothing |
2024-03-10 22:52:58 +0100 | <ncf> | you'd need to return Maybe (Maybe a) in the composite |
2024-03-10 22:53:55 +0100 | hgolden | (~hgolden@2603-8000-9d00-3ed1-2678-8497-aa5c-7fa9.res6.spectrum.com) (Ping timeout: 260 seconds) |
2024-03-10 22:54:11 +0100 | <ncf> | i'm guessing too much |
2024-03-10 22:54:44 +0100 | <c_wraith> | You're right. They don't compose well. Which is why I have rewithered in my library |
2024-03-10 22:55:32 +0100 | otto_s_ | (~otto_s@p54993456.dip0.t-ipconnect.de) |
2024-03-10 22:56:26 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-03-10 22:58:23 +0100 | <endojelly> | Hmm, so how about a version of decayed that turns it back into a lenslike? Removing the elements, but still passing them through (so that a monad can work on them) |
2024-03-10 22:58:40 +0100 | Joao[3] | (~Joao003@190.108.99.67) |
2024-03-10 22:59:06 +0100 | <c_wraith> | I'm not sure quite how that would work |
2024-03-10 22:59:41 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2024-03-10 23:00:02 +0100 | <endojelly> | Yeah, not sure. Intuitively I'm looking for something like "traverseOf (withered._2.filtered even.decayed) (print) m" |
2024-03-10 23:00:13 +0100 | byte | (~byte@user/byte) (Remote host closed the connection) |
2024-03-10 23:00:20 +0100 | <endojelly> | err, something else than decayed, of course |
2024-03-10 23:00:55 +0100 | <c_wraith> | So... you're wanting to print the things that get removed? |
2024-03-10 23:01:03 +0100 | <c_wraith> | (for example) |
2024-03-10 23:01:14 +0100 | <endojelly> | as the example, yeah. |
2024-03-10 23:01:57 +0100 | <endojelly> | this works with "witherOf" and "(>> return Nothing) . print" already of course. |
2024-03-10 23:02:40 +0100 | oo_miguel | (~Thunderbi@78-11-181-16.static.ip.netia.com.pl) (Quit: oo_miguel) |
2024-03-10 23:03:04 +0100 | a51 | (a51@gateway/vpn/protonvpn/a51) (Quit: WeeChat 4.2.1) |
2024-03-10 23:03:11 +0100 | <endojelly> | I mean you could of course also just: let witherAllOf w f = witherOf w ((>> return Nothing) . f) |
2024-03-10 23:03:25 +0100 | <endojelly> | but maybe there's advantage in turning it back into a lenslike? |
2024-03-10 23:03:28 +0100 | <c_wraith> | I'm not sure that's generally useful enough as a combinator across all f |
2024-03-10 23:03:36 +0100 | <endojelly> | yeah, good point |
2024-03-10 23:04:03 +0100 | <c_wraith> | Especially since the functionality is currently available, even if a bit verbose at the moment. |
2024-03-10 23:04:18 +0100 | <endojelly> | yep |
2024-03-10 23:05:59 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2024-03-10 23:06:13 +0100 | <endojelly> | anyway, great package. |
2024-03-10 23:08:15 +0100 | <Joao[3]> | Hello. I installed the lens package, but ghci refuses to execute `import Control.Lens` |
2024-03-10 23:09:25 +0100 | <c_wraith> | endojelly: thanks. I'll let you know when I get the update out, even though you probably won't actually benefit from having it in any way. :) |
2024-03-10 23:10:08 +0100 | <endojelly> | heheh, probably true, but I won't mind having a look anyway! |
2024-03-10 23:10:41 +0100 | <endojelly> | right now I'm perfectly happy with what it does already (and you said it's likely going to be documentation changes anyway) |
2024-03-10 23:10:53 +0100 | srz_ | (~srz@181.228.49.93) (Ping timeout: 268 seconds) |
2024-03-10 23:11:07 +0100 | <c_wraith> | I've decided to add an effectful filterOf, but the rest is doc changes |
2024-03-10 23:12:25 +0100 | byte | (~byte@149.28.222.189) |
2024-03-10 23:15:37 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-03-10 23:16:35 +0100 | <c_wraith> | Joao[3]: there could be a lot of things going on. How did you install it? How are you running ghci? |
2024-03-10 23:16:53 +0100 | <Joao[3]> | I installed with `cabal install lens` |
2024-03-10 23:20:02 +0100 | michalz | (~michalz@185.246.207.205) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-03-10 23:20:16 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
2024-03-10 23:20:23 +0100 | target_i | (~target_i@user/target-i/x-6023099) (Quit: leaving) |
2024-03-10 23:20:36 +0100 | <c_wraith> | Joao[3]: So... it was found that keeping a mutable package store that's always available to ghc leads to version conflicts that can be really difficult to deal with. As such, ghc and ghci don't automatically see packages that have been installed. |
2024-03-10 23:21:14 +0100 | <Joao[3]> | So... how do I make them see those packages? |
2024-03-10 23:22:21 +0100 | <c_wraith> | there are several major ways. They break down into a couple categories. You can run ghc/ghci via cabal, letting it set the environment, or you can tell cabal to modify a global environment description when it installs a package. |
2024-03-10 23:23:20 +0100 | <c_wraith> | The former is more reliable (it will always pick a set of versions that are compatible without caring what is installed elsewhere), but it adds more overhead to starting stuff up, as it has to check on all of that. |
2024-03-10 23:24:36 +0100 | <c_wraith> | so you could run `cabl repl -b lens` instead of ghci to get an interactive session with lens available. Or you could run `cabal install --lib lens` to tell cabal to modify the global environment when it installs it. The latter is easier for ad-hoc stuff, but gets fragile if you update the global environment in the future. |
2024-03-10 23:25:28 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-03-10 23:26:35 +0100 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2024-03-10 23:29:48 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-03-10 23:32:34 +0100 | a51 | (a51@gateway/vpn/protonvpn/a51) |
2024-03-10 23:38:38 +0100 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
2024-03-10 23:43:53 +0100 | Natch | (~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) |
2024-03-10 23:46:32 +0100 | <tomsmeding> | I would recommend against 'cabal install --lib' |
2024-03-10 23:46:55 +0100 | <c_wraith> | I also do, in general. It will always end up breaking. |
2024-03-10 23:46:59 +0100 | <tomsmeding> | it does something that a new user probably doesn't expect |
2024-03-10 23:47:29 +0100 | <tomsmeding> | it's fine if you know exactly what it does and have decided that that's the behaviour you want p |
2024-03-10 23:47:31 +0100 | <tomsmeding> | * :p |
2024-03-10 23:48:46 +0100 | <EvanR> | imagine if there was a command that didn't act like that |
2024-03-10 23:49:11 +0100 | <monochrom> | NO. Imagine if GHC came with lens. >:D |
2024-03-10 23:49:32 +0100 | <tomsmeding> | Joao[3]: my recommendation: outside a project, ad hoc: `cabal repl -b lens`. If you're working on a piece of code: make it a project (i.e. make a directory with a yourthing.cabal file) and add `lens` to your build-depends |
2024-03-10 23:49:33 +0100 | <monochrom> | Go kitchen-sink-included or go home. |
2024-03-10 23:49:48 +0100 | <tomsmeding> | @hackage acme-everything |
2024-03-10 23:49:48 +0100 | <lambdabot> | https://hackage.haskell.org/package/acme-everything |
2024-03-10 23:50:04 +0100 | <monochrom> | Oh haha cabal repl -b acme-everything |
2024-03-10 23:50:13 +0100 | <Joao[3]> | I'd like to include lens in all of my GHCi sessions |
2024-03-10 23:50:22 +0100 | <monochrom> | NO. cabal install --lib acme-everything >:D |
2024-03-10 23:50:24 +0100 | <tomsmeding> | then always do `cabal repl -b lens` |
2024-03-10 23:50:34 +0100 | <tomsmeding> | you can `cabal repl -b lens -b something-else -b another-thing` |
2024-03-10 23:50:50 +0100 | <monochrom> | OK my serious advice is cabal repl -b lens too. |
2024-03-10 23:51:19 +0100 | <tomsmeding> | the problem of installing something globally & implicitly is that 1. it's implicit, 2. it's hard to uninstall later, 3. it doesn't automatically upgrade, 4. it's for a single ghc version only |
2024-03-10 23:51:22 +0100 | <monochrom> | When you are an advanced GHC user, you can start considering "install --lib". |
2024-03-10 23:51:30 +0100 | <tomsmeding> | yes |
2024-03-10 23:51:54 +0100 | <c_wraith> | endojelly: I've published 0.1.1.0 though docs take a while to build on hackage. It has one new function, and a couple doc changes. |
2024-03-10 23:52:09 +0100 | <monochrom> | It requires manual trouble-shooting if something goes wrong. |
2024-03-10 23:52:12 +0100 | <tomsmeding> | 5. it messes up other haskell tooling, 6. it has weird interactions if you install multiple things globally, somethimes |
2024-03-10 23:52:24 +0100 | <tomsmeding> | (case for 5: stack breaks) |
2024-03-10 23:52:55 +0100 | <c_wraith> | stack breaks? that strikes me as unexpected. I thought stack worked really hard to live in its own isolated world. |
2024-03-10 23:53:12 +0100 | <monochrom> | But if you pay me cdn$10^100 per hour and give me unlimited escalated remote desktop access, I can do the manual trouble-shooting for you. |
2024-03-10 23:53:16 +0100 | CiaoSen | (~Jura@2a05:5800:28f:8800:e6b9:7aff:fe80:3d03) |
2024-03-10 23:54:12 +0100 | <tomsmeding> | c_wraith: https://ircbrowse.tomsmeding.com/day/lchaskell/2024/02/08?id=1209716#trid1209716 |
2024-03-10 23:54:18 +0100 | <tomsmeding> | the paste is gone, it seems, unfortunately |
2024-03-10 23:55:10 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-03-10 23:56:03 +0100 | <c_wraith> | when does hackage build docs these days? is it still every 6 hours? |
2024-03-10 23:57:46 +0100 | otto_s_ | (~otto_s@p54993456.dip0.t-ipconnect.de) (Quit: leaving) |
2024-03-10 23:58:02 +0100 | <sclv> | its constantly, with a small delay |
2024-03-10 23:58:21 +0100 | <sclv> | but it builds it one at a time and can get stuck |
2024-03-10 23:58:36 +0100 | <sclv> | and then resets "from the top" like every half hour or so |
2024-03-10 23:58:56 +0100 | <c_wraith> | ah, thanks |
2024-03-10 23:59:14 +0100 | <sclv> | so if it gets stuck at a package at time t, then after the reset it will kill that stuckness and hit everything later than t before working chron back to get stuck at t again |