You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Also, running the presimplifier has the disadvantage of unwanted inlining, e.g., sometimes fromIntegral is inlined and becomes fromInteger . toInteger, which may lead to categorification failures (e.g., the target category C.Cat does not support categorifying toInteger).
We should use a different approach to support (at least some) partial applications. At least Categorify.expression . foo seems easy to support.
The text was updated successfully, but these errors were encountered:
We use presimplifier to support partial applications of
Categorify.expression
hidden inside a wrapper function, like this:(see https://github.com/con-kitty/categorifier/blob/d72020b7f2c4534f94d7694b477e0dc8a3cb1f77/plugin/Categorifier/Test/PartialApplication.hs)
The presimplifier performs inlining, which inlines
preApply
and exposesCategorify.expression
, whose applications are now fully saturated.However, this approach doesn't work for slightly non-trivial cases, for example:
or direct partial application:
Also, running the presimplifier has the disadvantage of unwanted inlining, e.g., sometimes
fromIntegral
is inlined and becomesfromInteger . toInteger
, which may lead to categorification failures (e.g., the target category C.Cat does not support categorifyingtoInteger
).We should use a different approach to support (at least some) partial applications. At least
Categorify.expression . foo
seems easy to support.The text was updated successfully, but these errors were encountered: