2026/06/22

2026-06-22 00:04:47 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-22 00:08:27 +0000schuelermine(~Thunderbi@user/schuelermine) schuelermine
2026-06-22 00:09:46 +0000foul_owl(~kerry@94.156.149.95) (Ping timeout: 244 seconds)
2026-06-22 00:09:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2026-06-22 00:12:38 +0000foul_owl(~kerry@94.156.149.95) foul_owl
2026-06-22 00:13:13 +0000 <geekosaur> define "coherent"
2026-06-22 00:13:37 +0000 <geekosaur> I mean, the usual point of fundeps is to make it possible to use MPTCs without needing to specify the exact type everywhere, isn't it?
2026-06-22 00:16:09 +0000 <EvanR> ok so inference works with multiparameter typeclass? or so polymorphism works at all
2026-06-22 00:16:55 +0000 <geekosaur> inference, I think; it gives a hint as to the type it can't otherwise infer
2026-06-22 00:17:57 +0000 <EvanR> I'll have to try fundepless MPTC and see what's possible
2026-06-22 00:21:10 +0000 <monochrom> Consider "class Convert a b where convert :: a -> b". Then I can have "instance Convert Bool Int", "instance Convert Bool String", "instance Convert Int Bool", "instance Convert Int String", ... Nothing is inferrable, if I call "convert x" then someone must tell the compiler what's x's type and what's the codomain.
2026-06-22 00:22:41 +0000bgamari(~bgamari@64.223.132.8) (Ping timeout: 244 seconds)
2026-06-22 00:22:44 +0000 <EvanR> unless you call convert x in context where source and target type are known
2026-06-22 00:22:59 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-22 00:23:35 +0000 <monochrom> Whereas if I have "class Containership container element | container -> element" then an example instance will be "instance Containership [a] a" and when I call methods I only need to spell out the container type.
2026-06-22 00:24:23 +0000 <monochrom> which was exactly the use case back when Okasaki etc wrote data structure container libraries eg edison.
2026-06-22 00:25:17 +0000 <monochrom> Today people consider type families instead. class Container c where type Elem c
2026-06-22 00:27:24 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-06-22 00:31:05 +0000notzmv(~umar@user/notzmv) notzmv
2026-06-22 00:38:31 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-22 00:38:38 +0000Square(~Square@user/square) (Remote host closed the connection)
2026-06-22 00:40:28 +0000xff0x(~xff0x@2405:6580:b080:900:276e:9a01:f3d4:3fcb) (Ping timeout: 276 seconds)
2026-06-22 00:42:32 +0000czan(~czan@user/mange) czan
2026-06-22 00:43:05 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-06-22 00:45:26 +0000 <schuelermine> GHC release notes mention that GHCi commands now work with “multiple home units”. What is a home unit?
2026-06-22 00:47:29 +0000leppard(~noOne@ipservice-092-209-218-237.092.209.pools.vodafone-ip.de) (Ping timeout: 244 seconds)
2026-06-22 00:51:45 +0000chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2026-06-22 00:52:01 +0000chexum(~quassel@gateway/tor-sasl/chexum) chexum
2026-06-22 00:53:54 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-22 00:58:20 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-06-22 00:58:35 +0000 <geekosaur> practically, a package
2026-06-22 00:58:53 +0000 <geekosaur> or, well
2026-06-22 00:59:19 +0000 <geekosaur> think of a cabal file. you can have multiple "components" in it (unnamed library, named libraries, executables, tests, benchmarks)
2026-06-22 00:59:27 +0000Axma39476(~Axman6@user/axman6) Axman6
2026-06-22 00:59:29 +0000 <geekosaur> each component is a home unit, in ghc parlance
2026-06-22 01:00:19 +0000 <geekosaur> ghci used to only supporting one such at a time, which made things difficult when debugging a package with a library and an executable, say
2026-06-22 01:00:50 +0000 <geekosaur> ghci got limited multiple home unit support some time back, just enough for HLS to be able to sanely work with such multi-component packages; as of 9.14 it now supports them fully
2026-06-22 01:01:20 +0000Axman6(~Axman6@user/axman6) (Ping timeout: 245 seconds)
2026-06-22 01:02:00 +0000prdak(~Thunderbi@user/prdak) (Remote host closed the connection)
2026-06-22 01:02:19 +0000prdak(~Thunderbi@user/prdak) prdak
2026-06-22 01:02:59 +0000vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 252 seconds)
2026-06-22 01:04:45 +0000weary-traveler(~user@user/user363627) (Quit: Konversation terminated!)
2026-06-22 01:04:50 +0000jayanth(~jayanth@static-98-115-128-109.phlapa.fios.verizon.net) (Ping timeout: 248 seconds)
2026-06-22 01:05:05 +0000weary-traveler(~user@user/user363627) user363627
2026-06-22 01:06:00 +0000traxex(traxex@user/traxex) (Ping timeout: 246 seconds)
2026-06-22 01:09:17 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-22 01:14:10 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-06-22 01:24:39 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-22 01:31:20 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-06-22 01:33:40 +0000Pozyomka(~pyon@user/pyon) (Remote host closed the connection)
2026-06-22 01:33:58 +0000Pozyomka(~pyon@user/pyon) pyon
2026-06-22 01:42:43 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-22 01:46:27 +0000khumba(~khumba@user/khumba) ()
2026-06-22 01:47:43 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-06-22 01:49:22 +0000schuelermine(~Thunderbi@user/schuelermine) (Ping timeout: 276 seconds)
2026-06-22 01:59:47 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-22 02:06:35 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2026-06-22 02:08:57 +0000xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2026-06-22 02:11:32 +0000chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2026-06-22 02:11:47 +0000chexum(~quassel@gateway/tor-sasl/chexum) chexum
2026-06-22 02:12:44 +0000td_(~td@i5387090C.versanet.de) (Ping timeout: 244 seconds)
2026-06-22 02:13:27 +0000fgarcia(~lei@user/fgarcia) (Read error: Connection reset by peer)
2026-06-22 02:14:29 +0000td_(~td@i53870915.versanet.de)
2026-06-22 02:17:09 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-22 02:18:28 +0000yanmaani(~yanmaani@gateway/tor-sasl/yanmaani) (Remote host closed the connection)
2026-06-22 02:18:29 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2026-06-22 02:18:38 +0000yanmaani(~yanmaani@gateway/tor-sasl/yanmaani) yanmaani
2026-06-22 02:18:53 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2026-06-22 02:19:01 +0000gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2026-06-22 02:19:39 +0000marinelli(~weechat@gateway/tor-sasl/marinelli) (Remote host closed the connection)
2026-06-22 02:19:43 +0000gmg(~user@user/gehmehgeh) gehmehgeh
2026-06-22 02:20:00 +0000marinelli(~weechat@gateway/tor-sasl/marinelli) marinelli
2026-06-22 02:21:31 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-06-22 02:22:36 +0000emilym(~Thunderbi@user/emilym) emilym
2026-06-22 02:26:52 +0000emilym(~Thunderbi@user/emilym) (Ping timeout: 256 seconds)
2026-06-22 02:32:32 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-22 02:36:14 +0000hsw(~hsw@112-104-29-204.adsl.dynamic.seed.net.tw) (Quit: Leaving)
2026-06-22 02:36:57 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-06-22 02:44:28 +0000weary-traveler(~user@user/user363627) (Quit: Konversation terminated!)
2026-06-22 02:44:46 +0000weary-traveler(~user@user/user363627) user363627
2026-06-22 02:47:56 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-22 02:52:40 +0000smalltalkman(uid545680@id-545680.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2026-06-22 02:52:46 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-06-22 03:03:17 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-22 03:10:31 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-06-22 03:12:43 +0000kimiamania(~768865ec@user/kimiamania) (Quit: Ping timeout (120 seconds))
2026-06-22 03:13:06 +0000kimiamania(~768865ec@user/kimiamania) kimiamania
2026-06-22 03:23:38 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-22 03:28:10 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-06-22 03:28:46 +0000califax(~califax@user/califx) (Remote host closed the connection)
2026-06-22 03:29:00 +0000califax(~califax@user/califx) califx
2026-06-22 03:39:01 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-22 03:42:56 +0000emilym(~Thunderbi@user/emilym) emilym
2026-06-22 03:43:14 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-06-22 03:54:23 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn