Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Mathematica and Lisp
Replies: 83   Last Post: Mar 5, 2013 10:12 PM

 Messages: [ Previous | Next ]
 Richard Fateman Posts: 1,539 Registered: 12/7/04
Re: Mathematica and Lisp
Posted: Jan 16, 2013 11:15 PM

On 1/15/2013 10:38 PM, John Doty wrote:
> On Friday, January 11, 2013 8:23:16 PM UTC-7, amzoti wrote:
>

>> It is clear the Mathematica uses Lisp as one of the example programming paradigms

it pulls from and I have a general question regarding this.
>
> Perhaps not as much as you think. Mathematica is fundamentally a term rewriting system,

a more general concept than the lambda calculus behind Lisp.

....
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.

Lisp is not an implementation of the lambda calculus as some people
seem to think. McCarthy used the word "lambda" the way Mathematica
uses the word "Function".
Other than that use to introduce formal parameters, nothing much was
taken from Church's writings, as McCarthy has explained in some
historical articles.

To be sure, the easiest thing to express as term rewriting

is the replacement of a function invocation by its body

(as in the lambda calculus), but Mathematica can do more

complex things, some rather strange from the lambda calculus point of
view. Consider
>
> f_[whoCalled]^:=f
> Sin[whoCalled]

Certainly such a feature could be implemented in a pattern-matching
system written 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. Lisp systems also tend
to provide tools that answer questions like "where are all the calls to
the function f in the source code.

>
> which yields
>
> Sin
>
> Very alien to Lisp!

Not really.

>

Date Subject Author
1/11/13 amzoti
1/12/13 Richard Fateman
1/12/13 David Bailey
1/14/13 Richard Fateman
1/14/13 David Bailey
1/16/13 Richard Fateman
1/18/13 David Bailey
1/22/13 Richard Fateman
1/22/13 David Bailey
1/24/13 Richard Fateman
1/25/13 Richard Fateman
1/26/13 Murray Eisenberg
1/26/13 Murray Eisenberg
1/26/13 W. Craig Carter
1/16/13 Murray Eisenberg
1/16/13 Richard Fateman
1/16/13 David Bailey
1/18/13 Murray Eisenberg
1/31/13 Noqsi
2/2/13 Daniel Lichtblau
2/3/13 Richard Fateman
2/2/13 Richard Fateman
2/3/13 David Bailey
2/5/13 Richard Fateman
2/6/13 David Bailey
2/6/13 Richard Fateman
2/3/13 Andrzej Kozlowski
2/5/13 Richard Fateman
2/6/13 David Bailey
2/5/13 Bill Rowe
2/6/13 Joseph Gwinn
2/3/13 Matthias Bode
2/3/13 Noqsi
2/6/13 Richard Fateman
2/6/13 David Bailey
2/6/13 mathgroup
2/4/13 Alex Krasnov
2/6/13 Noqsi
2/8/13 Richard Fateman
2/9/13 János Löbb
2/9/13 Richard Fateman
2/10/13 michael
2/10/13 Bill Rowe
2/8/13 Andrzej Kozlowski
2/8/13 Noqsi
2/9/13 Richard Fateman
2/10/13 David Bailey
2/9/13 Matthias Bode
2/15/13 Noqsi
2/17/13 David Bailey
2/18/13 Joseph Gwinn
2/18/13 David Park
2/22/13 Richard Fateman
2/23/13 David Bailey
2/23/13 Richard Fateman
2/25/13 David Bailey
2/26/13 Richard Fateman
2/27/13 Bill Rowe
2/27/13 Richard Fateman
3/2/13 Bill Rowe
3/3/13 Richard Fateman
3/3/13 Noqsi
3/5/13 Richard Fateman
3/5/13 Vince Virgilio
3/3/13 Bob Hanlon
1/16/13 Noqsi
1/16/13 Richard Fateman
1/18/13 Noqsi
2/23/13 Dr. Peter Klamser
2/25/13 Richard Fateman
2/26/13 Noqsi