Group Abstract Group Abstract

Message Boards Message Boards

Metaprogramming: the Future of the Wolfram Language

POSTED BY: Jonathan Kinlay
6 Replies
Posted 7 years ago

Yes, I agree 'why hasn't metaprogramming been taken up' is a very interesting question. It is certainly something which WL would seem to have some sort of comparative advantage at. And the various shortcomings that Shifrin identifies - particularly in the ability to create macros - don't seem to have been addressed by WRI in the interim. Probably there doesn't appear to be enough demand for such capabilities, so they aren't putting the resources to it, right?

My distinction for GA vs GP is that in GA there are no dependencies across the expression tree - so long as the expression evaluates in a bottom-up fashion, it doesn't matter whether the first arg or the last arg of an expression is evaluated first. In GP, where there are variables, then the left-right evaluation order matters. So, for example, an 'algorithm' can evaluate Plus[x,x,1] /. x->2 but a 'program' cannot evaluate Plus[x=x+1,x=2,1]. Not without an error, anyway.

POSTED BY: Bernard Gress
Posted 7 years ago
POSTED BY: Jonathan Kinlay
Posted 7 years ago

Very cool ideas, Jonathan. Like Amazon's "Alexa", it would be nice if we could say "hey 'Wolf', show me what i would look like if i were a horse." And it would take your photos and DNA data, a horse's DNA data, and automatically interpolate between them in an efficient and meaningful way, yielding a 3D image.

Auto-parallelization would be wonderful too, if Mathematica somehow knew when to compute in serial, and when to compute in parallel.

In regards to a "Wolfram One-Liner generator"-- That's a great idea, not just for the competition, but for discovery in general. And not just for one line. I think the best way to do that would be to train neural nets on existing code, like you said, rather than exhaustively trying all permutations of functions. One could imagine a mining program, which runs nonstop, looking for novel relationships and correlations between shapes, rule-types, dimensions, etc. A "wisdom miner," if you will.

One tool which might come in handy is the "fundamental structure of relationship", which i define in this post, since a meta-programming virtual assistant would need to be able to reason, at least somewhat. I'm not sure if a 'virtual assistant' is what you meant, but that's the direction I would take it.

I would love to try to build one, but sadly it is outside my skill-set, and it would be an all-consuming project. But I think you're correct that high-level meta-algorithms will be responsible for the most interesting results in the next few years.

POSTED BY: Bryan Lettner

Would any community member be interested in attempting to build a Wolfram One-Liner generator?

POSTED BY: Jonathan Kinlay
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard
Be respectful. Review our Community Guidelines to understand your role and responsibilities. Community Terms of Use