Transitivity - Polysemy

Welcome to the Functional Programming Zulip Chat Archive. You can join the chat here.

TheMatten

It seems like it is possible to get bitten by lack of "inferable transitivity" of Members constraints in opaque contexts: https://github.com/axellang/axel/blob/purescript-backend/src/Axel/Macros.hs#L477

Haskell + Lisp. Contribute to axellang/axel development by creating an account on GitHub.
TheMatten

Author's solution actually doesn't work - it may be possible to fix it, but I think this one is a deeper problem to solve

TheMatten

Relevant: https://github.com/polysemy-research/polysemy/issues/280

This is a highly-simplified version of some Members constraints I'm working with (I think), and I guess I'm a bit confused why it can't compile. foo :: (Sem.Members '[Sem.Reader Int...
TheMatten

If we explicitly write down wanted Members constraint, problem reduces down to Members es r => Members es (e:r)

Joshua Grosso

Author here, happy to answer any questions about this specific example