on develop help sign in
Turn MonadWidget back into a class

Making `MonadWidget` a type synonym forced users to include mysterious language extensions. Making it first-class gets rid of that requirement. Using a type synonym to express its constraints avoids excess source code.

commitb1e861179afbefdfb33368f2556a4cbb6a6185dc authorDavid Feuer <David.Feuer@gmail.com> dateThu 8 Sep 2016, 01:06 (10 years ago) parent818d653
1 file changed+4−1
src/Reflex/Dom/Old.hs+4−1
src/Reflex/Dom/Old.hs+4−1
@@ -81,7 +81,7 @@ data ElConfig attrs = ElConfig
8181makeLenses ''ElConfig
8282
8383--TODO: HasDocument is still not accounted for
84−type MonadWidget t m =
84+type MonadWidgetConstraints t m =
8585 ( DomBuilder t m
8686 , DomBuilderSpace m ~ GhcjsDomSpace
8787 , MonadFix m
@@ -103,6 +103,9 @@ type MonadWidget t m =
103103 , Ref (Performable m) ~ Ref IO
104104 )
105105
106+class MonadWidgetConstraints t m => MonadWidget t m
107+instance MonadWidgetConstraints t m => MonadWidget t m
108+
106109type WidgetHost m = Performable m
107110
108111type El = Element EventResult GhcjsDomSpace