Hi,
I have been trying to understand something unusual and I wonder if
anyone can shed any light on this.
If I feed this program
declare
{Browse {Plus 5 5}}
fun {Plus A B} A+B end
by buffer, the program blocks on the Browse procedure (I assume because
'Plus' has not yet been determined?)
If however, I now feed a new line
fun {Plus A B} A+B+A end
I get an error saying that Plus has already been defined (which
initially seems sensible)
Tell: <P/3 Plus> = <P/3 Plus>
but, and here is the confusing thing, the browser now displays the
result from the second function????
There are a couple of contradictions I don't understand here:-
1 . Browse can't display the result of {Plus} because it hasn't been
determined yet - {Plus} has been determined enough to tell me I've made
an error when I try to redefine it.
2. If redefining {Plus} is an error why does Browse show the result from
the new function?
If anyone can help I'd be most appreciative.
Regards
Mark
--
Mark Richardson
Final year undergraduate
University of Teesside
_________________________________________________________________________________
mozart-users mailing list
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users