Newest at the top
2025-01-31 16:41:24 +0100 | hueso | (~root@user/hueso) hueso |
2025-01-31 16:39:15 +0100 | hueso | (~root@user/hueso) (Quit: No Ping reply in 180 seconds.) |
2025-01-31 16:37:08 +0100 | Guest37 | (~Guest62@c-73-217-79-154.hsd1.co.comcast.net) |
2025-01-31 16:36:57 +0100 | vektor | (~vektor@IP-149249154134.pools.medianet-world.de) |
2025-01-31 16:36:50 +0100 | <dminuoso> | Hard to imagine why there would be more than one. |
2025-01-31 16:36:37 +0100 | <dminuoso> | slack1256: Again, hard to say without knowing more about your code - but ideally there wouldnt be many places where you resolve effects. |
2025-01-31 16:36:30 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) L29Ah |
2025-01-31 16:36:04 +0100 | <slack1256> | dminuoso: "Resolve them coherently" is the problem, I have to do it by hand instaed of using typeclasses. I have to duplicate the callers of those functions, the different constraints bubble up. If I could abstract over implicit parameters with classes I could delegate this to the compiler to choose the right calling convention. |
2025-01-31 16:34:08 +0100 | <dminuoso> | It's certainly not ideal, but no migration ever was. |
2025-01-31 16:33:46 +0100 | <dminuoso> | So some parts just use the effect, others use implicit params. |
2025-01-31 16:33:28 +0100 | <dminuoso> | slack1256: That said, Im not entirely sure you need any partial solution here. During migration you can also just have *both* some effect and an implicit parameter, just make sure you resolve them coherently until the implicit params are gone. |
2025-01-31 16:33:15 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 252 seconds) |
2025-01-31 16:30:13 +0100 | <geekosaur> | and they break reasoning about code |
2025-01-31 16:29:59 +0100 | <geekosaur> | I don't think I've ever seen a use for implicit params that waasn't better served some other way |
2025-01-31 16:29:44 +0100 | <geekosaur> | tbh if you're using an effect system, its state abstraction is an IORef (because effect systems are fancy ReaderT, more or less) and switching to that is the saner option than implicit params anyway |
2025-01-31 16:29:04 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-31 16:28:57 +0100 | <dminuoso> | slack1256: Its hard to tell without a bit more context, unsure whether the example is contrived or whether this is truly just about database connection strings |
2025-01-31 16:27:02 +0100 | <slack1256> | dminuoso: too much code already uses it on the codebase. We are in a middle of a sprint and other developers are making changes to their own modules. Changing them all in a big PR would cause a lot of conflicts when trying to merge. |
2025-01-31 16:24:51 +0100 | <dminuoso> | slack1256: The thing I dont quite understand, are you not trying to migrate away from implicit parameters? |
2025-01-31 16:22:42 +0100 | <slack1256> | https://pastebin.com/zX9KcNQu dminuoso |
2025-01-31 16:18:12 +0100 | euleritian | (~euleritia@dynamic-176-006-142-115.176.6.pool.telefonica.de) |
2025-01-31 16:17:51 +0100 | euleritian | (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
2025-01-31 16:16:48 +0100 | <geekosaur> | "You can’t have an implicit parameter in the context of a class or instance declaration." (https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/implicit_parameters.html#implicit-p…) |
2025-01-31 16:16:38 +0100 | zmt01 | (~zmt00@user/zmt00) (Ping timeout: 244 seconds) |
2025-01-31 16:15:29 +0100 | swamp_ | (~zmt00@user/zmt00) (Ping timeout: 260 seconds) |
2025-01-31 16:15:10 +0100 | <slack1256> | dminuoso: Sure, give me a moment. |
2025-01-31 16:14:32 +0100 | <dminuoso> | slack1256: Can you elaborate on "Implicit parameter resist being constraints on instance heads, so I cannot define classes to have two versions of each function", perhaps with a code example? |
2025-01-31 16:13:03 +0100 | johnjaye | (~pi@syn-035-146-235-019.res.spectrum.com) (Quit: WeeChat 4.0.0-dev) |
2025-01-31 16:12:56 +0100 | <slack1256> | stract over implicit parameters? |
2025-01-31 16:12:56 +0100 | <slack1256> | I have a codebase that uses implicit parameters with mutable variables (think queues). I want to migrate to effectful. The migration is happening all at once, I create a static effect per implicit parameter and I create a function like `withDB` to scope the blocks that require that parameter. Implicit parameter resist being constraints on instance heads, so I cannot define classes to have two versions of each function. What alternatives do I have to ab |
2025-01-31 16:12:19 +0100 | zmt01 | (~zmt00@user/zmt00) zmt00 |
2025-01-31 16:07:27 +0100 | slack1256 | (~slack1256@179.60.70.224) slack1256 |
2025-01-31 16:06:34 +0100 | Putonlalla | (~Putonlall@it-cyan.it.jyu.fi) (Quit: Leaving.) |
2025-01-31 16:04:47 +0100 | Guest33 | (~Guest33@151.73.135.114) (Client Quit) |
2025-01-31 16:04:19 +0100 | Guest33 | (~Guest33@151.73.135.114) |
2025-01-31 15:54:07 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3504-8116-8987-9b89-16c5-ba01.rev.sfr.net) (Remote host closed the connection) |
2025-01-31 15:44:10 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 272 seconds) |
2025-01-31 15:42:17 +0100 | Sgeo | (~Sgeo@user/sgeo) Sgeo |
2025-01-31 15:39:38 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-01-31 15:39:21 +0100 | alp | (~alp@2001:861:8ca0:4940:54fd:6cb8:585b:9cc) (Ping timeout: 252 seconds) |
2025-01-31 15:36:49 +0100 | vektor | (~vektor@IP-149249154134.pools.medianet-world.de) (Quit: Client closed) |
2025-01-31 15:35:01 +0100 | alp | (~alp@2001:861:8ca0:4940:54fd:6cb8:585b:9cc) |
2025-01-31 15:34:38 +0100 | alp | (~alp@2001:861:8ca0:4940:6044:ccfa:bd56:f4d9) (Remote host closed the connection) |
2025-01-31 15:33:25 +0100 | p3n | (~p3n@217.198.124.246) p3n |
2025-01-31 15:31:44 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3504-8116-8987-9b89-16c5-ba01.rev.sfr.net) alexherbo2 |
2025-01-31 15:29:06 +0100 | ash3en | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en |
2025-01-31 15:27:33 +0100 | acidjnk_new3 | (~acidjnk@p200300d6e7283f83edaedff6126e1841.dip0.t-ipconnect.de) |
2025-01-31 15:27:19 +0100 | acidjnk_new3 | (~acidjnk@p200300d6e7283f830c2bc91cde612e63.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2025-01-31 15:22:23 +0100 | alp | (~alp@2001:861:8ca0:4940:6044:ccfa:bd56:f4d9) |
2025-01-31 15:19:08 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3504-8116-8987-9b89-16c5-ba01.rev.sfr.net) (Remote host closed the connection) |