[Haskell-cafe] Why purely in haskell?

Henning Thielemann lemming at henning-thielemann.de
Wed Jan 9 17:42:30 EST 2008


On Wed, 9 Jan 2008, David Roundy wrote:

> On Jan 9, 2008 4:21 PM, Don Stewart <dons at galois.com> wrote:
> > anton:
> > > OTOH, the freedom to change things on the fly can be nice to have, and
> > > if used with "great responsibility" (mainly an understanding of what's
> > > safe to do and what isn't), the downside can be vanishingly small.
> >
> > It can be small, unless you need to have any kind of static assurance
> > (say for high assurance software, or for new kinds of optimisations, or
> > if you want to reorder code in the compiler for parallelism).
> >
> > Then the downside to arbitrary, untracked effects in the system is huge.
>
> 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.

Indeed, there are hacks and they are some times necessary. The good thing
about Haskell is, that hacks look like hacks.

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?

Wouldn't this also simplify
  http://www.haskell.org/haskellwiki/Safely_running_untrusted_Haskell_code
 ?


More information about the Haskell-Cafe mailing list