2026/05/23

Newest at the top

2026-05-23 13:34:11 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-23 13:23:24 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-05-23 13:21:00 +0000emilym(~Thunderbi@user/emilym) (Ping timeout: 245 seconds)
2026-05-23 13:18:36 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-23 13:08:43 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-05-23 13:08:00 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 252 seconds)
2026-05-23 13:06:50 +0000karenw(~karenw@user/karenw) karenw
2026-05-23 13:06:21 +0000haritz(~hrtz@user/haritz) haritz
2026-05-23 13:06:21 +0000haritz(~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host)
2026-05-23 13:06:20 +0000haritz(~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8)
2026-05-23 13:02:47 +0000merijn(~merijn@62.45.136.136) merijn
2026-05-23 12:52:31 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-05-23 12:49:18 +0000DigitteknohippieDigit
2026-05-23 12:47:28 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-23 12:42:52 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2026-05-23 12:37:45 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-23 12:37:41 +0000 <jaror> Maybe I can just define it as data Vector a = V0 | V1 !a | V2 !a !a | Vn (Array# a), then it is always at smaller or equal in size to lists
2026-05-23 12:35:03 +0000emilym(~Thunderbi@user/emilym) emilym
2026-05-23 12:34:46 +0000emilym(~Thunderbi@user/emilym) (Remote host closed the connection)
2026-05-23 12:33:55 +0000Digit(~user@user/digit) (Ping timeout: 272 seconds)
2026-05-23 12:33:26 +0000Digitteknohippie(~user@user/digit) Digit
2026-05-23 12:33:25 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2026-05-23 12:31:55 +0000tnt1(~Thunderbi@user/tnt1) (Client Quit)
2026-05-23 12:30:05 +0000tnt1(~Thunderbi@user/tnt1) tnt1
2026-05-23 12:29:36 +0000tnt1(~Thunderbi@user/tnt1) (Client Quit)
2026-05-23 12:27:50 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Excess Flood)
2026-05-23 12:27:38 +0000tnt1(~Thunderbi@user/tnt1) tnt1
2026-05-23 12:26:58 +0000tnt1(~Thunderbi@user/tnt1) (Quit: tnt1)
2026-05-23 12:24:42 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-05-23 12:24:31 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2026-05-23 12:19:53 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-23 12:08:57 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2026-05-23 12:08:39 +0000weary-traveler(~user@user/user363627) (Quit: Konversation terminated!)
2026-05-23 12:04:02 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-23 12:03:51 +0000emilym(~Thunderbi@user/emilym) emilym
2026-05-23 11:53:08 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-05-23 11:48:22 +0000 <jaror> Yes, that makes sense
2026-05-23 11:47:57 +0000 <int-e> Anyway, just to state this point in isolation: Right now, every variable-sized heap object (really just the various arrays, plus some RTS internal things (captured stack frames, I guess?)) has its own special case in the garbage collection functions. To unpack those into other constructors that would have to be generalized.
2026-05-23 11:46:30 +0000 <jaror> And Lazy is also a newtype
2026-05-23 11:46:02 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-23 11:45:47 +0000 <jaror> With data-elevator, I think you can do newtype Array a = Array (Lazy (Array# a))
2026-05-23 11:44:52 +0000 <int-e> I guess the narrow case of data Array a = Array (Array# a) could be handled by not introducing a new tag for the constructor. That wouldn't help you if you want to later unpack `Array` into some other constructor.
2026-05-23 11:44:24 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2026-05-23 11:40:49 +0000 <int-e> It's funny that there's no mention of garbage collection in #24802
2026-05-23 11:39:06 +0000 <jaror> https://gitlab.haskell.org/ghc/ghc/-/issues/20204
2026-05-23 11:38:39 +0000 <jaror> I think I actually opened an issue that it did warn that I didn't have a ! on an unlifted field
2026-05-23 11:38:02 +0000 <jaror> those should be unpackable
2026-05-23 11:37:56 +0000 <jaror> with UnliftedDatatypes I mean
2026-05-23 11:37:38 +0000 <jaror> I think it can have effect on unlifted fields, but of course not on unboxed fields indeed.
2026-05-23 11:37:07 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)