[Haskell-cafe] Why purely in haskell?

David Roundy droundy at darcs.net
Thu Jan 10 15:12:23 EST 2008


On Thu, Jan 10, 2008 at 08:10:57PM +0000, Sebastian Sylvan wrote:
> On Jan 10, 2008 8:06 PM, Ketil Malde <ketil+haskell at ii.uib.no> wrote:
> > "David Roundy" <daveroundy at gmail.com> 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


More information about the Haskell-Cafe mailing list