-
Notifications
You must be signed in to change notification settings - Fork 24
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
Can we get inlining with a skolem? #31
Comments
Hrmmm.... It's possible that GHC specialization will screw this up. I'll do some more tests. |
However, I haven't been able to make it fail yet, at least... |
Do we have any examples where it also is a perf win according to On Monday, July 18, 2016, David Feuer notifications@github.com wrote:
|
On the other had this is pretty darn cool On Tuesday, July 19, 2016, Carter Schonwald carter.schonwald@gmail.com
|
Are there any more thoughts on this? The |
Currently,
reflection
clogs up the inliner pretty badly. The following modification seems to fix this, but there could be some gotcha somewhere.The function passed to
reify
, of typeforall (s :: *). Reifies s a => Proxy s -> r
, can certainly be passed toMagic
(automatically instantiatings
toSkolem
).For example, using this definition,
yields
The only remaining traces of reflection are the
Proxy
and the failure to unbox5
. Note thatTagged
-based reflection manages to get rid of absolutely all traces even whenProxy
-based reflection is built on top of it:With these definitions,
foo
compiles toThe text was updated successfully, but these errors were encountered: