Good point; I hadn't considered the JHS and console cases (sorry). Re:
lint, note that in jconsole,
require'debug/lint/lint'
|control error: script
| 3 :0''
|[-31] /applications/j/j64-801/addons/debug/lint/lint.ijs
Splitting out the addons seems like a good idea, though that doesn't
address local libraries that use similar techniques for determining
compatibility. Use of IF* seems a little haphazard; assumptions are
made on the basis of a subset of features (Qt, JHS, console, etc.).
For example, rdsock.ijs uses IFJ6 is used to determine engine version
and load additional libraries accordingly while the conditionals in
lint.ijs are used to set IFGUI ahead of loading 'grid'.
In place of IFJ6, wouldn't it make more sense to employ a pattern like,
if. JVER = 6 do.
where JVER_z_ provides the release number? (This could be a list
rather than scalar to provide point release info e.g. 8 0 1).
Advantages:
- We no longer require nouns like IFJ6; JVER would just be defined in
each release;
- Libraries (not just official addons) can specify release ranges
("works with 701+") more cleanly;
- Depdencies on features provided in a specific release can be
expressed with greater structure and safety (if j801, are we running
Qt? if not, this code won't load).
Thoughts?
Best,
Marc
On Tue, Mar 11, 2014 at 9:36 AM, bill lam <[email protected]> wrote:
> IFAIU starting from J8, previous versions (J7 and J6) need not be
> supported in svn trunk. defining IFJ6 in scripts is not a long term
> solution. IMO the proper solution is to detach J6/J7 addons:
> eliminates IFJ6 and release those addons for j801 only. A consequence
> is those addons for J6/J7 will not be updated from svn trunk.
>
> IFQT=0 for jconsole and JHS in J8, depending on context, it is not a
> replacement for IFJ6.
>
> On Tue, Mar 11, 2014 at 4:59 PM, Marc Simpson <[email protected]> wrote:
>> I just ran into the following issue with Rserve,
>>
>> require'stats/r/rserve'
>> |control error: script
>> | 3 :0''
>> |[-8] /applications/j/j64-801/addons/stats/r/rdsock.ijs
>>
>> caused by an IFJ6 check on line 2. (IFJ6 is undefined in j801.)
>>
>> Reference to IFJ6 is made in the following addons,
>>
>> debug/lint/lint.ijs line 25
>> general/dirutils/dirutils.ijs line 9
>> graphics/plot/demo/plotdemo.ijs line 6
>> graphics/plot/demo/plotdemos.ijs line 6
>> stats/r/rdcmd.ijs line 2
>> stats/r/rdcom.ijs line 2
>> stats/r/rdsock.ijs line 2
>>
>> The lint script is fine as the IFJ6 check only made if -.IFQT. Can the
>> rest be amended to do the same?
>>
>> Thanks,
>> Marc
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm