Flat esoterica

*To*: mathgroup at yoda.ncsa.uiuc.edu*Subject*: Flat esoterica*From*: macg at SLCS.SLB.COM (Bill Macgregor)*Date*: Wed, 10 Oct 90 14:44:39 CDT

Two examples below of apparently inconsistent behavior wrt. the Flat attribute. Can anyone explain it? - Bill MacGregor ------------------ In[1]:= SetAttributes[f, Flat] In[2]:= f[x_] := x In[3]:= On[] In[4]:= f[1] f::trace: f[1] --> f[1]. f::trace: f[1] --> f[1]. f::trace: f[1] --> f[1]. f::trace: f[1] --> f[1]. f::trace: f[1] --> f[1]. f::trace: f[1] --> f[1]. f::trace: f[1] --> f[1]. ^C Interrupt: continue (or c) to continue show (or s) to show current operation (and then continue) trace (or t) to show all operations abort (or a) to abort current calculation exit (or quit) to exit program ? abort -interrupted- Out[4]= $Interrupted In[5]:= Clear[f] Clear::trace: Clear[f] --> Null. In[6]:= f[x__] := Identity[x] SetDelayed::trace: f[x__] := Identity[x] --> Null. In[7]:= f[1] f::trace: f[1] --> Identity[1]. Identity::trace: Identity[1] --> 1. Out[7]= 1