Thread Links | Date Links | ||||
---|---|---|---|---|---|
Thread Prev | Thread Next | Thread Index | Date Prev | Date Next | Date Index |
Hi George,I basically agree with your points, too. Although may I also be so bold as to suggest that decorations truly are (or can be) a Level 1 concept, at least as far as *decorated intervals* are concerned. Constructors in this sense can be viewed as an interval function that simply takes non-interval arguments. This means at Level 1 constructors have a natural domain. So (Empty,ndf) for invalid construction is the same as returning (Empty,ndf) for an operation like f(xx)=1/xx when xx=[0,0] because [0,0] is not in the natural domain of f.
In the interest of moving forward and making progress, though, and since decorations are still yet to be settled (and controversial), I don't have any problem to say that for *bare intervals* an invalid construction simply returns Empty. This is what Motion 5 does, for example, which says that for bare intervals 1/[0,0] = Empty.
NateP.S. I still would not use such a standard in my own software and/or hardware products, though, since the motion as currently worded specifically causes an implementation using Kaucher intervals to be non-conforming.
----- Original Message ----- From: "Corliss, George" <george.corliss@xxxxxxxxxxxxx>
To: "Nate Hayes" <nh@xxxxxxxxxxxxxxxxx>Cc: "Corliss, George" <george.corliss@xxxxxxxxxxxxx>; <rbk@xxxxxxxxxxxxx>; "John Pryce" <j.d.pryce@xxxxxxxxxxxx>; "stds-1788" <stds-1788@xxxxxxxxxxxxxxxxx>
Sent: Saturday, December 03, 2011 8:27 AM Subject: Re: Constructors motion
Yes, decorations are our substitute for exceptions.So, is (Empty,n/f) a Level 2 implementation of the Level 1 concept "Not an Interval"?Are decorations (in whatever for we agree on) a Level 1 concept or a Level 2 concept?John is trying to maintain Level 1 as a mathematical model level? So in (say) beginning graduate level real and complex variables (or topology) classes, how do we treat something named by not existing? 1. By the concept of a domain, we try to avoid dealing with functions not being defined. 2. We don't let it happen. Who would say, "Let x be a real number, except that it isn't?"Perhaps the Level 1 concept of an interval constructor is "Let x be an interval <blah>." It returns an interval.It is at the programming Level 2 that we need to ask, "Yeah, but what if <blah> is not a valid interval?"Alternatively, suppose we view the constructor as a function whose domain includes strings of characters that represent valid intervals. Doesn't our definition of functions of arguments outside their domain already specify the interval("rubbish") MUST return (Empty,n/f)?If so, I do not think we can completely specify an interval constructor until we have agreed upon decorations. Of John's alternatives,I have a query however. When a constructor call "fails", should the call (a) return Empty, as currently written;(b) return a "Not an Interval" value, which must then exist at Level 1; or (c) not return any value, i.e. the function is simply undefined at this input argument?At the level of mathematics, the only way a function can fail is to be called with an argument outside its domain.I argue that the answer, absent decorations, must be (a). However, once we have decorations, the answer is (b), where the concept "Not an Interval" is represented as (Empty,n/f).Hence, the correct answer is "(a) AND (b)".[Excuse me, but it is my final exam season, which means I hear far too many arguments for multiple correct answers.]George On Dec 3, 2011, at 7:28 AM, Nate Hayes wrote:Hi Baker, I basically agree:In my view, for an invalid construction the bare interval is Empty and the decoration is ndf (not defined). A decorated interval constructor can therefore return (Empty,ndf) for an invalid construction.If using compressed intervals, the result may be the bare interval Empty or the bare decoration ndf, depending on a switching threshold specified by the user. If the bare decoration ndf is returned, this can be viewed as one of the many flavors of "not an interval".However, I don't think we need a "not an interval" object per-se, since bare decorations essentially play this role (see, e.g., rationale in the old Motion 8).Nate----- Original Message ----- From: "Ralph Baker Kearfott" <rbk@xxxxxxxxxxxx>To: "Corliss, George" <george.corliss@xxxxxxxxxxxxx>Cc: "John Pryce" <j.d.pryce@xxxxxxxxxxxx>; "stds-1788" <stds-1788@xxxxxxxxxxxxxxxxx>Sent: Saturday, December 03, 2011 6:08 AM Subject: Re: Constructors motionGeorge (et al), Isn't "not-an-interval" the operator version of an "exception," at least in the sense of IEEE since the original 754? Along these lines, my personal view is that it is OK (if other considerations warrant it) to have "not an interval" in level 1, since "not an interval" is a logical mathematical statement. Baker On 12/3/2011 5:41 AM, Corliss, George wrote:On Dec 3, 2011, at 3:12 AM, John Pryce wrote:P1788 membersIn the next day or two I expect to circulate to you, after the Officers have had a chance to comment, a draft of most of the description of Level 1 (omitting the decorations material and some lesser items), asking you to vote for its acceptance as standard text.. . .I have a query however. When a constructor call "fails", should the call(a) return Empty, as currently written;(b) return a "Not an Interval" value, which must then exist at Level 1; or (c) not return any value, i.e. the function is simply undefined at this input argument?E.g. text2interval("rubbish").Hmmm. Good question.I THINK that at the LANGUAGE level, I'd like to raise an exception so I cannot ignore the error. But that's not THIS standard.Plan B: "Not an Interval". Empty is a valid interval, so returning Empty is a lie. However, I understand your hesitation to introduce "Not an Interval" at level 1.I will listen with interest to the views of others. Dr. George F. Corliss Electrical and Computer Engineering Marquette University P.O. Box 1881 1515 W. Wisconsin Ave Milwaukee WI 53201-1881 USA 414-288-6599; GasDay: 288-4400; Fax 288-5579 George.Corliss@xxxxxxxxxxxxx www.eng.mu.edu/corlissg-- --------------------------------------------------------------- Ralph Baker Kearfott, rbk@xxxxxxxxxxxxx (337) 482-5346 (fax) (337) 482-5270 (work) (337) 993-1827 (home) URL: http://interval.louisiana.edu/kearfott.html Department of Mathematics, University of Louisiana at Lafayette (Room 217 Maxim D. Doucet Hall, 1403 Johnston Street) Box 4-1010, Lafayette, LA 70504-1010, USA ---------------------------------------------------------------George Corliss George.Corliss@xxxxxxxxxxxxx