Sanjoy Mahajan wrote:
[1] metaobj is slow. I really hope that sometime in the future, metapost gets programming abilities of a real language. Maybe asymptote already does this, but it is too latex oriented.
In metapost, things can depend on eachother using equations. Metaobj makes heavy use of that, and I very much doubt asymptote can do the same. It is slow because knuth never expected having hunderds of equations partially solved at the same time, but it may be possible to fix that. If so, metaobj runtimes may drop as much as 95% (at the expense of a fair bit of extra memory consumption and a small speed penalty for everything else, of course, because that is how these things work).
And gets native 3d curves, which asymptote also has. For example, I'd imagine this being a valid path:
p := (0,0)--(0,1)--(1,0)--(1,1,1)--(0,0);
where the third coordinate is 0 if not specified, so all of metapost's current drawing would still work, but you could move in or out of the piece of paper too. And the default view would be face on but you could change the viewpoint.
There is lots and lots of work involved with even basic 3d support. Metapost will probably never support this sort of thing unless we get some extra people to help programming it. Asymtote may be the better option.
In thinking about this more, I guess I like metapost's declarative syntax (asymptote is purely procedural) including for constructing paths. I wish it had paths (composed of maybe disjoint subpaths) and subpaths (what metapost calls paths now) a la postscript.
If you come up with a low-level syntax and algorithmic description, that may actually happen.
I wish it had 3d. Featpost is not bad but is a layer built on top of metapost, not so well integrated. I wish metapost had real mathematical functions, not the sarith.mp hack for large numbers. Asymptote for
The spring 2007 version will have 64bit calculus. Not a complete solution, but much better, and the extra precision will help interfacing with existing math libraries like GNU math.
Oh and modern color model (and shading) would be good. Then Hans wouldn't have to do magic to get transparency or cmyk.
The autumn (TL2006) version will have greyscale and cmyk. No system that exports solely level 1 or 2 postscript can do the kind of transparency Hans uses, so I won't even try. Maybe later, when (and if) metapost is no longer tied to ps output. Cheers, Taco