Extensible effects and Scala

1
John A De Goes @jdegoes

Extensible effects look much more likely to achieve reasonable performance in Scala than monad transformers.

2013-11-28 07:21:34
Edward Kmett @kmett

@nuttycom @jdegoes @viktorklang Note: Many objections (lazy writer/reader) are specific to laziness. A couple others get fixed by using Ran.

2013-11-28 09:13:17
Edward Kmett @kmett

@nuttycom @jdegoes @viktorklang That said, extensible effects implemented naively in scala are pretty awful perf-wise: too much trampolining

2013-11-28 09:14:19
Mark Hibberd @markhibberd

@jdegoes @nuttycom Don't you end up with both? Dan Doel's writeup asks the same questions I have of this approach https://t.co/8glxEdWpov

2013-11-28 09:47:23
Mark Hibberd @markhibberd

@jdegoes @nuttycom And the equivalent in Scala using Free is horrendously slow at the moment, so what makes it faster?

2013-11-28 09:49:07
John A De Goes @jdegoes

@kmett @nuttycom @viktorklang Monad transformers have megamorphic, trampolined overhead proportional to # of layers. Can't get worse.

2013-12-28 04:13:07
John A De Goes @jdegoes

@kmett @nuttycom @viktorklang EE have far fewer megamorphic dispatches; can probably be optimized 4 non-overlapping / statically known fx.

2013-12-28 04:16:04