
On Thu, Jan 10, 2008 at 08:10:57PM +0000, Sebastian Sylvan wrote:
On Jan 10, 2008 8:06 PM, Ketil Malde
wrote: "David Roundy"
writes: I just want to point out that unsafePerformIO is at the core of the (safe) bytestring library. As SPJ et al pointed out, this is crucial functionality, and is only unsafe if unsafely used.
In Modula-3 modules using hacks must be explicitly marked as UNSAFE. See http://www.cs.purdue.edu/homes/hosking/m3/reference/unsafe.html Maybe this is also an option for Haskell?
I don't think this is a good idea.
I think the point is (should be) to mark functions unsafe when they may be unsafe to /use/,
I think using the IO monad for this works well...
Would you suggest moving head and tail into the IO monad? -- David Roundy Department of Physics Oregon State University