Why do you say adding support for undotted parameters would break existing code? As it stands now when 1=9!:48'' J6 works like J5 as far as parameter names are concerned.

  t=:3 : 0
y=.>:y.
y,y.
)
  t 1
2 1
  9!:14''
j601/beta/2006-02-27/10:25

I understand that there are backward incompatibilities and in the past I have handled such incompatibilities with tests and enclosing code within release tests. This usually amounted to leaving code for the old release and adding code for the new release. I have a single user library shared between all releases of J for my code. I have a common user library because I ran into so much trouble keeping straight versions of code when I had a separate user library in each version of J. In a shared user library, the dropping of the dots in parameter names is difficult to accommodate.

When I first read about dropping the dots I thought it would be difficult to implement. I was surprised that all my code still worked under J6, at least as far as this change was concerned. (I tested my code when this change first came out and in that release dotted names and undotted names looked to be equivalent. In the current beta they are unique.) At least for me, changing x. to x etc. should be easy.

I just thought if it were not difficult to put undotted parameter support in J5 and make it easier for people stuck with J5 for whatever reason the ability to start converting. Given Eric's response it's OK with me. I do not expect to have any problems converting my code and to build translators to convert code to run on the other release. I just wouldn't be able have a common user library.

Mark D. Niemiec wrote:

Don Guinn <[EMAIL PROTECTED]> wrote:
So how about having one more enhancement to J5 before it's put to bed. Add support for both dotted and undotted arguments to it as in the J6 beta. I know that graphics and other things different in J6 would not be the same, but at least it would not be impossible to share code between J5 and J6.

I think that this could make the transition to undotted arguments easier for people, who for whatever reason are reluctant to move to J6 and must still support J5, to go ahead and start converting code to the undotted arguments.

Unfortunately, such a case is not backwards compatible. It would break
much old code, in particular, any code that uses globals m n u v x y,
or in any other way relies on those locals not being defined.

"Eric Iverson" <[EMAIL PROTECTED]> wrote:
There are many cases where code for J6 won't run on J5. We won't be doing any retrofits to J5.

One of the important rules of minor J revisions is that no 
backwards-incompatible
changes would be made within a major version - such changes MAY be made
when switching to another major version (for example, between J4 and J5,
operator trains and primitives [. ]. and ]: were removed).

The J6 changes that allow (n v v) forks, or dyadic I. could theoretically
have been added to J5, since they would not break existing code;
however, the changed parameter names is something that could not be added.

-- Mark D. Niemiec <[EMAIL PROTECTED]>

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm



----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to