Newest at the top
| 2026-04-30 10:56:57 +0000 | <lortabac> | yes |
| 2026-04-30 10:56:42 +0000 | <hadronized> | https://www.andres-loeh.de/OpenDatatypes.pdf this one? |
| 2026-04-30 10:56:10 +0000 | <lortabac> | hadronized: for the expression problem, a lightweight alternative would be open data-types and functions (see the paper by Andres Löh) |
| 2026-04-30 10:54:29 +0000 | dcb | (~dcb@user/dcb) dcb |
| 2026-04-30 10:54:11 +0000 | califax_ | califax |
| 2026-04-30 10:53:48 +0000 | califax | (~califax@user/califx) (Remote host closed the connection) |
| 2026-04-30 10:52:57 +0000 | califax_ | (~califax@user/califx) califx |
| 2026-04-30 10:51:52 +0000 | leppard | (~noOne@ipservice-092-208-182-236.092.208.pools.vodafone-ip.de) Inline |
| 2026-04-30 10:50:35 +0000 | divlamir | (~divlamir@user/divlamir) divlamir |
| 2026-04-30 10:50:17 +0000 | divlamir | (~divlamir@user/divlamir) (Read error: Connection reset by peer) |
| 2026-04-30 10:49:39 +0000 | dcb | (~dcb@user/dcb) (Quit: MSN Messenger v1.9.1) |
| 2026-04-30 10:48:44 +0000 | <hadronized> | (the Go way, basically) |
| 2026-04-30 10:48:32 +0000 | <hadronized> | there’s structural interfaces, but they can induce bugs, and as such, I won’t go that route |
| 2026-04-30 10:46:36 +0000 | ChanServ | +v haskellbridge |
| 2026-04-30 10:46:36 +0000 | haskellbridge | (~hackager@96.28.224.214) hackager |
| 2026-04-30 10:46:27 +0000 | <hadronized> | (at runtime: just go the vtable way) |
| 2026-04-30 10:46:19 +0000 | <hadronized> | the problem can be addressed at runtime, but I would rather find a way at compile-time |
| 2026-04-30 10:45:24 +0000 | <hadronized> | I do have a form of subtyping (refinement types), but it’s not structural |
| 2026-04-30 10:45:08 +0000 | <hadronized> | if you remove generic code, you entirely remove that class of problem, but you also remove a lot of useful features that my language needs to have |
| 2026-04-30 10:45:06 +0000 | <__monty__> | Structural subtyping? |
| 2026-04-30 10:44:47 +0000 | <hadronized> | as soon as I try to add a compile-time form of interface, I hit coherence, overlapping implementations, etc. |
| 2026-04-30 10:44:31 +0000 | <hadronized> | the duck typing approach is something I deeply disdain, but it does have the advantage of not introducing a ton of complexity in the language, and the tradeoff is that you have a lot of cognitive complexity at use site |
| 2026-04-30 10:43:43 +0000 | <hadronized> | yes, hence why I’m wondering |
| 2026-04-30 10:43:30 +0000 | <__monty__> | Typeclasses address an expressivity problem. Not sure what correctness problem exists that they could/would address. |
| 2026-04-30 10:42:15 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-04-30 10:42:12 +0000 | <hadronized> | (that’s the why of my initial question regarding typeclasses and whether they solve a correctness problem) |
| 2026-04-30 10:41:55 +0000 | <hadronized> | the main goal of my language is correctness |
| 2026-04-30 10:41:50 +0000 | <hadronized> | so I am looking for a lighter alternative, even if I lose a bit of expressiveness |
| 2026-04-30 10:41:32 +0000 | <hadronized> | or requires synchronizing the documentation with the content of the body, which has been proven numerous times a bad idea (and even Zig std doesn’t do it correctly) |
| 2026-04-30 10:41:03 +0000 | <hadronized> | it forces you to look at the body to know the exact way of using that function |
| 2026-04-30 10:41:02 +0000 | haskellbridge | (~hackager@96.28.224.214) (Read error: Connection reset by peer) |
| 2026-04-30 10:40:48 +0000 | <hadronized> | because looking at something like fn whatdoesitdo(comptime T: type, a: T, b: T) T { return a + b; } |
| 2026-04-30 10:40:42 +0000 | __monty__ | (~toonn@user/toonn) toonn |
| 2026-04-30 10:40:19 +0000 | <hadronized> | Zig does that, and I deeply dislike it |
| 2026-04-30 10:40:13 +0000 | <hadronized> | and honestly, I sometimes feel like I should just go with duck typing, but yikes |
| 2026-04-30 10:40:00 +0000 | <hadronized> | monochrom: I wish I could KISS-design that part |
| 2026-04-30 10:37:14 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 10:33:42 +0000 | <hadronized> | and linear values go through explicit uninit, not destructors |
| 2026-04-30 10:33:39 +0000 | leppard | (~noOne@ipservice-092-208-182-236.092.208.pools.vodafone-ip.de) (Ping timeout: 245 seconds) |
| 2026-04-30 10:33:24 +0000 | <hadronized> | linear types -> move semantics, but I can create references to them, because linear values only would prevent sharing |
| 2026-04-30 10:32:56 +0000 | <hadronized> | ski: I have both, I think |
| 2026-04-30 10:30:52 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-04-30 10:29:23 +0000 | misterfish | (~misterfis@84.53.85.146) misterfish |
| 2026-04-30 10:26:11 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-30 10:26:01 +0000 | ChaiTRex | (~ChaiTRex@user/chaitrex) ChaiTRex |
| 2026-04-30 10:25:33 +0000 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Ping timeout: 265 seconds) |
| 2026-04-30 10:18:42 +0000 | jreicher | (~joelr@user/jreicher) jreicher |
| 2026-04-30 10:17:12 +0000 | jreicher | (~joelr@user/jreicher) (Quit: brb) |
| 2026-04-30 10:13:30 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-30 10:09:01 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |