4 ms·
Because in Haskell, you don't give the library permissions. It doesn't matter if the library had permissions to do something. The library is not an entity. You
by light_hue_1 5y ago
Because in Haskell, you don't give the library permissions. It doesn't matter if the library had permissions to do something. The library is not an entity.
You give functions permissions on a fine-grained basis, permissions which are automatically derived. The specific function which has the bug didn't need network access. It just needed to look something up in the environment. That function would never have a type that gave it network access, that would be insane and a type error.
- lelanthran 5y ago> The specific function which has the bug didn't need network access. My reading of the bug and exploit is that the specific function not only needed network access, it was a intentional feature. > It just needed to look something up in the environment. That's not how I understand it - it parses the user-supplied input, and fetches (and subsequently executes) the package in the user-supplied input. The environment is irrelevant. Now, bearing in mind that this was intentionally put in, and that the feature is working as intended and expected, how would a different programming language help? Even if written in (for example) Haskell, the behaviour will be coded the same way, because that is the intended behaviour.
- inkeddeveloper 5y agoSimilar to warfarin. It was intended as rat poison. But then someone said “we should use this for blood thinning in humans.” And then no one questioned why doctors were prescribing rat poison because it had the feature that was desired. Saying, no language can prevent a developer from using something when they very much intentionally use it.