Conversation
…dOptimize # Conflicts: # src/Language/PureScript/Bundle.hs # src/Language/PureScript/BundleOpt.hs # src/Language/PureScript/BundleTypes.hs
# Conflicts: # psc-bundle/Main.hs # src/Language/PureScript/Bundle.hs
# Conflicts: # src/Language/PureScript/Bundle.hs
# Conflicts: # psc-bundle/Main.hs # src/Language/PureScript/Bundle.hs
|
I really hate to add noise but I would love to be able to use this! |
|
@Filib For now I recommend building from @jutaro's branch if you need this optimization. I would like to think about more optimizations generally after 1.0, including general inlining on the functional core output, but for now, I don't want to commit to a certain specific optimization in |
|
@phil, we had a conversation about this recently. As you see it's tiresome Where can I learn what "the recent changes to dump the functional core" 2016-10-12 18:51 GMT+02:00 Phil Freeman notifications@github.com:
|
I'm sorry that you find it tiresome. Others have worked on alternative backends have been maintaining forks for years in some cases, but I don't want to merge in changes which are not in the plan for 1.0 and which we might remove later. Also, there are no tests or documentation.
Here is the PR which was merged recently: #2275, and the issue which it was based on: #876. |
Are you suggesting that we might want to consider an uncurrying optimization operating on the core functional representation instead of the JS representation? I guess the core functional representation is going to be simpler than a JS AST so that seems like a good idea, and also, presumably, that would mean that other backends could benefit from it, not just the JS backend? |
|
I think if we were going to do that it would probably be better to do so on the imperative core. I'll work on reviving |
# Resolving Conflicts in: # psc-bundle/Main.hs # src/Language/PureScript/Bundle.hs
# Conflicts: # CONTRIBUTORS.md # app/Command/Bundle.hs # purescript.cabal # src/Language/PureScript/Bundle.hs
|
As noted above, this needs (lots of) discussion before we decide how to handle optimization during bundling, or if we want to do it there at all. My preference is to use the corefn output as the target for this sort of optimization, and I don't want to add more code to I'm going through and closing PRs which aren't in line with plans for 1.0. Thanks @jutaro and @mgmeier for taking the initiative here, and I'm sorry it didn't work out. I hope you find a place for this optimization elsewhere, either in a fork or as a corefn pass. |
This is #2139 (#2111) resubmitted, because the target branch switched from 0.9 to master. Think I have fixed all commented issues.
It is still not clear to me what are the wishes regarding to command line options. The current state is described here:
The uncurry optimization option is off by default. It can be explicitly enabled with
-Oor--optimizeand disabled with--no-optimize.We added the --no-optimize reacting on a comment from hdgarrood, but paf31 commeted with: Let's just have one option. How can we resolve this?