Re: Mathematica and Lisp
- To: mathgroup at smc.vnet.net
- Subject: [mg129504] Re: Mathematica and Lisp
- From: John Doty <noqsiaerospace at gmail.com>
- Date: Fri, 18 Jan 2013 00:54:33 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <kcqkv4$lq5$1@smc.vnet.net> <kd5hto$jjk$1@smc.vnet.net> <kd7tsm$q43$1@smc.vnet.net>
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. > > which yields > > > > > > Sin