I have a bit of a mess with package imports
eeeeaarr opened this issue · comments
Jason Scherer commented
Jason Scherer commented
- deferred functions always try to evaluate all arguments, even if the closure pointed to by the deferred command text has arg types that tell you to skip evaluating an arg
- deferred functions can't be made vertical
- if you import a package that imports another package, the inner import doesn't work because it happens after the outer deferred value returns
Jason Scherer commented
this is the same issue as with begin. Basically if an arg returns a deferred value, you expect subsequent args to not be evaluated until that value finishes. So if a package statement is put inside a deferred command instead of a regular one, you expect the import to finish before the subsequent things get evaluated.