{"body":"import Data.ByteString (ByteString)\nimport Data.ByteString.Unsafe (unsafeUseAsCStringLen)\nimport Data.Vector.Storable (Vector, unsafeFreeze)\nimport Data.Vector.Storable.Mutable (MVector(MVector), unsafeNew)\nimport Foreign (copyArray, withForeignPtr)\nimport Foreign.C (CChar)\n\nbsToVec :: ByteString -> IO (Vector CChar)\nbsToVec bs = unsafeUseAsCStringLen bs $ \\(ptr, n) -> do\n    v@(MVector _ foreignPtr) <- unsafeNew n\n    withForeignPtr foreignPtr $ \\ptr' -> copyArray ptr' ptr n\n    unsafeFreeze v","name":"","extension":"hs","url":"https://www.irccloud.com/pastebin/lbu13Vm0","modified":1610156617,"id":"lbu13Vm0","size":499,"lines":12,"own_paste":false,"theme":"","date":1610156561}