Newest at the top
| 2025-12-30 21:31:33 +0100 | ttybitnik | (~ttybitnik@user/wolper) (Quit: Fading out...) |
| 2025-12-30 21:30:01 +0100 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 264 seconds) |
| 2025-12-30 21:20:12 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-12-30 21:16:43 +0100 | Everything | (~Everythin@172-232-54-192.ip.linodeusercontent.com) (Quit: leaving) |
| 2025-12-30 21:15:19 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-30 21:09:01 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-30 21:03:56 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-30 20:59:32 +0100 | pavonia | (~user@user/siracusa) siracusa |
| 2025-12-30 20:58:20 +0100 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
| 2025-12-30 20:54:54 +0100 | mmohammadi9812 | (~mohammad@141.148.231.175) (Remote host closed the connection) |
| 2025-12-30 20:54:24 +0100 | aetepe | (~aetepe@188.119.22.20) (Ping timeout: 260 seconds) |
| 2025-12-30 20:50:45 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2025-12-30 20:46:15 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-30 20:39:08 +0100 | corecaps | (~quassel@user/corecaps) corecaps |
| 2025-12-30 20:36:06 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2025-12-30 20:35:35 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds) |
| 2025-12-30 20:35:09 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-12-30 20:30:36 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-30 20:26:54 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
| 2025-12-30 20:21:22 +0100 | Brumaire | (~no@94.140.114.73) Brumaire |
| 2025-12-30 20:19:28 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2025-12-30 20:16:24 +0100 | Brumaire | (~no@94.140.114.73) (Ping timeout: 252 seconds) |
| 2025-12-30 20:14:19 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-30 20:11:59 +0100 | Brumaire | (~no@94.140.114.73) Brumaire |
| 2025-12-30 20:11:13 +0100 | Brumaire | (~no@94.140.114.73) (Ping timeout: 244 seconds) |
| 2025-12-30 20:06:42 +0100 | mmohammadi9812 | (~mohammad@141.148.231.175) mmohammadi9812 |
| 2025-12-30 20:04:21 +0100 | spew | (~spew@user/spew) (Quit: nyaa~) |
| 2025-12-30 20:04:00 +0100 | xstill_ | (xstill@fimu/xstill) xstill |
| 2025-12-30 20:00:58 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2025-12-30 19:30:33 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 252 seconds) |
| 2025-12-30 19:28:45 +0100 | StrayB1ts | (~straybits@d205-206-102-121.abhsia.telus.net) (Ping timeout: 244 seconds) |
| 2025-12-30 19:28:26 +0100 | ttybitnik | (~ttybitnik@user/wolper) ttybitnik |
| 2025-12-30 19:25:33 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 2025-12-30 19:25:25 +0100 | DetourNetworkUK | (~DetourNet@user/DetourNetworkUK) DetourNetworkUK |
| 2025-12-30 19:25:01 +0100 | DetourNetworkUK | (DetourNetw@user/DetourNetworkUK) (Read error: Connection reset by peer) |
| 2025-12-30 19:19:58 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-12-30 19:13:20 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-30 19:03:50 +0100 | Everything | (~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 +0100 | Brumaire | (~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 +0100 | weary-traveler | (~user@user/user363627) user363627 |
| 2025-12-30 18:36:54 +0100 | Buliarous | (~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. |