
joel wrote:
As I told earlier in this thread, NT2 was designed to help scientist whose main tools was Matlab to port their prototype onto parallel machines. Hence the matlab like syntax. Check what we said we Edward a bit before: C++ user may be able to use a more C++ interface, scientist - which is for me main target audience- won't. So the Matlab interface is something to stay cause no physicist that sometimes don't even know about C++ idioms or lingua will take the time to learn about. They want a tool that allow fast porting of their Matlab or mapple or mathematica prototype. And they don't even want to know about fancy CPU or GPU or clusters. This has to be transparent to us. Matlab is maybe ugly soemtimes but it gets the job done. Me and my coworker had the chance to be right next the users of our library and when I look at the code written with NT2, I maybe can see 1 or 2 that after doign matlab like for pages switch to STL interface cause they need to feed something to a iostream_iterator or w/e. For me, in this case of library design, you have to listen to users, and users want matlab interface.
I thought R, http://www.r-project.org/, is a popular tool in science, too. I'm not that convinced a C++ library needs to have a Matlab-like syntax so it can easily understood by users coming from Matlab. A translator would do the trick, too. I'm certainly interested in such a library, but I'm not sure if Boost would be the right forum for it (but let's leave that to the other Boosters).
Of course :-) A DSL is not written overnight, either. Perhaps setting up a .qbk in the sandbox would be useful for this purpose? You mean ? A tutorial on writting DSL ?
Coming up with a DSL-syntax for a C++ linear algebra library. Cheers, Rutger