Live data from Hacker News

Stephen Wolfram: Something Very Big Is Coming

blog.wolframalpha.com

11–20 of 30 posts

Re: Stephen Wolfram: Something Very Big Is Coming

#13
> In most languages there’s a sharp distinction between programs, and data, and the output of programs. Not so in the Wolfram Language. It’s all completely fluid. Data becomes algorithmic. Algorithms become data. There’s no distinction needed between code and data. And everything becomes both intrinsically scriptable, and intrinsically interactive. And there’s both a new level of interoperability, and a new level of modularity.

Sounds like Lisp :p

Re: Stephen Wolfram: Something Very Big Is Coming

#15
post #3

Oh yeah? Is it a new Segway?

That was the biggest "product release" disappointment I've had in my life. I was a naive kid ... huge fan of Kamen (actually, I still am a big fan of the man). IT was going to change everything!!! Bezos and a bunch of other big wigs are investing in it!!! I grew up a bit after that ...

If only they had followed Amazon's business model (screw the margins, and scale up as fast as possible) it might actually have taken off...

Re: Stephen Wolfram: Something Very Big Is Coming

#19
I remember wolfram alpha being marketed pre-release as something that would make Google obsolete. The only reason I ever use this is for math when I do not have access to a native alternative such as matlab. Considering that I use less math than I used to, I wonder why it is still relevant.

Re: Stephen Wolfram: Something Very Big Is Coming

#20
post #13

> In most languages there’s a sharp distinction between programs, and data, and the output of programs. Not so in the Wolfram Language. It’s all completely fluid. Data becomes algorithmic. Algorithms become data. There’s no distinction needed between code and data. And everything becomes both intrinsically scriptable, and intrinsically interactive. And there’s both a new level of interoperability, and a new level of…

It's a little beyond that, in some ways. In the LISPs, you can view programs as data, but macros are different from, say, 'if'. The Read and Evaluate parts of the REPL are distinct phases.

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.

Post reply on HN