Difference between preview and run #453
Replies: 2 comments 4 replies
-
Yes, this is, unfortunately, a part of the internal protocol that Besom has to implement like all other SDKs. The difference is that - being purely functional - Besom has to return resources wrapped in I have improved our docs to better explain this logic but I feel that this is probably not clear enough. We are working on something that would allow us to detect when user does this and issue a compile-time warning about the dynamicity. There's also the open question whether we should have two types of Output monad or expose the internal Result monad to the public. Two types of Output could not only detect a call that incurs dynamicity for the deployment plan but also prevent mistakes by clearly separating local/static outputs from remote/computed property outputs and having flatMap implementations that properly propagate the infective nature of remote/computed property outputs. This however may make things more complex. We are open for suggestions, it's not to late to introduce such a change if it improves the usability. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Somehow I ended up with a non-deterministic situation where the preview is sometimes different than what happens when running, is this expected? trace below.
(Note that I use for comprehensions and I don't list all outputs in the Stack constructor, I can paste the program if it helps, or try to find a simpler repro)
🙏
Beta Was this translation helpful? Give feedback.
All reactions