2024-11-15 00:03:51 +0100 | <jackdk> | carbolymer: I don't understand your suggestion. The typeclass I want to type-family-ify exists and I cannot change it (concrete example: `GHC.Records.HasField`), but I want a type family that can select the field type. This example fails with "The RHS of an associated type declaration mentions out-of-scope variable āzā All such variables must be bound on the LHS" https://www.irccloud.com/pastebin/4aygJmq9/MakeATypeFamily.hs |
2024-11-15 00:06:26 +0100 | rvalue- | (~rvalue@user/rvalue) rvalue |
2024-11-15 00:07:19 +0100 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 260 seconds) |
2024-11-15 00:10:34 +0100 | rvalue- | rvalue |
2024-11-15 00:19:05 +0100 | <carbolymer> | jackdk: ah, you can't modify the original class - that' s though |
2024-11-15 00:20:06 +0100 | <carbolymer> | s/though/tough |
2024-11-15 00:24:54 +0100 | nek0 | (~nek0@user/nek0) (Quit: The Lounge - https://thelounge.chat) |
2024-11-15 00:26:44 +0100 | <carbolymer> | jackdk: maybe something in this direction https://paste.tomsmeding.com/Og2LnIpN ? |
2024-11-15 00:29:03 +0100 | <jackdk> | The problem is I didn't know `a` at the time. (I was trying to write some servant-flavoured stuff, and wanted to provide an analogue to `ToServantApi` that extracted a single field). So I don't actually know the final type (because there are other TFs involved) but I know GHC does |
2024-11-15 00:30:01 +0100 | aljazmc | (~aljazmc@user/aljazmc) (Remote host closed the connection) |
2024-11-15 00:30:32 +0100 | <carbolymer> | ah |
2024-11-15 00:31:05 +0100 | ljdarj1 | (~Thunderbi@user/ljdarj) ljdarj |
2024-11-15 00:34:10 +0100 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds) |
2024-11-15 00:34:10 +0100 | ljdarj1 | ljdarj |
2024-11-15 00:41:13 +0100 | acidjnk | (~acidjnk@p200300d6e7283f73687bc11ede7922f8.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
2024-11-15 00:45:54 +0100 | jle` | (~jle`@2603:8001:3b02:84d4:71c9:147c:d31f:c8d0) (Ping timeout: 246 seconds) |
2024-11-15 00:47:05 +0100 | jle` | (~jle`@2603:8001:3b02:84d4:4ba:cd34:52ca:7a5) jle` |
2024-11-15 00:48:36 +0100 | <sm> | @where+ wiwik https://gotchamana.github.io/wiwinwlh What I Wish I Knew When Learning Haskell, Stephen Diehl |
2024-11-15 00:48:37 +0100 | <lambdabot> | Good to know. |
2024-11-15 00:48:39 +0100 | <sm> | found! |
2024-11-15 00:49:10 +0100 | arthurvl | (~arthurvl@77-174-49-144.fixed.kpn.net) earthy |
2024-11-15 00:56:35 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2024-11-15 01:03:08 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2024-11-15 01:16:40 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds) |
2024-11-15 01:17:40 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
2024-11-15 01:21:22 +0100 | xff0x | (~xff0x@2405:6580:b080:900:4913:54f9:72cb:8a89) (Ping timeout: 272 seconds) |
2024-11-15 01:22:45 +0100 | Leary | (~Leary@user/Leary/x-0910699) (Remote host closed the connection) |
2024-11-15 01:23:00 +0100 | Leary | (~Leary@user/Leary/x-0910699) Leary |
2024-11-15 01:24:54 +0100 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 260 seconds) |
2024-11-15 01:27:02 +0100 | nek0 | (~nek0@user/nek0) nek0 |
2024-11-15 01:32:02 +0100 | arahael_ | (~arahael@user/arahael) (Quit: leaving) |
2024-11-15 01:33:28 +0100 | sprotte24 | (~sprotte24@p200300d16f0f4e0080b9b718c313bb1e.dip0.t-ipconnect.de) (Quit: Leaving) |
2024-11-15 01:36:24 +0100 | troojg | (~troojg@user/troojg) troojg |
2024-11-15 01:46:42 +0100 | ethantwardy | (user@user/ethantwardy) (Quit: WeeChat 4.3.2) |
2024-11-15 01:48:33 +0100 | ethantwardy | (user@user/ethantwardy) ethantwardy |
2024-11-15 01:51:08 +0100 | alp | (~alp@2001:861:e3d6:8f80:c18:bc99:f25e:38cc) (Ping timeout: 272 seconds) |
2024-11-15 02:05:03 +0100 | Everything | (~Everythin@178-133-104-20.mobile.vf-ua.net) (Quit: leaving) |
2024-11-15 02:09:11 +0100 | alp | (~alp@2001:861:e3d6:8f80:27d1:e3a6:13db:a305) |
2024-11-15 02:10:35 +0100 | alp | (~alp@2001:861:e3d6:8f80:27d1:e3a6:13db:a305) (Remote host closed the connection) |
2024-11-15 02:10:52 +0100 | alp | (~alp@2001:861:e3d6:8f80:ecc8:3a9b:3201:3089) |
2024-11-15 02:12:35 +0100 | alp_ | (~alp@2001:861:e3d6:8f80:930e:6baf:301:3217) |
2024-11-15 02:12:43 +0100 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 264 seconds) |
2024-11-15 02:13:10 +0100 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
2024-11-15 02:13:59 +0100 | alp_ | (~alp@2001:861:e3d6:8f80:930e:6baf:301:3217) (Remote host closed the connection) |
2024-11-15 02:14:17 +0100 | alp_ | (~alp@2001:861:e3d6:8f80:8d4c:7c75:d4ee:bfcd) |
2024-11-15 02:15:41 +0100 | alp | (~alp@2001:861:e3d6:8f80:ecc8:3a9b:3201:3089) (Ping timeout: 252 seconds) |
2024-11-15 02:15:41 +0100 | alp_ | (~alp@2001:861:e3d6:8f80:8d4c:7c75:d4ee:bfcd) (Remote host closed the connection) |
2024-11-15 02:15:53 +0100 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
2024-11-15 02:15:59 +0100 | alp_ | (~alp@2001:861:e3d6:8f80:eef7:e614:608:329d) |
2024-11-15 02:17:43 +0100 | alp__ | (~alp@2001:861:e3d6:8f80:8a02:58bc:ff74:ebde) |
2024-11-15 02:19:06 +0100 | alp__ | (~alp@2001:861:e3d6:8f80:8a02:58bc:ff74:ebde) (Remote host closed the connection) |
2024-11-15 02:19:23 +0100 | alp__ | (~alp@2001:861:e3d6:8f80:c055:8587:ecce:9a27) |
2024-11-15 02:20:49 +0100 | alp_ | (~alp@2001:861:e3d6:8f80:eef7:e614:608:329d) (Ping timeout: 252 seconds) |
2024-11-15 02:21:06 +0100 | alp_ | (~alp@2001:861:e3d6:8f80:143c:a0ab:970d:2678) |
2024-11-15 02:24:15 +0100 | alp__ | (~alp@2001:861:e3d6:8f80:c055:8587:ecce:9a27) (Ping timeout: 246 seconds) |
2024-11-15 02:26:00 +0100 | alp_ | (~alp@2001:861:e3d6:8f80:143c:a0ab:970d:2678) (Ping timeout: 246 seconds) |
2024-11-15 02:36:25 +0100 | divya | (~user@139.5.11.223) (Remote host closed the connection) |
2024-11-15 02:41:04 +0100 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
2024-11-15 02:41:58 +0100 | ph88 | (~ph88@2a02:8109:9e26:c800:7ee4:dffc:4616:9e2a) (Remote host closed the connection) |
2024-11-15 02:44:17 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds) |
2024-11-15 02:44:40 +0100 | m5zs7k | (aquares@web10.mydevil.net) (Quit: m5zs7k) |
2024-11-15 02:45:04 +0100 | m5zs7k | (aquares@web10.mydevil.net) m5zs7k |
2024-11-15 02:47:08 +0100 | <zero> | funny how haskell classes inherit the same problem as oop inheritence |
2024-11-15 02:47:27 +0100 | <zero> | pun intended i guess |
2024-11-15 02:51:19 +0100 | <Axman6> | Multiple (problem) inheritance |
2024-11-15 02:52:48 +0100 | <monochrom> | What is the problem? |
2024-11-15 02:59:15 +0100 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
2024-11-15 03:06:43 +0100 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
2024-11-15 03:08:22 +0100 | gmg | (~user@user/gehmehgeh) gehmehgeh |
2024-11-15 03:17:00 +0100 | tabemann | (~tabemann@2600:1700:7990:24e0:17cd:7c4b:64d7:5714) (Read error: Connection reset by peer) |
2024-11-15 03:17:14 +0100 | tabemann | (~tabemann@2600:1700:7990:24e0:9f6b:68a6:cce5:e580) |
2024-11-15 03:19:08 +0100 | <Axman6> | it makes sorting out the will much more difficult |
2024-11-15 03:19:27 +0100 | <monochrom> | haha |
2024-11-15 03:25:46 +0100 | Square | (~Square@user/square) Square |
2024-11-15 03:29:14 +0100 | <EvanR> | one problem with oop inheritance, usually, is joe schmoe want's his class to inherit from multiple other classes simultaneously. It's a problem either because you aren't allowed to do it, or because you are allowed to do it (e.g. in python) |
2024-11-15 03:29:24 +0100 | <EvanR> | not sure how that translates to haskell |
2024-11-15 03:29:37 +0100 | jjhoo | (~jahakala@user/jjhoo) (Ping timeout: 248 seconds) |
2024-11-15 03:36:00 +0100 | talismanick | (~user@2601:644:937c:ed10::ae5) talismanick |
2024-11-15 03:38:38 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2024-11-15 03:41:38 +0100 | jjhoo | (~jahakala@user/jjhoo) jjhoo |
2024-11-15 04:03:39 +0100 | shapr | (~user@2601:19c:417e:5434:b5b7:a31:f560:51b7) (Quit: sleep) |
2024-11-15 04:04:11 +0100 | <sm> | I guess: long chains of dependency make the whole system more brittle ? |
2024-11-15 04:05:02 +0100 | <sm> | I don't know about multiple inheritance either but suspect that's the root problem |
2024-11-15 04:07:12 +0100 | yisef | (~yisef@122.10.198.17) |
2024-11-15 04:07:15 +0100 | <sm> | https://en.wikipedia.org/wiki/Multiple_inheritance#The_diamond_problem |
2024-11-15 04:09:57 +0100 | troojg | (~troojg@user/troojg) (Ping timeout: 246 seconds) |
2024-11-15 04:10:10 +0100 | yisef | (~yisef@122.10.198.17) (Client Quit) |
2024-11-15 04:10:28 +0100 | yisef | (~yisef@122.10.198.17) |
2024-11-15 04:12:19 +0100 | hsw | (~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) hsw |
2024-11-15 04:18:51 +0100 | Katarushisu6 | (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) Katarushisu |
2024-11-15 04:21:07 +0100 | Katarushisu | (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) (Ping timeout: 265 seconds) |
2024-11-15 04:21:07 +0100 | Katarushisu6 | Katarushisu |
2024-11-15 04:28:44 +0100 | mceresa | (~mceresa@user/mceresa) (Ping timeout: 244 seconds) |
2024-11-15 04:29:27 +0100 | td_ | (~td@i5387092A.versanet.de) (Ping timeout: 252 seconds) |
2024-11-15 04:31:06 +0100 | td_ | (~td@i53870902.versanet.de) td_ |
2024-11-15 04:39:12 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2024-11-15 04:48:11 +0100 | <EvanR> | in "type classes vs the world" he shows a slide with a diamond dependency, and basically type classes, nothing bad happens |
2024-11-15 04:48:19 +0100 | <EvanR> | s/basically/because/ |
2024-11-15 04:49:14 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Remote host closed the connection) |
2024-11-15 04:49:14 +0100 | <EvanR> | because there's only ever zero or one instances for a given type |
2024-11-15 04:49:39 +0100 | <EvanR> | so if you arrive at a dependency along different routes it's the same instance |
2024-11-15 04:52:40 +0100 | ShannonB | (~ShannonB@user/ShannonB) ShannonB |
2024-11-15 05:04:08 +0100 | ystael | (~ystael@user/ystael) (Ping timeout: 265 seconds) |
2024-11-15 05:06:30 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2024-11-15 05:12:04 +0100 | spew_ | (~spew@201.141.99.170) spew |
2024-11-15 05:12:12 +0100 | spew_ | (~spew@201.141.99.170) (Client Quit) |
2024-11-15 05:12:21 +0100 | spew_ | (~spew@201.141.99.170) spew |
2024-11-15 05:13:24 +0100 | spew_ | (~spew@201.141.99.170) (Client Quit) |
2024-11-15 05:22:55 +0100 | ft | (~ft@p4fc2a216.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
2024-11-15 05:24:10 +0100 | ft | (~ft@p4fc2a26f.dip0.t-ipconnect.de) ft |
2024-11-15 05:31:09 +0100 | petrichor | (~znc-user@user/petrichor) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-11-15 05:37:15 +0100 | olivial | (~benjaminl@user/benjaminl) (Remote host closed the connection) |
2024-11-15 05:37:19 +0100 | aforemny_ | (~aforemny@i59F4C560.versanet.de) (Ping timeout: 260 seconds) |
2024-11-15 05:37:28 +0100 | aforemny | (~aforemny@2001:9e8:6cc5:1900:266e:896c:b9aa:a2eb) aforemny |
2024-11-15 05:52:26 +0100 | olivial | (~benjaminl@user/benjaminl) benjaminl |
2024-11-15 05:57:53 +0100 | willscripted | (~willscrip@user/willscripted) (Ping timeout: 245 seconds) |
2024-11-15 06:03:59 +0100 | alp | (~alp@2001:861:e3d6:8f80:da2e:4149:618:bb33) |
2024-11-15 06:05:41 +0100 | alp_ | (~alp@2001:861:e3d6:8f80:d89c:25:af5b:7d7e) |
2024-11-15 06:07:23 +0100 | alp__ | (~alp@2001:861:e3d6:8f80:ea76:754b:407f:9e67) |
2024-11-15 06:08:38 +0100 | <monochrom> | Multiple implementation inheritance is the problem (even the OO people already know), but it doesn't translate to Haskell. Multiple interface inheritance is well-known to be just fine. |
2024-11-15 06:08:46 +0100 | alp__ | (~alp@2001:861:e3d6:8f80:ea76:754b:407f:9e67) (Remote host closed the connection) |
2024-11-15 06:08:57 +0100 | alp | (~alp@2001:861:e3d6:8f80:da2e:4149:618:bb33) (Ping timeout: 246 seconds) |
2024-11-15 06:09:04 +0100 | alp__ | (~alp@2001:861:e3d6:8f80:8999:178d:724c:ed26) |
2024-11-15 06:09:36 +0100 | <monochrom> | OTOH category theory offers a safe kind of diamond inheritance. It's called push out. |
2024-11-15 06:09:59 +0100 | <monochrom> | Just that you can't do push outs in C++, that's all. :) |
2024-11-15 06:10:29 +0100 | alp__ | (~alp@2001:861:e3d6:8f80:8999:178d:724c:ed26) (Remote host closed the connection) |
2024-11-15 06:10:48 +0100 | alp__ | (~alp@2001:861:e3d6:8f80:bf45:d838:789a:be4d) |
2024-11-15 06:11:26 +0100 | alp_ | (~alp@2001:861:e3d6:8f80:d89c:25:af5b:7d7e) (Ping timeout: 272 seconds) |
2024-11-15 06:12:11 +0100 | alp__ | (~alp@2001:861:e3d6:8f80:bf45:d838:789a:be4d) (Remote host closed the connection) |
2024-11-15 06:12:29 +0100 | alp__ | (~alp@2001:861:e3d6:8f80:a950:43a3:4630:597b) |
2024-11-15 06:13:36 +0100 | <EvanR> | pushout = multiple inheritance. Got it. And jquery is a monad! |
2024-11-15 06:14:10 +0100 | alp_ | (~alp@2001:861:e3d6:8f80:441c:992c:e029:9f42) |
2024-11-15 06:14:42 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Remote host closed the connection) |
2024-11-15 06:14:59 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
2024-11-15 06:15:35 +0100 | alp_ | (~alp@2001:861:e3d6:8f80:441c:992c:e029:9f42) (Remote host closed the connection) |
2024-11-15 06:15:52 +0100 | alp_ | (~alp@2001:861:e3d6:8f80:2a62:6fd6:e732:c038) |
2024-11-15 06:17:08 +0100 | alp__ | (~alp@2001:861:e3d6:8f80:a950:43a3:4630:597b) (Ping timeout: 272 seconds) |
2024-11-15 06:17:17 +0100 | alp_ | (~alp@2001:861:e3d6:8f80:2a62:6fd6:e732:c038) (Remote host closed the connection) |
2024-11-15 06:17:34 +0100 | alp_ | (~alp@2001:861:e3d6:8f80:854c:d0e9:e927:ff1d) |
2024-11-15 06:19:18 +0100 | alp__ | (~alp@2001:861:e3d6:8f80:5324:b49a:7cd6:3b97) |
2024-11-15 06:21:13 +0100 | euphores | (~SASL_euph@user/euphores) (Quit: Leaving.) |
2024-11-15 06:22:59 +0100 | alp_ | (~alp@2001:861:e3d6:8f80:854c:d0e9:e927:ff1d) (Ping timeout: 260 seconds) |
2024-11-15 06:24:44 +0100 | alp__ | (~alp@2001:861:e3d6:8f80:5324:b49a:7cd6:3b97) (Ping timeout: 260 seconds) |
2024-11-15 06:28:39 +0100 | euphores | (~SASL_euph@user/euphores) euphores |
2024-11-15 06:37:24 +0100 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 276 seconds) |
2024-11-15 06:37:43 +0100 | berberman | (~berberman@user/berberman) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-11-15 06:38:08 +0100 | berberman | (~berberman@user/berberman) berberman |
2024-11-15 06:39:29 +0100 | <monochrom> | haha |
2024-11-15 07:03:32 +0100 | michalz | (~michalz@185.246.207.201) |
2024-11-15 07:04:58 +0100 | mceresa | (~mceresa@user/mceresa) mceresa |
2024-11-15 07:18:14 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2024-11-15 07:43:09 +0100 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving) |
2024-11-15 07:43:25 +0100 | Square2 | (~Square4@user/square) Square |
2024-11-15 07:51:55 +0100 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
2024-11-15 07:59:16 +0100 | Square | (~Square@user/square) (Ping timeout: 252 seconds) |
2024-11-15 08:01:14 +0100 | acidjnk | (~acidjnk@p200300d6e7283f969df7e06974b1c1d0.dip0.t-ipconnect.de) acidjnk |
2024-11-15 08:06:03 +0100 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
2024-11-15 08:06:15 +0100 | ft | (~ft@p4fc2a26f.dip0.t-ipconnect.de) (Quit: leaving) |
2024-11-15 08:06:20 +0100 | gorignak | (~gorignak@user/gorignak) gorignak |
2024-11-15 08:17:09 +0100 | bionade24 | (~quassel@2a03:4000:33:45b::1) (Quit: Apocalypse Incoming!) |
2024-11-15 08:17:18 +0100 | bionade24 | (~quassel@2a03:4000:33:45b::1) bionade24 |
2024-11-15 08:21:41 +0100 | JamesMowery43 | (~JamesMowe@ip68-228-212-232.ph.ph.cox.net) (Quit: Ping timeout (120 seconds)) |
2024-11-15 08:23:22 +0100 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
2024-11-15 08:23:42 +0100 | JamesMowery43 | (~JamesMowe@ip68-228-212-232.ph.ph.cox.net) JamesMowery |
2024-11-15 08:27:25 +0100 | Axma62480 | (~Axman6@user/axman6) Axman6 |
2024-11-15 08:28:39 +0100 | Axman6 | (~Axman6@user/axman6) (Ping timeout: 240 seconds) |
2024-11-15 08:31:46 +0100 | oxide | (~lambda@user/oxide) oxide |
2024-11-15 08:33:03 +0100 | Axman6 | (~Axman6@user/axman6) Axman6 |