Stephen Wolfram: Something Very Big Is Coming
blog.wolframalpha.com
blog.wolframalpha.com
Sounds like Lisp :p
Whereas in Wolfram Language, If is just an ordinary symbol that has attribute HoldRest to ensure that it can prevent evaluation of its two clauses until it knows which one to evaluate.
In other words, code is just data (expression) that happens to have specific rules that will cause it to evaluate in some way, yielding a new expression (which could be more code, or partially evaluated code, or data, or whatever).
But you can also have rules attached to several symbols together. So for example, when you see a Foo containing a Bar, replace it with a Baz:
Foo[___, Bar, ___] := Baz;
It's a little like multiple dispatch, but it is slightly more general than even that. And totally pattern based (the pattern language is ridiculously rich).There's one more twist, which is that everything is not just serializable, but in some sense it is its serialization (called FullForm). It's hard to explain what this means without playing around with stuff.
Also, the language has actual m-expressions, thank god, unlike most LISPs.
(... at least in the Northern Hemisphere)
A New Science Of Kinds.
</joke>
It goes with the Tonight Show appearance that is probably the single best sales pitch except for the Segway rep trying to play nanny with Jay Leno, Russell Crowe, and Sting with Russell Crowe promoting Gladiator and yelling lines from the movie.