Wolfram Language

On Wolfram's blog. What is it? Will it be as revolutionary as claimed or will this just be another new kind of science? Reading the blog, it looks like they are banking on (a) a very rich library and (b) a cloud-based but built-in knowledge base akin to what you might get with F# type providers.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Symbolic Computation

It seems the heart of Wolfram language is manipulating symbols, treating code as data. This idea is by no means new, but it hasn't been deeply leveraged before: Kernel's Vau Calculus, Pattern Calculus, the growing use of 'Free' monads, REBOL, etc. tend, in practice, to do just a little symbolic manipulation before switching to evaluation. It seems Wolfram is pushing the idea much further by combining symbolic computation with an enormous library of algorithms for symbolic manipulation, and knowledge for almost every domain.

One will deploy applications by modeling deployment (e.g. onto a cloud or desktop) from within the language. This is a point I've been pushing for a few years, a different approach to modularity and distribution.

Anyhow, I'll be looking forward to more on this.

Prolog programs

I think Prolog programs most of the time do symbolic computation. In a sense, Prolog is more symbolic than Lisp. It also shares the explicit evaluation paradigm with Kernel.

...to be able to treat code

...to be able to treat code like data, interspersing little programs inside a piece of graphics, or a document, or an array of data. Or being able to put an image, or a user interface element, directly into the code of a program. Or having any fragment of any program immediately be runnable and meaningful.

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.

The devil will be in the detail. But I like the sound of it.

a guess

To me it sounds like the language from Mathematica plus some new modest extensions and libraries that have heretofore been internal to Wolfram, plus some cloud services with a client-side tied into the run-time system. I gather it folds in access to a Wolfram/Alpha API. For certain kinds of big computation I expect it will capture a few common patterns of how to deploy them over an Alpha-based cloud (shipping around little bits of code in the same language).

Aside from the way the press release is written it sounds pretty incremental.

I would specifically not expect any foundational PLT advances.

My first impulse when reading the way the press release was written was to write a parody of its bombast and self-promotion but as I read on I realized that would be redundant.

To Wolfram's credit, this

To Wolfram's credit, this was probably written by him with full sincerity...e.g. this is not a press release written by a professional PR person. Now, Wolfram has also been known to have a big ego, and its not clear if this is really revolutionary or just revolutionary in his head :) But at anyrate, I think calling his blogpost a press release is just a bit too inaccurate and unfair.

Demo video

This has just been released:

http://blog.stephenwolfram.com/2014/02/starting-to-demo-the-wolfram-language/

To me it doesn't look like anything 'new', rather it looks like something we (programmers) always knew was possible, but hadn't coordinated enough effort to realise.

Still, the same could be said of everything since the Universal Turing Machine, so the *really* interesting part is seeing what people do with it.

Very impressive demo. Thanks

Very impressive demo. Thanks for the ref.

I like a lot of properties of the Wolfram language, how adaptive the functions are to different inputs. The ability to say "draw a blue dodecahedron and two orange spheres" and get sensible code is quite nice. However, I don't feel especially comfortable with the ambient authority in the language, the ability for any function to silently 'phone home' to access Wolfram servers. Many other languages have this feature too, but Wolfram seems to take heavy advantage of it for world data.

I hope, with my AO language, to achieve an environment that has similar ease-of-use, adaptability, and built-in knowledge. I plan to favor symbolic math (i.e. modeling math expressions as data structures), free monads, and similar. I think we can get most of the advantages of symbolic manipulation without the ambient authority.

Wow

This is very impressive. (Yes, to characterise it as something "we always knew was possible, but hadn't coordinated enough effort to realise" is a little too universal. Find me a problem that can't be solved with a bit of coordination...)

The symbolic character of the language is neat. But for me, the biggest idea is that the result of a natural language query is not a link to part of the web, but a live computation over the web. I think that's the next paradigm in search.

It still feels very Wolframy and proprietary, though. (How many times did the word "Wolfram" occur in those 13 minutes?)

Smalltalk/Lisp?

For me the most impressive part of the demo is that it looks like what I thought computing should be like, when I saw some demos of Lisp Machines or my own experience with Smalltalk in the early 90's.

Something that could have become standard way of coding, had those systems become mainstream and further developed.

It is a shame that many still code as if UNIX had just been released.