On Wednesday, January 16, 2013 9:15:18 PM UTC-7, Richard Fateman wrote:
> > If you want a term rewriting system, several of them (free, open source) > > have been written in Lisp. Anything that Mathematica can > > do computationally can be done, in principle, with any "Turing equivalent" > > programming language, and that includes Lisp.
Sure. You can write a term rewriting system in Cobol if you wish. But then, if you use it to write programs, you're no longer programming in Cobol.
> > f_[whoCalled]^:=f > > > Sin[whoCalled] > > > > Certainly such a feature could be implemented in a pattern-matching > > system written in Lisp.
But it's not a native construction in Lisp.
> Since most lisp implementations provide > > many "introspective" features including examining the run-time call > > stack, I think it would be possible to extract "who called me" from > > this information of the (complete) call stack.
But you're missing the point: Mathematica does this kind of thing naturally as a consequence of its design. Lisp does not.