Harendra Kumar
Harendra Kumar
We report: ``` fusion-plugin: Check unfused (final)... In $sfoldOnce_spag binders ["$sgo_sqbe"] SCRUTINIZE data types annotated with Fuse $sfoldOnce_spag/$sgo_sqbe: Yield $sfoldOnce_spag/$sgo_sqbe: Partial In lvl_sp7I binders ["lvl_sp7I"] CONSTRUCT data types annotated with...
We should have an option to report the functions/constructors that did not get fused. This will be a big aid to programmers to know where the performance problems might be....
1) Currently with the `dump-core` option we place the core files in the same directory as the source file. It pollutes the source directory. We can instead create a directory...
See [this note](https://github.com/composewell/streamly/blob/ad05792d0b361c4629fc3009f69e21988eeaae88/design/inlining.md#inlining-higher-order-functions) in streamly docs. It would be nice if we can infer the phase information by analyzing the program. If a higher order function is consuming another function...
The [`drain` combinator](https://github.com/composewell/streamly/blob/0d586750a769b358943c355ca0447a799fc17e65/src/Streamly/Internal/Data/Stream/Prelude.hs#L104) is marked to be inlined in phase 2. See [this commit](https://github.com/composewell/streamly/commit/0d586750a769b358943c355ca0447a799fc17e65) in the streamly repo. If the `readDrain` function is annotated plainly as `INLINE` then GHC is...
Currently, after the mark inline phase we run the simplifier on the whole program. Can it have some undesired consequences and slow down the code? Can we run the simplifier...
Fusion plugin has a verbose reporting option which prints detailed messages about the fusion process to help in debugging. However, it prints too many messages. Usually, we are working on...
Today I needed an option to not inline functions but only report unfused functions. I can hack it up by just changing the code but I think it would be...
We can have an option to report functions that are marked with `FUSED` and allocate `any` constructors rather than reporting only constructors that have been marked with `FUSE`. This way...