@@ -14,7 +14,6 @@ import Data.GADT.Compare.TH
15import Data.GADT.Compare
15import Data.GADT.Compare
16 (GOrdering(..), (:~:)(..), GEq(..), GCompare(..))
16 (GOrdering(..), (:~:)(..), GEq(..), GCompare(..))
17−import Control.Monad (ap)
20data EventTag
19data EventTag
@@ -238,156 +237,141 @@ instance GEq EventName
238 geq Touchcancel Touchcancel = return Refl
237 geq Touchcancel Touchcancel = return Refl
239 geq _ _ = Nothing
238 geq _ _ = Nothing
241−newtype GComparing a b t = GComparing (Either (GOrdering a b) t)
243−instance Functor (GComparing a b) where fmap f (GComparing x) = GComparing (either Left (Right . f) x)
244−instance Monad (GComparing a b) where
245− return = GComparing . Right
246− GComparing (Left x) >>= f = GComparing (Left x)
247− GComparing (Right x) >>= f = f x
248−instance Applicative (GComparing a b) where
252−runGComparing (GComparing x) = either id id x
254instance GCompare EventName
240instance GCompare EventName
255− where gcompare Abort Abort = runGComparing $ return GEQ
241+ where gcompare Abort Abort = GEQ
256 gcompare Abort _ = GLT
242 gcompare Abort _ = GLT
257 gcompare _ Abort = GGT
243 gcompare _ Abort = GGT
258− gcompare Blur Blur = runGComparing $ return GEQ
244+ gcompare Blur Blur = GEQ
259 gcompare Blur _ = GLT
245 gcompare Blur _ = GLT
260 gcompare _ Blur = GGT
246 gcompare _ Blur = GGT
261− gcompare Change Change = runGComparing $ return GEQ
247+ gcompare Change Change = GEQ
262 gcompare Change _ = GLT
248 gcompare Change _ = GLT
263 gcompare _ Change = GGT
249 gcompare _ Change = GGT
264− gcompare Click Click = runGComparing $ return GEQ
250+ gcompare Click Click = GEQ
265 gcompare Click _ = GLT
251 gcompare Click _ = GLT
266 gcompare _ Click = GGT
252 gcompare _ Click = GGT
267− gcompare Contextmenu Contextmenu = runGComparing $ return GEQ
253+ gcompare Contextmenu Contextmenu = GEQ
268 gcompare Contextmenu _ = GLT
254 gcompare Contextmenu _ = GLT
269 gcompare _ Contextmenu = GGT
255 gcompare _ Contextmenu = GGT
270− gcompare Dblclick Dblclick = runGComparing $ return GEQ
256+ gcompare Dblclick Dblclick = GEQ
271 gcompare Dblclick _ = GLT
257 gcompare Dblclick _ = GLT
272 gcompare _ Dblclick = GGT
258 gcompare _ Dblclick = GGT
273− gcompare Drag Drag = runGComparing $ return GEQ
259+ gcompare Drag Drag = GEQ
274 gcompare Drag _ = GLT
260 gcompare Drag _ = GLT
275 gcompare _ Drag = GGT
261 gcompare _ Drag = GGT
276− gcompare Dragend Dragend = runGComparing $ return GEQ
262+ gcompare Dragend Dragend = GEQ
277 gcompare Dragend _ = GLT
263 gcompare Dragend _ = GLT
278 gcompare _ Dragend = GGT
264 gcompare _ Dragend = GGT
279− gcompare Dragenter Dragenter = runGComparing $ return GEQ
265+ gcompare Dragenter Dragenter = GEQ
280 gcompare Dragenter _ = GLT
266 gcompare Dragenter _ = GLT
281 gcompare _ Dragenter = GGT
267 gcompare _ Dragenter = GGT
282− gcompare Dragleave Dragleave = runGComparing $ return GEQ
268+ gcompare Dragleave Dragleave = GEQ
283 gcompare Dragleave _ = GLT
269 gcompare Dragleave _ = GLT
284 gcompare _ Dragleave = GGT
270 gcompare _ Dragleave = GGT
285− gcompare Dragover Dragover = runGComparing $ return GEQ
271+ gcompare Dragover Dragover = GEQ
286 gcompare Dragover _ = GLT
272 gcompare Dragover _ = GLT
287 gcompare _ Dragover = GGT
273 gcompare _ Dragover = GGT
288− gcompare Dragstart Dragstart = runGComparing $ return GEQ
274+ gcompare Dragstart Dragstart = GEQ
289 gcompare Dragstart _ = GLT
275 gcompare Dragstart _ = GLT
290 gcompare _ Dragstart = GGT
276 gcompare _ Dragstart = GGT
291− gcompare Drop Drop = runGComparing $ return GEQ
277+ gcompare Drop Drop = GEQ
292 gcompare Drop _ = GLT
278 gcompare Drop _ = GLT
293 gcompare _ Drop = GGT
279 gcompare _ Drop = GGT
294− gcompare Error Error = runGComparing $ return GEQ
280+ gcompare Error Error = GEQ
295 gcompare Error _ = GLT
281 gcompare Error _ = GLT
296 gcompare _ Error = GGT
282 gcompare _ Error = GGT
297− gcompare Focus Focus = runGComparing $ return GEQ
283+ gcompare Focus Focus = GEQ
298 gcompare Focus _ = GLT
284 gcompare Focus _ = GLT
299 gcompare _ Focus = GGT
285 gcompare _ Focus = GGT
300− gcompare Input Input = runGComparing $ return GEQ
286+ gcompare Input Input = GEQ
301 gcompare Input _ = GLT
287 gcompare Input _ = GLT
302 gcompare _ Input = GGT
288 gcompare _ Input = GGT
303− gcompare Invalid Invalid = runGComparing $ return GEQ
289+ gcompare Invalid Invalid = GEQ
304 gcompare Invalid _ = GLT
290 gcompare Invalid _ = GLT
305 gcompare _ Invalid = GGT
291 gcompare _ Invalid = GGT
306− gcompare Keydown Keydown = runGComparing $ return GEQ
292+ gcompare Keydown Keydown = GEQ
307 gcompare Keydown _ = GLT
293 gcompare Keydown _ = GLT
308 gcompare _ Keydown = GGT
294 gcompare _ Keydown = GGT
309− gcompare Keypress Keypress = runGComparing $ return GEQ
295+ gcompare Keypress Keypress = GEQ
310 gcompare Keypress _ = GLT
296 gcompare Keypress _ = GLT
311 gcompare _ Keypress = GGT
297 gcompare _ Keypress = GGT
312− gcompare Keyup Keyup = runGComparing $ return GEQ
298+ gcompare Keyup Keyup = GEQ
313 gcompare Keyup _ = GLT
299 gcompare Keyup _ = GLT
314 gcompare _ Keyup = GGT
300 gcompare _ Keyup = GGT
315− gcompare Load Load = runGComparing $ return GEQ
301+ gcompare Load Load = GEQ
316 gcompare Load _ = GLT
302 gcompare Load _ = GLT
317 gcompare _ Load = GGT
303 gcompare _ Load = GGT
318− gcompare Mousedown Mousedown = runGComparing $ return GEQ
304+ gcompare Mousedown Mousedown = GEQ
319 gcompare Mousedown _ = GLT
305 gcompare Mousedown _ = GLT
320 gcompare _ Mousedown = GGT
306 gcompare _ Mousedown = GGT
321− gcompare Mouseenter Mouseenter = runGComparing $ return GEQ
307+ gcompare Mouseenter Mouseenter = GEQ
322 gcompare Mouseenter _ = GLT
308 gcompare Mouseenter _ = GLT
323 gcompare _ Mouseenter = GGT
309 gcompare _ Mouseenter = GGT
324− gcompare Mouseleave Mouseleave = runGComparing $ return GEQ
310+ gcompare Mouseleave Mouseleave = GEQ
325 gcompare Mouseleave _ = GLT
311 gcompare Mouseleave _ = GLT
326 gcompare _ Mouseleave = GGT
312 gcompare _ Mouseleave = GGT
327− gcompare Mousemove Mousemove = runGComparing $ return GEQ
313+ gcompare Mousemove Mousemove = GEQ
328 gcompare Mousemove _ = GLT
314 gcompare Mousemove _ = GLT
329 gcompare _ Mousemove = GGT
315 gcompare _ Mousemove = GGT
330− gcompare Mouseout Mouseout = runGComparing $ return GEQ
316+ gcompare Mouseout Mouseout = GEQ
331 gcompare Mouseout _ = GLT
317 gcompare Mouseout _ = GLT
332 gcompare _ Mouseout = GGT
318 gcompare _ Mouseout = GGT
333− gcompare Mouseover Mouseover = runGComparing $ return GEQ
319+ gcompare Mouseover Mouseover = GEQ
334 gcompare Mouseover _ = GLT
320 gcompare Mouseover _ = GLT
335 gcompare _ Mouseover = GGT
321 gcompare _ Mouseover = GGT
336− gcompare Mouseup Mouseup = runGComparing $ return GEQ
322+ gcompare Mouseup Mouseup = GEQ
337 gcompare Mouseup _ = GLT
323 gcompare Mouseup _ = GLT
338 gcompare _ Mouseup = GGT
324 gcompare _ Mouseup = GGT
339− gcompare Mousewheel Mousewheel = runGComparing $ return GEQ
325+ gcompare Mousewheel Mousewheel = GEQ
340 gcompare Mousewheel _ = GLT
326 gcompare Mousewheel _ = GLT
341 gcompare _ Mousewheel = GGT
327 gcompare _ Mousewheel = GGT
342− gcompare Scroll Scroll = runGComparing $ return GEQ
328+ gcompare Scroll Scroll = GEQ
343 gcompare Scroll _ = GLT
329 gcompare Scroll _ = GLT
344 gcompare _ Scroll = GGT
330 gcompare _ Scroll = GGT
345− gcompare Select Select = runGComparing $ return GEQ
331+ gcompare Select Select = GEQ
346 gcompare Select _ = GLT
332 gcompare Select _ = GLT
347 gcompare _ Select = GGT
333 gcompare _ Select = GGT
348− gcompare Submit Submit = runGComparing $ return GEQ
334+ gcompare Submit Submit = GEQ
349 gcompare Submit _ = GLT
335 gcompare Submit _ = GLT
350 gcompare _ Submit = GGT
336 gcompare _ Submit = GGT
351− gcompare Wheel Wheel = runGComparing $ return GEQ
337+ gcompare Wheel Wheel = GEQ
352 gcompare Wheel _ = GLT
338 gcompare Wheel _ = GLT
353 gcompare _ Wheel = GGT
339 gcompare _ Wheel = GGT
354− gcompare Beforecut Beforecut = runGComparing $ return GEQ
340+ gcompare Beforecut Beforecut = GEQ
355 gcompare Beforecut _ = GLT
341 gcompare Beforecut _ = GLT
356 gcompare _ Beforecut = GGT
342 gcompare _ Beforecut = GGT
357− gcompare Cut Cut = runGComparing $ return GEQ
343+ gcompare Cut Cut = GEQ
358 gcompare Cut _ = GLT
344 gcompare Cut _ = GLT
359 gcompare _ Cut = GGT
345 gcompare _ Cut = GGT
360− gcompare Beforecopy Beforecopy = runGComparing $ return GEQ
346+ gcompare Beforecopy Beforecopy = GEQ
361 gcompare Beforecopy _ = GLT
347 gcompare Beforecopy _ = GLT
362 gcompare _ Beforecopy = GGT
348 gcompare _ Beforecopy = GGT
363− gcompare Copy Copy = runGComparing $ return GEQ
349+ gcompare Copy Copy = GEQ
364 gcompare Copy _ = GLT
350 gcompare Copy _ = GLT
365 gcompare _ Copy = GGT
351 gcompare _ Copy = GGT
366− gcompare Beforepaste Beforepaste = runGComparing $ return GEQ
352+ gcompare Beforepaste Beforepaste = GEQ
367 gcompare Beforepaste _ = GLT
353 gcompare Beforepaste _ = GLT
368 gcompare _ Beforepaste = GGT
354 gcompare _ Beforepaste = GGT
369− gcompare Paste Paste = runGComparing $ return GEQ
355+ gcompare Paste Paste = GEQ
370 gcompare Paste _ = GLT
356 gcompare Paste _ = GLT
371 gcompare _ Paste = GGT
357 gcompare _ Paste = GGT
372− gcompare Reset Reset = runGComparing $ return GEQ
358+ gcompare Reset Reset = GEQ
373 gcompare Reset _ = GLT
359 gcompare Reset _ = GLT
374 gcompare _ Reset = GGT
360 gcompare _ Reset = GGT
375− gcompare Search Search = runGComparing $ return GEQ
361+ gcompare Search Search = GEQ
376 gcompare Search _ = GLT
362 gcompare Search _ = GLT
377 gcompare _ Search = GGT
363 gcompare _ Search = GGT
378− gcompare Selectstart Selectstart = runGComparing $ return GEQ
364+ gcompare Selectstart Selectstart = GEQ
379 gcompare Selectstart _ = GLT
365 gcompare Selectstart _ = GLT
380 gcompare _ Selectstart = GGT
366 gcompare _ Selectstart = GGT
381− gcompare Touchstart Touchstart = runGComparing $ return GEQ
367+ gcompare Touchstart Touchstart = GEQ
382 gcompare Touchstart _ = GLT
368 gcompare Touchstart _ = GLT
383 gcompare _ Touchstart = GGT
369 gcompare _ Touchstart = GGT
384− gcompare Touchmove Touchmove = runGComparing $ return GEQ
370+ gcompare Touchmove Touchmove = GEQ
385 gcompare Touchmove _ = GLT
371 gcompare Touchmove _ = GLT
386 gcompare _ Touchmove = GGT
372 gcompare _ Touchmove = GGT
387− gcompare Touchend Touchend = runGComparing $ return GEQ
373+ gcompare Touchend Touchend = GEQ
388 gcompare Touchend _ = GLT
374 gcompare Touchend _ = GLT
389 gcompare _ Touchend = GGT
375 gcompare _ Touchend = GGT
390− gcompare Touchcancel Touchcancel = runGComparing $ return GEQ
376+ gcompare Touchcancel Touchcancel = GEQ
391− gcompare Touchcancel _ = GLT
392− gcompare _ Touchcancel = GGT