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
To me, one of the ugliest bits of stack right now is if you want to build all of the packages in your build plan with a particular flag. To do it currently, you have to ensure that your snapshot and all packages that could potentially be shared are unregistered. Moreover, these global build settings can leak into snapshot packages.
I propose that for the next stack release that either implicit snapshots should be implemented (#3330), or if it isn't implemented yet, a simple approach should be implemented to make the semantics match what they will be with implicit snapshots:
Snapshot packages that were configured with nonstandard settings should be unregistered and removed from the sharing cache.
By default, if $everything: ... is specified, then promote the entire snapshot to the local DB. Similarly, ghc-options for a particular package should promote that package to the local DB.
The cost will be a lot less package sharing if $everything is specified in ghc-options. However, this will finally allow us to implement configure-options: + --configure-options with decent semantics, and make ghc-options: for more reasonable.
We could consider this change a nice step along the way to implicit snapshots, but it might be less work to just go ahead and do implicit snapshots and skip the intermediate step.
The text was updated successfully, but these errors were encountered:
To me, one of the ugliest bits of stack right now is if you want to build all of the packages in your build plan with a particular flag. To do it currently, you have to ensure that your snapshot and all packages that could potentially be shared are unregistered. Moreover, these global build settings can leak into snapshot packages.
I propose that for the next stack release that either implicit snapshots should be implemented (#3330), or if it isn't implemented yet, a simple approach should be implemented to make the semantics match what they will be with implicit snapshots:
Snapshot packages that were configured with nonstandard settings should be unregistered and removed from the sharing cache.
By default, if
$everything: ...
is specified, then promote the entire snapshot to the local DB. Similarly, ghc-options for a particular package should promote that package to the local DB.The cost will be a lot less package sharing if
$everything
is specified in ghc-options. However, this will finally allow us to implementconfigure-options:
+--configure-options
with decent semantics, and makeghc-options:
for more reasonable.We could consider this change a nice step along the way to implicit snapshots, but it might be less work to just go ahead and do implicit snapshots and skip the intermediate step.
The text was updated successfully, but these errors were encountered: