Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down on April 23, and its replacement, is already up and running.

[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 <>
To   "''" <>
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 



1. send your program in (but could helpfully flag that its syntax has changed) 


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). 



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! 


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])
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:

© Copyright 1996–2016 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index