Skip to content
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

Improved recompilation avoidance #4272

Closed
snoyberg opened this issue Aug 30, 2018 · 2 comments
Closed

Improved recompilation avoidance #4272

snoyberg opened this issue Aug 30, 2018 · 2 comments

Comments

@snoyberg
Copy link
Contributor

Each module which enables the TemplateHaskell language pragma gets recompiled more often than necessary when dependencies change. It would be nice to bypass that by removing the usage of TemplateHaskell. A number of modules in the codebase are only using TemplateHaskell to safely create Path values, e.g. mkRelFile or mkRelDir. I recommend collecting these usages into a single module, likely Stack.Constants, and importing for there. That would allow us to reduce recompilation time and improve the project iteration cycle a bit.

I'm open to this being shot down, since I'm not at all the expert on fast iteration cycles :). CC @chrisdone and @bitemyapp.

@chrisdone
Copy link
Member

Agreed! 👌

snoyberg added a commit that referenced this issue Aug 30, 2018

Verified

This commit was signed with the committer’s verified signature. The key has expired.
snoyberg Michael Snoyman
snoyberg added a commit that referenced this issue Aug 30, 2018

Verified

This commit was signed with the committer’s verified signature. The key has expired.
snoyberg Michael Snoyman
@snoyberg
Copy link
Contributor Author

See #4273.

snoyberg added a commit that referenced this issue Aug 31, 2018

Verified

This commit was signed with the committer’s verified signature. The key has expired.
snoyberg Michael Snoyman
snoyberg added a commit that referenced this issue Aug 31, 2018

Verified

This commit was signed with the committer’s verified signature. The key has expired.
snoyberg Michael Snoyman
snoyberg added a commit that referenced this issue Aug 31, 2018

Verified

This commit was signed with the committer’s verified signature. The key has expired.
snoyberg Michael Snoyman
snoyberg added a commit that referenced this issue Aug 31, 2018

Verified

This commit was signed with the committer’s verified signature. The key has expired.
snoyberg Michael Snoyman
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants