Semantics of Equals

Bill Akers billa at mgmindustries.com
Mon Jul 25 12:38:38 PDT 2005


Jay R. Ashworth wrote:
> On Mon, Jul 25, 2005 at 02:50:43PM -0400, Nancy Palmquist wrote:
> 
>>>It may be what you expect from fP, but it's not what the rest of the world
>>>expects from a programming language in general.  That was Jay's whole
>>>point.  I agree with him.
>>
>>In early versions of filePro = was not allowed on an IF line.  It was 
>>allowed to be used instead of EQ in response to the programmers that did 
>>not understand the difference.  Filepro only responded to the community 
>>and their incorrect use of the = was accepted to make them happy.  I do 
>>not, however, see this as filepro admitting or accepting the change of 
>>meaning, it just did not cause any problem to allow it so they did.
> 
> 
> Fine, but that's a syntactical issue, and not germane.
> 
> 
>>>Attempts to rationalise its behaviour within fP are all fine and well, but
>>>they serve only as a bulwark for something that was (IMHO) incorrectly
>>>designated as interchangeable with something that should possess a
>>>different functionality entirely.
>>>
>>>In a conditional sense, equivalent and equals are not interchangeable in
>>>terms of result, as you so eloquently illustrated, and therefore should not
>>>be in terms of syntax.  That way leads to obfuscation and bugs.
>>
>>I don't think that filePro misunderstands the difference, it is the 
>>programming communitity that is not clear on the difference.  I disagree 
>>that filepro is wrong.
> 
> 
> You're welcome to disagree all you like.  You're also welcome to
> inspect the behavior of the "==" operator (the replacement for "=" as a
> comparison operator in many languages to avoid accidental assignment in
> a context where comparison is desired) in substantially *every* extant
> procedural programming language.
> 
> I believe you'll find it... instructive.
> 
> 
>>>That said, I doubt fP's syntax will change after 25+ years of being "wrong"
>>>on this topic.  That is -is- wrong will continue to remain a point of
>>>contention between those of us that regularly program in other languages as
>>>well, and those who live 95% or more in the fP-only coding world.
>>
>>I do not see anything wrong with filePro's behavior.  It behaves 
>>according to specification.  How is that wrong?
> 
> 
> It violates, rather severely, the Principle of Least Astonishment.
> 
> 
>>>So...let it go.  I disagree with its interchangeable implementation,
>>>but arguing the point won't change anything.  They're too busy adding a
>>>spell checker to be bothered with it, even if they cared about the real
>>>difference.  I doubt they would muck with backwards compatability anyway at
>>>this point.  Too much extant code relies on the faulty application of that
>>>operand for them to dare touch it.
>>
>>How can you hold filePro to a standard that was created, from scratch, 
>>after filepro was designed?
> 
> 
> Strawman.  That's not an accurate premise.
> 
> 
>>                            It is impossible to change the behavior of 
>>a package that was designed more than 25 years ago, to match a standard 
>>that has been determined since.  Think of the headaches that would cause.
> 
> 
> Were that actually the case, you'd be right.  Except for, y'know, *math*.
> 
> 
>>>It's not worth fighting over.  The facts speak for themselves to anyone
>>>that cares to observe them.  They don't need rationalisation.  So long as
>>>someone's aware of the fP-specific implications, they can work around it.
>>>That they shouldn't have to is probably Jay's point, and definitely has
>>>always been mine.
>>
>>I don't see this at all as a fight but an illumination of the behavior.
>>Consisentcy is always the issue and filepro consisently behaves the same 
>>way in this regard.  The rules are clear and well defined.  As Mark 
>>said, that should be enough.
> 
> 
> We're discussing, Nancy, *whether the language designer should have
> chosen those semantics for that particular token*, given the overloading
> that token contains from prior art, *substantially including* standard
> mathematics.
> 
> Equals means equals.  It doesn't mean "equals through the last
> character position of the shorter string".

Your argument would then be that mathematically '5' does not equal 
'5.00'?

> 
> And sloppy computer floating point implementations aren't germane here
> *either*, BTW...
> 
> Cheers,
> -- jra


-- 
William P. Akers                E-mail: billa at mgmindustries.com
                                 Web Site: 
http://www.mgmindustries.com/




More information about the Filepro-list mailing list