2025/12/30

Newest at the top

2025-12-30 21:31:33 +0100ttybitnik(~ttybitnik@user/wolper) (Quit: Fading out...)
2025-12-30 21:30:01 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 264 seconds)
2025-12-30 21:20:12 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-12-30 21:16:43 +0100Everything(~Everythin@172-232-54-192.ip.linodeusercontent.com) (Quit: leaving)
2025-12-30 21:15:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-30 21:09:01 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-30 21:03:56 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-30 20:59:32 +0100pavonia(~user@user/siracusa) siracusa
2025-12-30 20:58:20 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-12-30 20:54:54 +0100mmohammadi9812(~mohammad@141.148.231.175) (Remote host closed the connection)
2025-12-30 20:54:24 +0100aetepe(~aetepe@188.119.22.20) (Ping timeout: 260 seconds)
2025-12-30 20:50:45 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-12-30 20:46:15 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-30 20:39:08 +0100corecaps(~quassel@user/corecaps) corecaps
2025-12-30 20:36:06 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2025-12-30 20:35:35 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds)
2025-12-30 20:35:09 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-12-30 20:30:36 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-30 20:26:54 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-12-30 20:21:22 +0100Brumaire(~no@94.140.114.73) Brumaire
2025-12-30 20:19:28 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-12-30 20:16:24 +0100Brumaire(~no@94.140.114.73) (Ping timeout: 252 seconds)
2025-12-30 20:14:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-30 20:11:59 +0100Brumaire(~no@94.140.114.73) Brumaire
2025-12-30 20:11:13 +0100Brumaire(~no@94.140.114.73) (Ping timeout: 244 seconds)
2025-12-30 20:06:42 +0100mmohammadi9812(~mohammad@141.148.231.175) mmohammadi9812
2025-12-30 20:04:21 +0100spew(~spew@user/spew) (Quit: nyaa~)
2025-12-30 20:04:00 +0100xstill_(xstill@fimu/xstill) xstill
2025-12-30 20:00:58 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-12-30 19:30:33 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 252 seconds)
2025-12-30 19:28:45 +0100StrayB1ts(~straybits@d205-206-102-121.abhsia.telus.net) (Ping timeout: 244 seconds)
2025-12-30 19:28:26 +0100ttybitnik(~ttybitnik@user/wolper) ttybitnik
2025-12-30 19:25:33 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-12-30 19:25:25 +0100DetourNetworkUK(~DetourNet@user/DetourNetworkUK) DetourNetworkUK
2025-12-30 19:25:01 +0100DetourNetworkUK(DetourNetw@user/DetourNetworkUK) (Read error: Connection reset by peer)
2025-12-30 19:19:58 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-12-30 19:13:20 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-30 19:03:50 +0100Everything(~Everythin@172-232-54-192.ip.linodeusercontent.com) Everything
2025-12-30 19:03:45 +0100 <[exa]> janus: btw btw, for some definition of your "parts of type inference that relate to quantifications", THIH might actually qualify there as two-step.
2025-12-30 19:00:49 +0100 <[exa]> janus: for the former, I think there are even languages in the wild that do it that way -- after the type inference&checking is complete you can specialize ("monomorphize") stuff as you like (w.r.t. to the constraints), and you'll never hit issues.
2025-12-30 18:58:39 +0100 <[exa]> janus: if you only have single-parameter typeclasses as in THIH, the two-step approach should AFAIK work. On the other hand, with more advanced stuff (type families, MPTCs) you can essentially simulate functions on types, and you have to mix the checking with the typelevel computation. (E.g., type unification may depend on the "result" of a type family application.)
2025-12-30 18:42:59 +0100 <c_wraith> (also, I think it would be literally impossible to have a compiler fully solve types without the open world assumption. I think you run into the halting problem.)
2025-12-30 18:40:59 +0100Brumaire(~no@94.140.114.73) Brumaire
2025-12-30 18:40:28 +0100 <c_wraith> As opposed to saying that the open world assumption only applies in some cases, and then needing to learn rules about when it does and when it doesn't.
2025-12-30 18:37:37 +0100weary-traveler(~user@user/user363627) user363627
2025-12-30 18:36:54 +0100Buliarous(~gypsydang@46.232.210.139) Buliarous
2025-12-30 18:36:13 +0100 <ncf> as opposed to what?
2025-12-30 18:34:22 +0100 <c_wraith> There are some some important technical simplifications enabled by that, but the real value is just having a single set of rules.
2025-12-30 18:32:38 +0100 <c_wraith> Even when that's not actually possible, like when using DataKinds
2025-12-30 18:32:19 +0100 <c_wraith> Broadly, Haskell types assume that a type variable might be instantiated at a type that you know nothing about when writing the code that uses it.