Logs: liberachat/#haskell
| 2025-08-28 07:32:58 | → | jess joins (meow@libera/staff/cat/jess) |
| 2025-08-28 07:34:58 | <haskellbridge> | <sm> Axman6: From https://docs.haskellstack.org/en/stable/ChangeLog I get the impression that stack started support for multi-library packages (AKA sub libraries AKA internal libraries ...) around 2018, and has been steadily improving that support ever since |
| 2025-08-28 07:37:30 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-08-28 07:41:46 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 2025-08-28 07:41:53 | <haskellbridge> | <sm> backpack support is another one people usually ask about; AFAIK it's not in stack and consensus is that the feature has failed as an practical feature in cabal/ghc (it should be in the language not the tools) |
| 2025-08-28 07:42:34 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2025-08-28 07:48:57 | × | mange quits (~mange@user/mange) (Quit: Quittin' time!) |
| 2025-08-28 07:49:02 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-08-28 07:49:38 | <Franciman> | where is maerwald? |
| 2025-08-28 07:50:17 | <haskellbridge> | <maerwald> what? |
| 2025-08-28 07:51:45 | <Franciman> | what's up? |
| 2025-08-28 07:51:52 | <Franciman> | how are you? |
| 2025-08-28 07:52:02 | <haskellbridge> | <maerwald> fixing ghc and cabal |
| 2025-08-28 07:53:03 | <Franciman> | cool |
| 2025-08-28 07:54:07 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-08-28 07:54:09 | <haskellbridge> | <maerwald> What else is there to do |
| 2025-08-28 07:56:58 | <haskellbridge> | <sm> Hmm. are mixins and backpack different names for the same thing ? |
| 2025-08-28 07:58:09 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 2025-08-28 07:58:46 | Googulator68 | is now known as Googulator |
| 2025-08-28 08:03:33 | <Franciman> | backpack is a way to emulate certain of the properties of standard ml module system, iiuc |
| 2025-08-28 08:03:44 | <Franciman> | aren't mixins a way to solve the expression problem? |
| 2025-08-28 08:03:44 | → | paul joins (~paul@p200300d0c724c95b1313013fcbfec0be.dip0.t-ipconnect.de) |
| 2025-08-28 08:03:48 | paul | is now known as Guest8610 |
| 2025-08-28 08:04:07 | × | marinelli quits (~weechat@gateway/tor-sasl/marinelli) (Remote host closed the connection) |
| 2025-08-28 08:04:50 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-08-28 08:04:53 | → | marinelli joins (~weechat@gateway/tor-sasl/marinelli) |
| 2025-08-28 08:05:12 | × | FANTOM quits (~fantom@87.74.59.94) (Ping timeout: 248 seconds) |
| 2025-08-28 08:05:49 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 256 seconds) |
| 2025-08-28 08:06:22 | × | arandombit quits (~arandombi@user/arandombit) (Ping timeout: 255 seconds) |
| 2025-08-28 08:07:38 | × | tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 2025-08-28 08:09:09 | <sm> | https://cabal.readthedocs.io/en/stable/cabal-package-description-file.html#pkg-field-mixins says "Mixin packages are part of the How to use Backpack modules extension to the Haskell module system." |
| 2025-08-28 08:10:32 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2025-08-28 08:10:53 | <sm> | https://cabal.readthedocs.io/en/stable/how-to-use-backpack.html mentions "mix-in linking" a few times. But it's not clear if these things are essentially the same feature, or two features that overlap |
| 2025-08-28 08:12:14 | <Franciman> | ah ok |
| 2025-08-28 08:13:05 | <sm> | Also for anyone curious, this seems to be the main history of stack backpack support so far (2016..2024-08): |
| 2025-08-28 08:13:11 | <sm> | https://github.com/commercialhaskell/stack/issues/2540 |
| 2025-08-28 08:13:14 | <sm> | https://github.com/commercialhaskell/stack/issues/4745 |
| 2025-08-28 08:13:17 | <sm> | https://github.com/commercialhaskell/stack/issues/6356 |
| 2025-08-28 08:14:36 | × | chiselfuse quits (~chiselfus@user/chiselfuse) (Remote host closed the connection) |
| 2025-08-28 08:15:13 | → | chiselfuse joins (~chiselfus@user/chiselfuse) |
| 2025-08-28 08:15:17 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-08-28 08:19:01 | → | acidjnk joins (~acidjnk@p200300d6e7171930a0d4799db13e1f65.dip0.t-ipconnect.de) |
| 2025-08-28 08:19:59 | → | arandombit joins (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) |
| 2025-08-28 08:19:59 | × | arandombit quits (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) (Changing host) |
| 2025-08-28 08:19:59 | → | arandombit joins (~arandombi@user/arandombit) |
| 2025-08-28 08:20:16 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2025-08-28 08:22:16 | <haskellbridge> | <sm> ezyang's initial comment suggests that use of backpack in private/internal/sub libraries may just work; exposing backpack signatures in the public library is the problem |
| 2025-08-28 08:22:56 | <yushyin> | I sometimes use mixins in my cabal files |
| 2025-08-28 08:23:50 | → | tromp joins (~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b) |
| 2025-08-28 08:24:14 | × | arandombit quits (~arandombi@user/arandombit) (Ping timeout: 256 seconds) |
| 2025-08-28 08:27:42 | <sm> | yushyin, can stack build those packages ? |
| 2025-08-28 08:29:03 | <yushyin> | Dunno, but stack repl doesn't work with mixins. One reason why I stopped using stack |
| 2025-08-28 08:29:58 | <haskellbridge> | <sm> are any of them public ? I'm curious |
| 2025-08-28 08:31:04 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-08-28 08:31:35 | <Franciman> | yushyin: i personally avoid cabal too |
| 2025-08-28 08:31:46 | <Franciman> | boot packages + ghc is WAYYY GOOD |
| 2025-08-28 08:32:16 | <Franciman> | fortunately for programming in the large, cabal is quite good nowadays |
| 2025-08-28 08:32:51 | <yushyin> | sm: No, I don't use mixins in public repos as I know about stack not working with them |
| 2025-08-28 08:33:17 | <haskellbridge> | <sm> fair enough |
| 2025-08-28 08:33:23 | <Franciman> | is there any use case, nowadays, to use stack rather than cabal' |
| 2025-08-28 08:33:25 | <Franciman> | ? |
| 2025-08-28 08:33:49 | <Franciman> | iiuc stackage is purposefully obfuscated to avoid being compatible with cabal, but is ultimately a cabal freeze output |
| 2025-08-28 08:34:52 | <haskellbridge> | <sm> Franciman, I don't think yuc :) |
| 2025-08-28 08:36:01 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2025-08-28 08:36:04 | <Franciman> | what does yuc mean? |
| 2025-08-28 08:36:09 | <Franciman> | sorry |
| 2025-08-28 08:37:32 | <haskellbridge> | <sm> "you understand correctly" |
| 2025-08-28 08:37:42 | → | arandombit joins (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) |
| 2025-08-28 08:37:42 | × | arandombit quits (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) (Changing host) |
| 2025-08-28 08:37:42 | → | arandombit joins (~arandombi@user/arandombit) |
| 2025-08-28 08:37:55 | <Franciman> | ty |
| 2025-08-28 08:39:07 | × | darkling quits (~darkling@2001-ba8-1f1-f0e6-0-0-0-2.autov6rev.bitfolk.space) (Server closed connection) |
| 2025-08-28 08:39:17 | → | darkling joins (~darkling@2001-ba8-1f1-f0e6-0-0-0-2.autov6rev.bitfolk.space) |
| 2025-08-28 08:40:30 | → | PaulMartensen joins (15a119e437@2001:bc8:1210:2cd8::3bc) |
| 2025-08-28 08:41:36 | → | FANTOM joins (~fantom@87.74.59.94) |
| 2025-08-28 08:41:37 | × | Guest8610 quits (~paul@p200300d0c724c95b1313013fcbfec0be.dip0.t-ipconnect.de) (Quit: Guest8610) |
| 2025-08-28 08:42:20 | <haskellbridge> | <sm> the plot thickens once again: it seems there are private sublibraries, and public sublibraries, which should be considered separately |
| 2025-08-28 08:42:54 | × | arandombit quits (~arandombi@user/arandombit) (Ping timeout: 260 seconds) |
| 2025-08-28 08:45:46 | <haskellbridge> | <sm> Franciman if you're asking seriously: many people, including myself, like stack for its greater focus on reproducibility, its generally better UX, and its relative lack of cruft and legacy baggage. |
| 2025-08-28 08:46:45 | trickard_ | is now known as trickard |
| 2025-08-28 08:46:51 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-08-28 08:47:05 | <Franciman> | i see sm thanks |
| 2025-08-28 08:50:57 | → | chele joins (~chele@user/chele) |
| 2025-08-28 08:53:37 | × | FANTOM quits (~fantom@87.74.59.94) (Ping timeout: 248 seconds) |
| 2025-08-28 08:54:03 | → | arandombit joins (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) |
| 2025-08-28 08:54:03 | × | arandombit quits (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) (Changing host) |
| 2025-08-28 08:54:03 | → | arandombit joins (~arandombi@user/arandombit) |
| 2025-08-28 08:55:09 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-08-28 08:55:42 | → | literon joins (~literon@2E8B6C41.catv.pool.telekom.hu) |
| 2025-08-28 08:58:25 | × | arandombit quits (~arandombi@user/arandombit) (Ping timeout: 248 seconds) |
| 2025-08-28 09:02:22 | → | ubert1 joins (~Thunderbi@178.165.186.86.wireless.dyn.drei.com) |
| 2025-08-28 09:05:49 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-08-28 09:08:47 | → | kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be) |
| 2025-08-28 09:09:06 | → | FANTOM joins (~fantom@87.74.59.94) |
| 2025-08-28 09:09:31 | → | Square3 joins (~Square4@user/square) |
| 2025-08-28 09:10:41 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2025-08-28 09:12:07 | × | tomboy64 quits (~tomboy64@user/tomboy64) (Ping timeout: 256 seconds) |
| 2025-08-28 09:13:23 | → | tomboy64 joins (~tomboy64@user/tomboy64) |
| 2025-08-28 09:17:59 | → | gmg joins (~user@user/gehmehgeh) |
| 2025-08-28 09:20:40 | → | arandombit joins (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) |
All times are in UTC.