2 ms·
> a massive, over-50 000-key-value-pair wide dictionary. It is absolutely out of the question to evaluate the entirety of this dictionary every time one needs t
by theamk 5y ago
> a massive, over-50 000-key-value-pair wide dictionary. It is absolutely out of the question to evaluate the entirety of this dictionary every time one needs to install 10 new packages: this would result in a painfully slow experience.
wait, what? This does not seem right. Python can easily deserialize millions of json records per second (and that involves much more that simple validation described in the article). And this talks about Haskell, which is compiled and should be much faster.
Was the decision to be "lazy", which caused so much more complexity, caused by bad assumptions and lack of benchmarking?
> If foo is never used, the contract won’t fail the execution.
This sounds like suboptimal developer's experience, you usually want to validate everything upfront. Spending 10 minutes compiling and then failing because of typo in install location sucks.