On Sat, Aug 23, 2008 at 6:15 PM, Daniel Fischer
<[EMAIL PROTECTED]> wrote:
> Am Samstag, 23. August 2008 23:17 schrieb Thomas Davie:
>>
>> I'd be interested to see your other examples -- because that error is
>> not happening in Haskell!  You can't argue that Haskell doesn't give
>> you no segfaults, because you can embed a C segfault within Haskell.
>
> Use ST(U)Arrays, and use unsafeWrite because you do the indexchecking
> yourself. Then be stupid and confuse two bounds so that you actually write
> beyond the array bounds.
> I've had that happen _once_.
> But if you explicitly say you want it unsafe, you're prepared for it :)

Which illustrates the point that it's not type safety that protects us
from segfaults, so much as bounds checking, and that's got a
non-trivial runtime cost.  At least, most segfaults that *I've* caused
(in C or C++) have been from overwriting the bounds of arrays, and
that's precisely the problem that Haskell does *not* solve using its
type system.  There have attempts to do so, but I've not heard of
instances where they have been used in real programs.

David
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to