<p>I wrote such a code (in Maple 11)</p>
<p><maple> f := unapply( n+m, m ); </maple></p>
<p><maple>print( f(1) ); </maple></p>
<p><maple>g := unapply( f(m), m ); </maple></p>
<p><maple>g(1) := f(1)+a; </maple></p>
<p><maple>print( f(1) ); </maple></p>
<p> </p>
<p>First print( f(1) ) prints   n+1, while second --- prints n+1+a.  Why?</p>
<p>I suppose that this is because of third line, which Maple interprets <br />
as ' g:= f ' (but it should not). Then changing the value g(1) changes <br />
f(1), too.</p>
<p>Isn't it strange?</p>

Please Wait...