There are a number of changes to the J7 environment that cause problems with 
compatibility for addons (and presumably other code).

 * standardise on '/' as path separator
 * use of IFWIN instead of IFWIN32 for platform testing
 * there are probably others?

The changes seem sensible to me. The challenge is how best to manage them to 
minimize the need to handle compatibility going forward.

One option is to continually add version checking code to any addon or library 
script that needs it. For example:
  3 : 0''
  if. 7 > 0". 1{ 9!:14'' do. IFWIN=: IFWIN32 end.
  )

This seems a messy solution and prone to error.

Where possible, my preference would be to see some additions to the J6 base 
library to make it forward compatible with the J7 changes. This keeps the addon 
code, the J7 base library code and future addon code clean. So far the 
necessary additions to the J6 base library would be the following:

IFWIN=: IFWIN32
jpathsep=: jhostpath

Addons and user code could then be updated to use IFWIN & jpathsep (rather than 
IFWIN32 and jhostpath) and would then be compatible with both J versions.

Under this scenario users who don't update currently installed addons or base 
library won't be affected.  If the user is updating their addons from JAL via 
Package Manager (or jpkg), they will at the same time be notified that their J6 
base library is not up-to-date. If they update that too, then the updated 
addons should continue to work. (If they don't update their  base library then 
the addons will potentially not work).

Maybe there are other issues that I haven't considered? I would like to hear 
other opinions on how best to manage these issues.

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

Reply via email to