MMA 3.0 The new is wearing off
- To: mathgroup at smc.vnet.net
- Subject: [mg7084] MMA 3.0 The new is wearing off
- From: sch at mitre.org (Stu Schaffner)
- Date: Wed, 7 May 1997 01:58:10 -0400 (EDT)
- Organization: The MITRE Corp.
- Sender: owner-wri-mathgroup at wolfram.com
I eagerly awaited MMA 3, and was very pleased with its increase in speed and the snazzy new formatting. However, when I converted some of my old programs none of them worked. The primary reason seemed to be that I had format statements that displayed complex data structures as text, and the converter substituted that text in all of my Modules, even in the argument lists. The converter also threw away the comments I had carefully added to each module specification and made an incomprehensible hash of the indentation. I put MMA back on the shelf for awhile until I could find the time to pick up the pieces. I am now more-or-less resigned to losing much of my prior work, but I am still having trouble using MMA 3.0 at all to write well-structured libraries of function definitions. I'm not talking about using Do loops, but simply writing, commenting, and altering ordinary functional programming code. I'm not experienced enough in MMA 3.0 yet to even be able to fully characterize the source of my difficulties, but here are a few thoughts: 1. The cell conversion algorithms seem to lose a lot of information. I can usually reduce a cell to garbage with a few conversions between StandardForm and InputForm and back again. 2. Almost any attempts to use indenting to show module structure produce a blizzard of invisible Cells and other structural gobbledegook. The only way to see these little "helpers" is to Show Expression, but the full expression is so complex that it doesn't help much. 3. The invisible Cells make cutting and pasting a harrowing experience. It is often difficult to even select the proper sequence of code because the selection often overlaps some counterintuitive Cell structure. Pasting such a collection of cells often has strange effects on the hidden structure MMA has placed the rest of the cell in. 4. I thought "Why not use the formatting to advantage? Let's produce a formatting function for function definitions." This didn't work because the contents of a Cell apparently have to be a valid expression. Thus, you can't (or I don't know how to) put "foo[ a_ ] := Module[" into a single cell. I sure would appreciate some suggestions. Stu Schaffner, The MITRE Corp. sch at mitre.org