undefined functions
Sigbjorn Finne
sof@galois.com
Mon, 21 Jan 2002 08:26:23 -0800
Yes, this is by no means an ideal situation. The reduction
of the function application below causes the C stack to
be blown. In the absence of a portable way of detecting
C stack overflows, the interpreter is unable to detect
this condition and report it back to you in a more
intelligent manner.
Notice that Hugs does catch overflows to its own evaluation
stack, and reports this back to you. But, there are cases
(like the one below) where the C stack grows out of bounds
faster than the evaluation stack.
--sigbjorn
----- Original Message -----
From: "Bernhard Reus" <bernhard@cogs.susx.ac.uk>
To: <hugs-bugs@haskell.org>
Sent: Wednesday, January 16, 2002 09:18
Subject: undefined functions
> The following behaviour of infinite recursion seems exaggerated:
>
> script test.hs contains only
>
> undef :: Int->Int
> undef x = undef x + 1
>
>
> >:l test
> >:t undef
> undef:: Int->Int
> >undef 1
> Segmentation fault
>
>
> Shouldn't this rather run into an infinite loop or a memory overflow.
> But segmentation fault?
>
> Best,
> Bernhard
>
> _______________________________________________
> Hugs-Bugs mailing list
> Hugs-Bugs@haskell.org
> http://www.haskell.org/mailman/listinfo/hugs-bugs