2025/11/29

Newest at the top

2025-11-29 23:11:22 +0100 <Guest56> It is an extension of System F
2025-11-29 23:11:13 +0100 <Rembane> Guest56: What are you trying to model with your machinery?
2025-11-29 23:11:05 +0100 <Rembane> Guest56: No worries, then I think you could use newtypes instead of types to give the type checker something more to work with and use functional dependencies or maybe type families (which I'm not familiar with more than the name) to get the same types.
2025-11-29 23:10:34 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2025-11-29 23:09:30 +0100 <Guest56> I'm sorry, I cannot show the actual code but I can come up with an MRE as close as possible.
2025-11-29 23:09:08 +0100 <Guest56> var1 and var2 are just Type renames for strings
2025-11-29 23:08:49 +0100 <Guest56> no, they have to be the same types
2025-11-29 23:08:30 +0100 <Rembane> Guest56: Do they always have to be the same type or is it okay if they are different types sometimes?
2025-11-29 23:06:34 +0100 <Guest56> So the actual code is on the lines of: Just (Arrow (MyType var1 var2) (MyType var1’ var3)) = ta
2025-11-29 23:06:02 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-29 23:04:58 +0100 <Guest56> it's supposed to return a function type. I have added arrows in there for easy viewing. My type definitions for arrows are: Arrow MyType MyType
2025-11-29 23:03:40 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2025-11-29 23:01:42 +0100 <pavonia> What syntax is the arrow in "let Just (MyType var1 var2 -> MyType var1’ var3) = ta"?
2025-11-29 23:01:31 +0100euphores(~SASL_euph@user/euphores) (Ping timeout: 264 seconds)
2025-11-29 22:54:36 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-11-29 22:48:00 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-29 22:43:34 +0100 <Guest56> anyone?
2025-11-29 22:37:31 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-11-29 22:37:28 +0100 <Guest56> I want to be able to do Just (MyType var1 var2 -> MyType var1 var3) …. Is there an extension for this? The actual code has over 8 places in which var1 is used and it is not realistic to keep adding apostrophes and do 56 comparisons
2025-11-29 22:37:28 +0100 <Guest56>     else
2025-11-29 22:37:27 +0100 <Guest56>     then …
2025-11-29 22:37:27 +0100 <Guest56> In if var1 == var1’
2025-11-29 22:37:26 +0100 <Guest56> let Just (MyType var1 var2 -> MyType var1’ var3) = ta …. Made sure that ta is not a Nothing already
2025-11-29 22:37:26 +0100 <Guest56> … some more code
2025-11-29 22:37:25 +0100 <Guest56> let ta = typeDeconstruct …. (This function returns a Maybe type)
2025-11-29 22:37:25 +0100 <Guest56> … some code …
2025-11-29 22:37:24 +0100 <Guest56> type var2 = String
2025-11-29 22:37:24 +0100 <Guest56> type var1 = String
2025-11-29 22:37:23 +0100 <Guest56> Signature:
2025-11-29 22:37:23 +0100 <Guest56> I need help with some haskell syntax. I have a really long type signature and I need a quick way of making sure that the parts of it which are equal are represented in the signature itself. (Explanation follows:)
2025-11-29 22:32:37 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-29 22:32:19 +0100euphores(~SASL_euph@user/euphores) euphores
2025-11-29 22:30:37 +0100Guest56(~Guest56@38.49.92.193)
2025-11-29 22:27:39 +0100tromp(~textual@2001:1c00:3487:1b00:5005:5ee4:6658:fef3)
2025-11-29 22:24:55 +0100tromp(~textual@2001:1c00:3487:1b00:5005:5ee4:6658:fef3) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-11-29 22:21:50 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-11-29 22:18:31 +0100machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod
2025-11-29 22:18:15 +0100machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 240 seconds)
2025-11-29 22:14:46 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-29 22:07:07 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-11-29 22:05:43 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 246 seconds)
2025-11-29 22:05:29 +0100Googulator92Googulator
2025-11-29 22:04:30 +0100humasect_(~humasect@dyn-192-249-132-90.nexicom.net)
2025-11-29 22:02:45 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-29 21:51:54 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-11-29 21:49:18 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net)
2025-11-29 21:47:13 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-11-29 21:45:35 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 240 seconds)
2025-11-29 21:40:47 +0100Googulator1(~Googulato@84-236-53-137.pool.digikabel.hu) (Quit: Client closed)
2025-11-29 21:40:42 +0100Googulator92(~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu)