6 ms·
If you're going to pick a "counterexample" just say unsafePerformIO, or the aptly named accursedUnutterablePerformIO[0]. (There are quite a few variants.) Ever
by Quekid5 5y ago
If you're going to pick a "counterexample" just say unsafePerformIO, or the aptly named accursedUnutterablePerformIO[0]. (There are quite a few variants.)
Everybody knows that there are escape hatches because they are actually sometimes absolutely required for asymptotics or just plainly because it may be too hard to "prove" that your code is safe to the compiler.
That isn't a gotcha -- you know exactly what code you need to audit extra carefully.
[0] That one's actually in ByteString to technically not standard Haskell, but I just like the name.