2025/11/29

Newest at the top

2025-11-29 23:53:35 +0100 <Guest56> Thank you so much!
2025-11-29 23:52:52 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 244 seconds)
2025-11-29 23:52:17 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-29 23:49:53 +0100 <Rembane> Guest56: No worries. Good luck! :)
2025-11-29 23:49:33 +0100 <Rembane> Guest56: Another version, which uses guards on case which removes some of the nesting: https://play.haskell.org/saved/omzWcKUF
2025-11-29 23:48:48 +0100 <__monty__> Clint: Don't see how it deals with depending on different versions in different projects then.
2025-11-29 23:46:29 +0100 <Guest56> thanks for the case example though :)
2025-11-29 23:46:22 +0100 <Guest56> understandable
2025-11-29 23:46:00 +0100tromp(~textual@2001:1c00:3487:1b00:5005:5ee4:6658:fef3) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-11-29 23:45:12 +0100 <Rembane> Guest56: No idea, I'm way too tired for that. :)
2025-11-29 23:45:05 +0100 <Rembane> Guest56: https://play.haskell.org/saved/2Ogh8nQy <- example for case
2025-11-29 23:43:36 +0100 <Guest56> hmm... how else should I model this?
2025-11-29 23:43:14 +0100 <Guest56> oh?
2025-11-29 23:43:12 +0100 <Rembane> Guest56: But I have a feeling there's either incredible inherent complexity in the problem or that there's an easier way to model this in Haskell.
2025-11-29 23:42:44 +0100 <Rembane> Guest56: You can replace it with a case and pattern match on Just
2025-11-29 23:42:21 +0100 <Guest56> I'm basically trying to replace the let expression as let will not let me repeat bindings.
2025-11-29 23:41:28 +0100tcard_(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
2025-11-29 23:41:15 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-11-29 23:41:11 +0100tcard_(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Remote host closed the connection)
2025-11-29 23:40:08 +0100 <Rembane> Guest56: Yup, lets see.
2025-11-29 23:39:37 +0100 <Guest56> Rembane you there?
2025-11-29 23:39:04 +0100 <Guest56>                                        else Nothing
2025-11-29 23:39:04 +0100 <Guest56>                                                     else Nothing
2025-11-29 23:39:03 +0100 <Guest56>                                                    then Just $ RGN tr1 ta
2025-11-29 23:39:03 +0100 <Guest56>                                                in if gr2 == gr2' && gr2' == gr2'' && gr2'' == gr2''' && gr2''' == gr2'''' && gr2'''' == gr2'''''
2025-11-29 23:39:02 +0100 <Guest56>                                        then let FForall gr2 (FArrow (FArrow (FArrow (RGN tr1 (FVar gr2)) (RGN (FVar gr2) (gr2))) (RGNHandle (FVar gr2))) (RGN (FVar gr2) ta)) = tv
2025-11-29 23:39:02 +0100 <Guest56>                                    in if (S.member tr1 d) && (S.member ta d) && isJust tv
2025-11-29 23:39:01 +0100 <Guest56>                                    let tv = (inferType d g . valToExp) v
2025-11-29 23:39:01 +0100 <Guest56> inferType d g (ELetRGN tr1 ta v) =
2025-11-29 23:38:13 +0100 <Guest56> ok, there we go. This will not compile because all those `gr2`s need to be different and then checked for equality.
2025-11-29 23:37:13 +0100jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 264 seconds)
2025-11-29 23:36:54 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-29 23:35:40 +0100divlamir_divlamir
2025-11-29 23:34:49 +0100divlamir_(~divlamir@user/divlamir) divlamir
2025-11-29 23:34:48 +0100 <Guest56> Gimme a sec please it ain't easy writing down all those Arrows lol
2025-11-29 23:34:46 +0100divlamir(~divlamir@user/divlamir) (Read error: Connection reset by peer)
2025-11-29 23:32:47 +0100tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Read error: Connection reset by peer)
2025-11-29 23:32:37 +0100tcard_(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
2025-11-29 23:31:00 +0100 <Guest56> I guess I can share a snippet of my code
2025-11-29 23:31:00 +0100jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-11-29 23:29:34 +0100 <Guest56> yup lol
2025-11-29 23:29:18 +0100 <Rembane> That's some spicy notation!
2025-11-29 23:26:13 +0100 <Guest56> Go down to page 20. I'm trying to model the type checker for letRGN
2025-11-29 23:26:12 +0100 <Guest56> https://www.cs.cornell.edu/people/fluet/research/rgn-monad/JFP06/jfp06.pdf
2025-11-29 23:26:00 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-11-29 23:25:06 +0100 <Guest56> oh wait lol I can refer you to the actual paper. That is public domain lmao
2025-11-29 23:24:23 +0100 <Rembane> That's exciting and seems quite hard to read.
2025-11-29 23:24:02 +0100 <Guest56> The actual code has like 8 `t1`s.
2025-11-29 23:21:25 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-29 23:21:09 +0100 <Guest56> whoops typo... t1' == t1'' not t2'