Understood. Regarding deprecation: JVER assertions might make for clearer (end user) errors.
On Tue, Mar 11, 2014 at 10:41 AM, bill lam <[email protected]> wrote: > JVER is a good idea, but we don't have enough resource to support multiple > versions. I imagine most of those addons using wd will either not updated or > not migrated to j801. > > 11.03.2014, в 18:23, Marc Simpson <[email protected]> написал(а): > >> 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 > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
