4 comments

[ 3.0 ms ] story [ 16.9 ms ] thread
Seems like a clumsy version of dependency injection in Haskell to me.
I don’t see what’s clumsy about it. Is it that ‘stub’ seems to be part of the non-test API and gets exposed in production?

I’m not sure why this isn’t just called mock-testing.

In Scala using tagless final, I’ve seen an entire database layer get mocked. It seems like you can substitute a layer of an effect system if you go beyond the three-layer cake model. Not sure it’s warranted, never did Haskell in production.