Eff in PureScript is IO with a phantom type. You can't imitate transformer stacks with them. It's just a way of tracking which effects your projects use, there's nothing to inspect at runtime.
The equivalent of Haskell's Eff is purescript-run. (Just with a nicer API thanks to row types)
FWIW we'll probably continue to use Eff with rows at work, but the trade-offs for effect rows are bad at smaller scale
I ask this more from a language design perspective. I understand Eff didn't give you any of the handler stuff of algebraic effects, so was limited. purescript-run fixes that doesn't it?
It does, yeah. Eff was never part of PureScript's language design. It's one possible application of row types.
The compiler doesn't know about Eff as a language feature (it does have some optimizer rules, but those are not part of the language)