-
Notifications
You must be signed in to change notification settings - Fork 149
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Generalize merge #320
Generalize merge #320
Conversation
It might still be possible to |
What does "push the function" mean? |
By the way: if the concern is the performance characteristics, I think we might be able to do something like mergeG :: GCompare k => (forall a. Coercible (q a) (Event t (v a)))
=> DMap k q -> Event t (DMap k v) It's not very pretty, but I think it'll probably let you use both |
@treeowl sorry about my hastily-written comment. I edited it to be hopefully be clear. I am just concerned about not wanted/needing that parameter if we get something like my ghc-proposals/ghc-proposals#248. |
Sorry, "push the application to the deeper" doesn't mean anything to be either. Can you show what you mean? |
I started playing with the code, and then I realized I was being stupid; I was thinking "oh you use the same argument every time", but of course the general use is not Also playing I around I noticed damn this is way more annoying then even when I was making my examples in #233 days ago. I thought it was GHC 8.4 but 8.6 was no better. It seems quite separate from future proposals, the special Given all that, great work! I like your mergeG :: GCompare k => (forall a. Coercible (q a) (Event t (v a)))
=> DMap k q -> Event t (DMap k v) perhaps that could be an immediately-deprecated |
No, |
I'm really not a fan of |
I can confirm performance is identical (when patched against the same version of reflex) with this (unsurprisingly perhaps!). |
For me it's not reflex specific, just question a question of 1) does the higher order function increase expressive power 2) allow some more performant hand-fusing. The naive reflex implementation's |
@Ericson2314 the |
+1 OK that is a good sign too wrt the manual fusion justification. |
Generalize types of merge methods.