Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!uwm.edu!bionet!agate!dog.ee.lbl.gov!nosc!humu!pegasus!tleylan From: tleylan@pegasus.com (Tom Leylan) Newsgroups: comp.databases Subject: Re: Clipper: Okay, now I'm really pissed Keywords: arrays SAVE Message-ID: <1991Apr30.213229.27263@pegasus.com> Date: 30 Apr 91 21:32:29 GMT References: <27535@hydra.gatech.EDU> <1991Apr28.230635.9117@pegasus.com> <1570@forty2.physik.unizh.ch> Organization: Pegasus, Honolulu Lines: 37 In article <1570@forty2.physik.unizh.ch> eichi@forty2.physik.unizh.ch (Stefan Eichenberger) writes: >>To Michael may I suggest you stop using .MEM files. They are kludge and >>support for them will diminish over time. And before anyone screams at me >>to defend the "kludge" remark... I have a dozen reasons but primary among > >Well, I give you two examples I use .MEM files for, which would be awfully >complicated and overkill to find other solutions for: I don't want to get into an argument but I personally feel that .MEM files are a total mistake and have never used them and quite easily handle the two example situations that you mention and hundreds of others. Clipper 5.0 implements true variable scoping with STATIC and LOCAL variables and STATIC functions. LOCAL and STATIC variables and arrays cannot be SAVED TO a file, their names don't exist after compilation, they cannot be referenced from within a macro either (same problem). Nantucket and many others including myself recommend complete elimination of PUBLIC and PRIVATE variables. I speak regularly at developer's conferences and that is one of my standard suggestions. Given that there are no PUBLIC and no PRIVATE variables in my apps (and in time in nobody's apps) there isn't a need or use for SAVE TO since nothing is left to save. Bottom line is you can't save arrays, you aren't going to be able to save arrays. It is a design decision not an oversight... it's a simple matter to AEVAL() a codeblock which will process an array in any way anybody sees fit which could involve writing it to disk using the FOPEN(), FWRITE() functions. In any case, I'm happy to answer questions that you might have but "you know what Nantucket ought to do" type stuff is not something I'm particularly interested in discussing. What IBM or Microsoft or Borland or the Whitewater Group does is their decision, I buy the products I like, I pass on the ones I don't. The universe wasn't implemented solely for my pleasure. tom (formerly of Nantucket... just so people know where I'm coming from)