2025/12/20

Newest at the top

2025-12-20 19:49:55 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-20 19:48:59 +0100karenw(~karenw@user/karenw) (Ping timeout: 244 seconds)
2025-12-20 19:48:06 +0100Sgeo(~Sgeo@user/sgeo) Sgeo
2025-12-20 19:46:51 +0100milan2(~milan@88.212.61.169)
2025-12-20 19:45:12 +0100shaeto(~Shaeto@94.25.234.244) (Quit: WeeChat 4.1.1)
2025-12-20 19:42:57 +0100Jackneill(~Jackneill@178-164-234-79.pool.digikabel.hu) Jackneill
2025-12-20 19:42:45 +0100Jackneill(~Jackneill@178-164-234-79.pool.digikabel.hu) (Quit: Leaving)
2025-12-20 19:42:43 +0100jackneill__(~Jackneill@178-164-234-79.pool.digikabel.hu) (Quit: Leaving)
2025-12-20 19:39:04 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-12-20 19:38:42 +0100jonnie(~jonnie@user/jonnie) jonnie
2025-12-20 19:38:29 +0100Pozyomka(~pyon@user/pyon) pyon
2025-12-20 19:36:50 +0100chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2025-12-20 19:35:34 +0100jonnie(~jonnie@user/jonnie) (Remote host closed the connection)
2025-12-20 19:34:09 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-20 19:32:34 +0100lambda_gibbon(~lambda_gi@2603:7080:ee00:37d8:dcc4:d31b:c3d9:56cd) (Ping timeout: 260 seconds)
2025-12-20 19:30:36 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net)
2025-12-20 19:28:08 +0100lambda_gibbon(~lambda_gi@2603:7080:ee00:37d8:dcc4:d31b:c3d9:56cd)
2025-12-20 19:26:22 +0100Googulator28(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
2025-12-20 19:25:53 +0100Googulator53(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
2025-12-20 19:25:02 +0100Lycurgus(~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
2025-12-20 19:23:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-12-20 19:22:51 +0100peterbecich(~Thunderbi@71.84.33.135) peterbecich
2025-12-20 19:18:31 +0100ystael(~ystael@user/ystael) (Ping timeout: 240 seconds)
2025-12-20 19:18:22 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-20 19:11:43 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-20 19:08:26 +0100Jackneill(~Jackneill@178-164-234-79.pool.digikabel.hu)
2025-12-20 19:07:43 +0100chromoblob(~chromoblo@user/chromob1ot1c) (Ping timeout: 240 seconds)
2025-12-20 19:06:59 +0100merijn(~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 +0100chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2025-12-20 19:03:28 +0100chromoblob(~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 +0100fp(~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 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-20 18:55:51 +0100Googulator28(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
2025-12-20 18:55:51 +0100itaipu(~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 +0100Googulator28(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
2025-12-20 18:55:05 +0100itaipu(~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 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn