Re: Mathematica to .NET compiler
- To: mathgroup at smc.vnet.net
- Subject: [mg79528] Re: Mathematica to .NET compiler
- From: Peter Pein <petsie at dordos.net>
- Date: Sat, 28 Jul 2007 05:41:22 -0400 (EDT)
- References: <200707200725.DAA24728@smc.vnet.net> <f7sflm$rs0$1@smc.vnet.net> <f86onh$g19$1@smc.vnet.net>
Jon Harrop schrieb: > http://www.mathcore.com/resources/documents/mathcodec++_subset.pdf > > They don't support: > > Pattern matching > Arbitrary-precision arithmetic > Symbolic manipulation > Negative array indexing > Strings > IO > Efficient array resizing > Expressions > > Most of these are easy to implement if you target a higher-level language > than C++. > 1. Isn't Mathematica's base not any more than a pattern matcher and replacement machine? If there's no pattern matching, where is Mathematica? 2. Is it really so complicated for professionals to embed GMP-support (http://gmplib.org/) into their product? 3. Maybe it might be the better choice to program in a lower level language if one does not need symbolic abilities. 4. to keep track of the lebnth of an array and transfer a[[-2]] to a[length[a]-1] (starting at 0 as usual in C) is too hard to implement? 5. We all know: C does not support strings... :-\ 6. And in/output has never been seen in C-programs 7. Well, resizing depends on the C++-compiler, but is possible 8. Maybe I do not understand, what is meant with "Expressions" in this case. And if I do, the whole "Compiler" seems more useless as the seven points above indicate. After having read these constraints, there is no need to program in Mathematica just to get frustrated by an insufficient MathematicaToC(++) translator. I think it would be more promising to build a tool which translates Mathematica to a declarative language and to build a hybrid, running easy-to-translate parts in native code and calling the Mathematica Kernel for hard tasks. This is by no means a trivial task. A challenge! I try to learn Mercury (http://www.cs.mu.oz.au/research/mercury/index.html) at the time, but I am just at the beginning for now. While learning the basics, I came around to Haskell, OCAML and of course Prolog. My knowledge about these languages is too small for now but I think in a year or one and a half I'll try to find some people to start such a project. Of course this will have to be an open source project, as it will rely on a GP-licensed compiler. Peter
- References:
- Mathematica to .NET compiler
- From: Jon Harrop <jon@ffconsultancy.com>
- Mathematica to .NET compiler