2026/04/19

Newest at the top

2026-04-19 19:34:54 +0000 <janus> 'ready-to-fork' seems nice, and that is also the approach taken in TaPL (they keep forking their own minimal language)
2026-04-19 19:34:13 +0000 <janus> not sure how important backwards compat is for students?
2026-04-19 19:34:06 +0000 <janus> the article emphasizes how she wanted to break backwards compat
2026-04-19 19:32:31 +0000 <janus> https://haskellforall.com/2021/09/fall-from-grace-ready-to-fork
2026-04-19 19:32:28 +0000 <janus> monochrom: the pitch for Grace points at some advantages that might make sense in education
2026-04-19 19:32:24 +0000gmg(~user@user/gehmehgeh) (Ping timeout: 265 seconds)
2026-04-19 19:29:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2026-04-19 19:28:56 +0000internatetional(~nate@180.243.14.54) internatetional
2026-04-19 19:28:27 +0000 <EvanR> nice
2026-04-19 19:26:11 +0000internatetional(~nate@180.243.14.54) (Client Quit)
2026-04-19 19:26:04 +0000internatetional(~nate@180.243.14.54) internatetional
2026-04-19 19:24:41 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-19 19:24:35 +0000tristanC(~tristanC@user/tristanc) tristanC
2026-04-19 19:24:35 +0000tristanC(~tristanC@2602:61:712f:b700:a215:c067:33c4:f43e) (Changing host)
2026-04-19 19:24:35 +0000tristanC(~tristanC@2602:61:712f:b700:a215:c067:33c4:f43e)
2026-04-19 19:17:49 +0000karenw(~karenw@user/karenw) karenw
2026-04-19 19:13:52 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-04-19 19:09:19 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-19 19:09:00 +0000uli-fem(~uli-fem@115.128.71.34) (Ping timeout: 246 seconds)
2026-04-19 19:04:45 +0000uli-fem(~uli-fem@115.128.71.34)
2026-04-19 19:04:24 +0000 <monochrom> or rather s/reason/excuse/ haha
2026-04-19 19:04:13 +0000 <monochrom> It is not every day that one finds a real-world reason to teach System F to undergrads!
2026-04-19 19:03:38 +0000 <monochrom> OK I'm going to teach Dhall in my PL course!!!
2026-04-19 19:02:06 +0000uli-fem(~uli-fem@115.128.71.34) (Ping timeout: 256 seconds)
2026-04-19 18:58:02 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-04-19 18:57:32 +0000uli-fem(~uli-fem@115.128.71.34)
2026-04-19 18:52:26 +0000gabriel_sevecek(~gabriel@92-180-224-71.dynamic.orange.sk) gabriel_sevecek
2026-04-19 18:51:31 +0000gabriel_sevecek(~gabriel@92-180-224-71.dynamic.orange.sk) (Quit: WeeChat 4.9.0)
2026-04-19 18:51:16 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-19 18:42:42 +0000puke(~puke@user/puke) (Ping timeout: 250 seconds)
2026-04-19 18:41:45 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-04-19 18:36:25 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-19 18:29:58 +0000 <monochrom> plus the meta-clue that Gabriella is very PLT well-informed (unlike the makers of Perl, Python, PHP) so if she chose this there must be a PLT reason.
2026-04-19 18:28:15 +0000 <monochrom> More completely (pun!), handwritten types for lambdas and explicity type applications when calling polymorphic functions. So a better example is: Haskell's "map (\x -> x>0)" becomes Dhall's "map Natural Bool (\(x:Natural -> x>0))". That really looks like System F.
2026-04-19 18:25:49 +0000uli-fem(~uli-fem@115.128.71.34) (Ping timeout: 244 seconds)
2026-04-19 18:25:43 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-04-19 18:24:03 +0000lol_jcarpenter2
2026-04-19 18:21:15 +0000uli-fem(~uli-fem@115.128.71.34)
2026-04-19 18:21:04 +0000machinedgod(~machinedg@d172-219-48-230.abhsia.telus.net) machinedgod
2026-04-19 18:21:03 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-19 18:17:34 +0000gmg(~user@user/gehmehgeh) gehmehgeh
2026-04-19 18:16:09 +0000 <monochrom> So the language doesn't directly allow recursive ADT but they tell you that the backdoor is rank-n polymorphic church encoding.
2026-04-19 18:14:31 +0000 <monochrom> https://docs.dhall-lang.org/howtos/How-to-translate-recursive-code-to-Dhall.html
2026-04-19 18:14:22 +0000 <monochrom> \∩/ I guessed right about why Dhall mandates handwritten types for functions (e.g. \(x:Natural) -> x+x). Last time I saw that requirement was System F. So I thought "is it just because Dhall is System F? and if so, can I do the usual System F trick to sneak in any positively recursive ADT?" The answer is yes and yes! In fact they have a howto for that!
2026-04-19 18:13:14 +0000__monty__(~toonn@user/toonn) toonn
2026-04-19 18:12:34 +0000peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 248 seconds)
2026-04-19 18:10:23 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2026-04-19 18:06:12 +0000peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-04-19 18:05:39 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-19 18:03:36 +0000peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 244 seconds)