Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
st: RE: Convention for replacing an existing routine on SSC with a revision that has major syntax changes.
From
Nick Cox <[email protected]>
To
"'[email protected]'" <[email protected]>
Subject
st: RE: Convention for replacing an existing routine on SSC with a revision that has major syntax changes.
Date
Wed, 25 Aug 2010 15:03:10 +0100
There isn't a strong convention. There is a binding rule that only one program with a given name can exist on SSC. So, you can
0. just send your program in
or
{
1. send your program in (but could helpfully flag that its syntax has changed)
and/or
2. keep your previous program on SSC with a changed name (but flag that anyone who wants to use it in the old way would need to change the name in order not to break old .do files or programs).
}
or
3. think of a way to have different versions (your sense) co-existing within a program.
I think I've done all of these at different times. There is a fine line between being nice to users and not doing something that makes a programmer's own life ridiculously complicated.
Remember: user-programmers need not be _quite_ so fastidious as StataCorp. Sometimes, one says: Sure, I changed the syntax. It's my program!
Nick
[email protected]
David Elliott
The subject line above almost says it all.
I have completely rewritten my file chunking routine -chunky- to use a
different and far more efficient chunking strategy using Mata for the
file I/O. It is basically a completely different program. I am
currently calling it -chunky_mata- to during testing to distinguish it
from -chunky- but it is my intent to completely supplant the original
routine which, quite frankly, was an ugly kludge for which I am almost
ashamed to claim ownership.
The syntax has changed from:
chunky using filename , index(#) chunk(#) saving(filename[, replace])
to
chunky using filename ,[ [peek(#) analyze] | [chunksize(#.#)
header(string) stub(string) replace]
What is the convention for replacing a routine that will "break" any
previous programs written using it?
I appreciate your guidance.
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/