Hacker News new | ask | show | jobs
by pwm 2104 days ago
> compositional and performance advantages

Compositional sure, but performance? Care to elaborate?

1 comments

I'd point you to Oleg Kiselyov's page on Extensible Effects[0]. Here's a quote:

Thanks to the Freer monad construction and the representation of the continuation as an efficient sequence structure, extensible effects have good performance even for relatively short monad stacks, and algorithmically better performance than monad transformers for longer stacks.

Essentially the performance improvement comes when you need to handle a nested effect, with EE you can access the handler in amortized constant time (with a type-aligned queue), instead of propagating the request up the handlers.

[0] http://okmij.org/ftp/Haskell/extensible/

Not sure what the status of the project is, but work on https://github.com/hasura/eff is supposed to improve the performance even more!