[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: general package, inputParser, 4.0.0 release
From: |
Carnë Draug |
Subject: |
Re: general package, inputParser, 4.0.0 release |
Date: |
Fri, 22 May 2015 18:50:28 +0100 |
On 22 May 2015 at 18:14, Philip Nienhuis <address@hidden> wrote:
> Carnë Draug wrote
>> Hi
>>
>> the general package currently implements the inputParser class. The
>> upcoming
>> Octave release 4.0.0 also implements this class. These implementations
>> are
>> very similar but different enough that any of its use will require changes
>> to continue working. Loading the general package will shadow the class
>> but
>> Octave will not warn about it (seems like it only warns about shadowing
>> functions).
>>
>> Currently, the best way to distinguish between the two is by checking the
>> path to the function like so:
>>
>> if (strfind (which ("inputParser"), ["@inputParser" filesep
>> "inputParser.m"]))
>> ...
>> else
>> ...
>> endfif
>>
>> but we can't really expect users, in special new users that are not aware
>> of
>> this history, to figure it out.
>>
>> In addition, a few weeks ago [1] I expressed my wish of marking the
>> general
>> package as an unmaintained package. I didn't feel there was much of
>> opposition to that (but can also be because the email was a fairly long
>> rant
>> that few read).
>>
>> This said, I see two possible resolutions:
>>
>> 1. make a new release of the general package without @inputParser and
>> dependent on (octave >= 4.0.0).
>>
>> 2. make a new release of the general package, exactly the same as the
>> last release, and dependent on (octave < 4.0.0).
>>
>> Any of the two would prevent @inputParser and classdef's inputParser to
>> co-exist. I prefer the second option for the following reasons:
>>
>> * users that wrote code for the old version had his code dependent
>> on general. If it is used on the Octave 4.0.0 it will fail to load
>> the general package forcing them to become aware of this difference.
>>
>> * users of old versions of Octave can still use the "latest" version
>> of the package without having to dig on the old releases.
>>
>> * since we are "deprecating" the general package, we should make it
>> easier
>> for the people that will stay on the old versions of Octave, the ones
>> released when it was "supported".
>
> Wasn't there a discussion about the OF general package a while ago in which
> I suggested to make a release /wo inputParser? here in the maintainers ML
> or in the bug tracker (can't find it now). IIRC that discussion was related
> to the linear-algebra package.
Yes, that is one of the alternatives. When I found this problem the first
time I started by removing @inputParser from the package. There is even one
in the release packages forum. But because of the points above (and
considering the other thread where I suggest dropping the general package),
I think we would be better off reinstating the @inputParser and releasing it
with depends (octave < 4.0.0).
Carnë
- general package, inputParser, 4.0.0 release, Carnë Draug, 2015/05/22
- Re: general package, inputParser, 4.0.0 release, Philip Nienhuis, 2015/05/22
- Re: general package, inputParser, 4.0.0 release,
Carnë Draug <=
- Re: general package, inputParser, 4.0.0 release, Philip Nienhuis, 2015/05/22
- Re: general package, inputParser, 4.0.0 release, Mike Miller, 2015/05/22
- Re: general package, inputParser, 4.0.0 release, Carnë Draug, 2015/05/22
- Re: general package, inputParser, 4.0.0 release, Mike Miller, 2015/05/23
- Re: general package, inputParser, 4.0.0 release, Julien Bect, 2015/05/23
- Re: general package, inputParser, 4.0.0 release, Carnë Draug, 2015/05/27