Newest at the top
| 2025-12-20 19:49:55 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-20 19:48:59 +0100 | karenw | (~karenw@user/karenw) (Ping timeout: 244 seconds) |
| 2025-12-20 19:48:06 +0100 | Sgeo | (~Sgeo@user/sgeo) Sgeo |
| 2025-12-20 19:46:51 +0100 | milan2 | (~milan@88.212.61.169) |
| 2025-12-20 19:45:12 +0100 | shaeto | (~Shaeto@94.25.234.244) (Quit: WeeChat 4.1.1) |
| 2025-12-20 19:42:57 +0100 | Jackneill | (~Jackneill@178-164-234-79.pool.digikabel.hu) Jackneill |
| 2025-12-20 19:42:45 +0100 | Jackneill | (~Jackneill@178-164-234-79.pool.digikabel.hu) (Quit: Leaving) |
| 2025-12-20 19:42:43 +0100 | jackneill__ | (~Jackneill@178-164-234-79.pool.digikabel.hu) (Quit: Leaving) |
| 2025-12-20 19:39:04 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-12-20 19:38:42 +0100 | jonnie | (~jonnie@user/jonnie) jonnie |
| 2025-12-20 19:38:29 +0100 | Pozyomka | (~pyon@user/pyon) pyon |
| 2025-12-20 19:36:50 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
| 2025-12-20 19:35:34 +0100 | jonnie | (~jonnie@user/jonnie) (Remote host closed the connection) |
| 2025-12-20 19:34:09 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-20 19:32:34 +0100 | lambda_gibbon | (~lambda_gi@2603:7080:ee00:37d8:dcc4:d31b:c3d9:56cd) (Ping timeout: 260 seconds) |
| 2025-12-20 19:30:36 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
| 2025-12-20 19:28:08 +0100 | lambda_gibbon | (~lambda_gi@2603:7080:ee00:37d8:dcc4:d31b:c3d9:56cd) |
| 2025-12-20 19:26:22 +0100 | Googulator28 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-20 19:25:53 +0100 | Googulator53 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) |
| 2025-12-20 19:25:02 +0100 | Lycurgus | (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org )) |
| 2025-12-20 19:23:19 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2025-12-20 19:22:51 +0100 | peterbecich | (~Thunderbi@71.84.33.135) peterbecich |
| 2025-12-20 19:18:31 +0100 | ystael | (~ystael@user/ystael) (Ping timeout: 240 seconds) |
| 2025-12-20 19:18:22 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-20 19:11:43 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-20 19:08:26 +0100 | Jackneill | (~Jackneill@178-164-234-79.pool.digikabel.hu) |
| 2025-12-20 19:07:43 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) (Ping timeout: 240 seconds) |
| 2025-12-20 19:06:59 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-20 19:05:40 +0100 | <haskellbridge> | <Morj> Another think typeclasses allow you vs modules is delaying a choice between runtime or compile time polymorphism. Like in haskell you can specialize-pragma or you can use dynamically |
| 2025-12-20 19:04:51 +0100 | <haskellbridge> | <Morj> For the purpose of this excercise I rule it out. But in general I don't think it's unacceptable |
| 2025-12-20 19:03:44 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
| 2025-12-20 19:03:28 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) (Remote host closed the connection) |
| 2025-12-20 19:02:14 +0100 | <monochrom> | Yeah GND is benovolent magic :) |
| 2025-12-20 19:01:26 +0100 | <monochrom> | But ocaml has m4 so it's "OK". >:) |
| 2025-12-20 19:00:44 +0100 | fp | (~Thunderbi@2001:708:20:1406::1370) (Ping timeout: 256 seconds) |
| 2025-12-20 19:00:27 +0100 | <tomsmeding> | yin geekosaur: re ghcup's bootstrap script, I made a PR https://github.com/haskell/ghcup-hs/pull/1301 |
| 2025-12-20 19:00:16 +0100 | <monochrom> | But I can understand if you desire automation. |
| 2025-12-20 18:59:51 +0100 | <monochrom> | Do you rule out hand-written forwarding? Because in SML I can write "module MyHashMap sig Map where insert = wrap . insert . unwrap; etc". |
| 2025-12-20 18:57:39 +0100 | <haskellbridge> | <Morj> GeneralizedNewtypeDeriving is magic that replaces macros, but it's very useful magic |
| 2025-12-20 18:57:24 +0100 | <haskellbridge> | <Morj> Rust requires macros for a similar thing for examples |
| 2025-12-20 18:57:10 +0100 | <haskellbridge> | <Morj> Given a module Data.HashMap sig Map, and I want to write a module MyHashMap that newtype-wraps the old one, like hоloleap is saying. To make MyHashMap implement Map, I don't think sml or ocaml have any solutions |
| 2025-12-20 18:55:55 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-20 18:55:51 +0100 | Googulator28 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) |
| 2025-12-20 18:55:51 +0100 | itaipu | (~itaipu@168.121.97.28) itaipu |
| 2025-12-20 18:55:48 +0100 | <monochrom> | But I can be talked into classes if it comes with associated data families or type families. :) |
| 2025-12-20 18:55:44 +0100 | Googulator28 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-20 18:55:05 +0100 | itaipu | (~itaipu@168.121.97.28) (Ping timeout: 256 seconds) |
| 2025-12-20 18:52:59 +0100 | <monochrom> | IMO ideally it is SML parametrizable modules, equivalently Haskell Backpack, not classes, that is the right mechanism for this kind of abstraction. Unfortunately, Backpack arrived too late, long after people had discovered and widely use the low-tech method. (Cf bytesting and text.) |
| 2025-12-20 18:51:26 +0100 | <haskellbridge> | <Morj> Harder to derive a module from existing module though |
| 2025-12-20 18:51:11 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |