[lm@mcvoy.com: Re: What's the string rep of return -error?]

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[lm@mcvoy.com: Re: What's the string rep of return -error?]

Larry McVoy-2
It was suggested that I share this with the list.

----- Forwarded message from Larry McVoy <[hidden email]> -----

Date: Fri, 2 Jun 2017 10:05:55 -0700
From: Larry McVoy <[hidden email]>
To: Alexandre Ferrieux <[hidden email]>
Cc: Larry McVoy <[hidden email]>
Subject: Re: [TCLCORE] What's the string rep of return -error?

On Fri, Jun 02, 2017 at 06:42:00PM +0200, Alexandre Ferrieux wrote:

> On Fri, Jun 2, 2017 at 6:35 PM, Larry McVoy <[hidden email]> wrote:
> > On Fri, Jun 02, 2017 at 06:24:07PM +0200, Alexandre Ferrieux wrote:
> >> On Fri, Jun 2, 2017 at 6:02 PM, Larry McVoy <[hidden email]> wrote:
> >> > Nice try.  EIAS.  That's what you all say when anyone proposes anything that
> >> > violates that.
> >>
> >> We say this when someone violates the rule in the Value subspace, not
> >> in (Value x Error).
> >
> > The fact that there is a non value space violates EIAS unless the non
> > value space conforms to EIAS.  Your rules.  Follow them.
>
> Maybe you missed one character when I wrote EVIAS ?
>
> I gave you a set of rules defined on a "Thing" space where "Thing =
> (Value,Error)" means the state on return from a function.
> These rules happen to behave very differently on the Value axis and
> Error axis. The part acting on Values is what we traditionally call
> "EIAS", which admittedly should be named "EVIAS".
>
> Now you're saying you want "ETIAS", which is just one bridge too far.
> You want it, alone.

Nope, you guys insist that EIAS.  ETIAS is new as of now, as a way for
you dance around the fact that EIAS isn't complete in your system.

Man up and admit it.  Deal with it.  Or be a wuss and hide behind
your new ETIAS.

History will remember this discussion.  You can do the right thing
or wuss out.  So far it doesn't look good for the EIAS pedantics.

I bet you anything that John would have the same opinion as me.
If you want EIAS and you insist on that for everything, then man
up and deliver.  Your set of rules are complete nonsense, they
are not EIAS.  Either do it or admit you are not.

----- End forwarded message -----

--
---
Larry McVoy                 lm at mcvoy.com             http://www.mcvoy.com/lm 

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Tcl-Core mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/tcl-core
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [lm@mcvoy.com: Re: What's the string rep of return -error?]

Alexandre Ferrieux
Larry forgot the intro:

>> Nope. OK/ERROR is out of band wrt values. But we know you know.
>
> So what you are really saying, though you don't want to, is that you have
> an undef/error value but the only way you can see it is with [return -error]
> and [catch].

No. By "out of band" I mean the set of states on return from a
function is the cartesian product (Value x Status), with the following
composition rules by the sequence operator (written ";" or "\n"):

 (Value1,OK) ; ( Value2,OK) = ( Value2,OK)
 (Value1,ERROR) ; (Value2,*) =  (Value1,ERROR)   # Value1 is the
exception's error message
 (Value1,OK) ; (Value2,ERROR) =  (Value2,ERROR)   # Value1 is the
exception's error message

And the catch rule

 catch {Value1,*} var => (0 or 1,OK) ; stored in var: Value1

The key is the automatic contagion of the ERROR state which, unless
caught, cannot "go unnoticed" as would be an in-band encoding (like a
NULL deep inside a container).
It guarantees a more brutal but cleaner "bail out" than traditional
value-checking ; anybody switching from C to C++ structured error
handling or Java/Eiffel/Python exceptions appreciates it. Tcl is no,
ahem, exception.

Of course you know all this. But the point here is that EIAS is an
attribute of only the first member of the cartesian product (Value).

So (1) exceptions don't violate EIAS which happens on the other side
of the fence and (2) the very question of the string rep of an
exception is not a wff.

-Alex

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Tcl-Core mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/tcl-core
Loading...