4 ms·
Originally, that function was just called "inlinePerformIO", with the relatively tame warning of: > Just like unsafePerformIO, but we inline it. Big performanc
by gizmo686 3y ago
Originally, that function was just called "inlinePerformIO", with the relatively tame warning of:
> Just like unsafePerformIO, but we inline it. Big performance gains as it exposes lots of things to further inlining. Very unsafe. In particular, you should do no memory allocation inside an inlinePerformIO block. On Hugs this is just unsafePerformIO
https://hackage.haskell.org/package/bytestring-0.9/docs/Data-ByteString-Internal.html#v%3AinlinePerformIO https://hackage.haskell.org/package/bytestring-0.9/docs/Data...
At some point, this function was moved to the newly created "Deprecated and unmentionable" group of functions with the comment
> Deprecated: If you think you know what you are doing, use unsafePerformIO. If you are sure you know what you are doing, use unsafeDupablePerformIO. If you enjoy sharing an address space with a malevolent agent of chaos, try accursedUnutterablePerformIO.
At this point, the two depreciated and unmentionable functions were actually just aliases of each other, with InlinePerformIO being depreciated, and accursedUnutterablePerformIO being merely unmentionable.
https://hackage.haskell.org/package/bytestring-0.10.10.1/docs/src/Data.ByteString.Internal.html#inlinePerformIO https://hackage.haskell.org/package/bytestring-0.10.10.1/doc...
It wasn't until version 0.11.0.0 that the friendly sounding name was finally removed.