Re: [dylan] float-invalid proposal

Dustin Voss <[email protected]> Fri, 10 Jan 2014 08:51:51 -0800
Newsgroups gmane.comp.lang.dylan.gwydion.devel
Message-ID <[email protected]>
To clarify, this looks like prom’s change without my suggestions of a recovery protocol or inheriting from <serious-condition> instead of <error>.

(I believe that when the DRM talks about “signaling an error” in plain type, it does not necessarily require the implementation to call error() or signal an <error>; I believe it simply means signaling a condition that corresponds to something erroneous about the program.)


On Jan 10, 2014, at 3:44 AM, Bruce Mitchener <[email protected]> wrote:

> For reference, this is done for HARP on all platforms that HARP supports:
> 
>   https://github.com/dylan-lang/opendylan/pull/642
> 
>  - Bruce
> 
> 
> On Mon, Jan 6, 2014 at 9:28 AM, Bruce Mitchener <[email protected]> wrote:
> On Mon, Jan 6, 2014 at 3:16 AM, Dustin Voss <[email protected]> wrote:
> The DRM already says that “/” can signal an error for division by zero, so we don’t need to alter the language spec by adding <arithmetic-domain-error>. That said, I think it would be fine to elevate this particular condition above all the others in the DRM where it just says “blah-blah-blah signals an error.”
> 
> If we proceed, I suggest the following:
> 
> <arithmetic-domain-error> inherits from <serious-condition>, not <error>. I think it is more akin to a network problem (given as an example of <serious-condition>) than to a <type-error> (an example of an <error>).
> It should have a recovery protocol:
> A condition handler can return a value. The runtime will use that returned value as a substitute result for the failed operation.
> The runtime will not establish a <restart> handler.
> 
> The DRM doesn't specify the error or the error hierarchy involved for a division by zero, just that an error is signaled.
> 
> An invalid floating point exception happens for things like 0/0, Infinity - Infinity, and so on.  These aren't much different from a division by zero.  I don't think it should have some other parent, these should all be <arithmetic-error>.
> 
> In Haskell (for example), these all have the same parent (FloatException).
> 
> I think there's room for improving floating point control, like allowing setting the rounding mode, in some other extensions, but adding the float-invalid stuff that prom did is pretty straight forward (and doesn't really involve modifying the DRM since the DRM doesn't comment much on this subject).
> 
>  - Bruce
> 
> 
> _______________________________________________
> hackers mailing list
> [email protected]
> https://lists.opendylan.org/mailman/listinfo/hackers

_______________________________________________
hackers mailing list
[email protected]
https://lists.opendylan.org/mailman/listinfo/hackers