Hi,

GNU APL is following the IBM APL2 language reference manual as much as possible (so that we can
use it as GNU APL reference and need no write our own one).

It says:

"For example:
      )WSID
THISWS
      )SAVE
1992-03-27 21.51.09 (GMT-4) THISWS

Note: The system response includes the workspace name when it is omitted from
the )SAVE command."

The only difference I can see right now is that the workspace ID is not shown if omitted in the )SAVE command. I will fix that. The rest (GMT offset etc) should remain as is (it would also break my testcases to change it).

/// Jürgen


On 05/09/2014 02:17 PM, Blake McBride wrote:
Given that )SAVE is a command and not a function (something intended to be used by another program), I think it is clear that it should display local time without any timezone information.

Secondly, the output message from )SAVE is for convenience of the immediate programmer doing the work, and not some data to be used to communicate across countries. If I want to do that, Unix gives plenty of information associated with the saved file.

So, in general, I agree with you say completely. It just doesn't apply to the )SAVE commend (except in possible very rare cases.)

In the case of ⎕TS, that too should return local time for many reasons. Creating an additional ⎕ function to return GMT time is fine and useful too.

Thanks.

Blake



On Fri, May 9, 2014 at 6:56 AM, Elias Mårtenson <loke...@gmail.com <mailto:loke...@gmail.com>> wrote:

    Before I continue further, I want to emphasise that there is a
    problem with the output of )SAVE. It may, however, be different
    from your opinion.

    There are two different things to think about when working with time:

      * Displaying time information for the user's benefit
      * For processing by a computer program

    In the first case, it's natural to display local time. Usually one
    displays the local time followed by the an indication of what
    timezone was used when displaying this value. This is where GNU
    APL does things wrong, as it's displaying GMT along with the
    timezone information where the save happened. This is not right.
    When displaying GMT time, one should indicate the timezone as Z,
    UTC, GMT+0, or something similar.

    The second case is when the number is returned for the purpose of
    further computation. This number should (almost) always be UTC.
    There are of course many reasons for this, but the most compelling
    one is that it's very easy to convert a UTC timestamp into any
    other timezone for display to a user, but converting /back/ from
    local time can in some cases actually be completely impossible
    (think daylight savings, and other adjustments).

    As for time manipulation, it's an incredibly complicated subject
    (something I have worked a lot on in my career) and I would
    certainly like to see something simple, such as the Unix time_t
    used for time representation. The worst one I've come across is
    the ⎕TS form, which is pretty much impossible to work with except
    for displaying the current time to the user.

    There are other arguments that can be made, but my mail is long
    enough already and I think my position has been made. :-)

    Regards,
    Elias


    On 9 May 2014 19:42, Blake McBride <blake1...@gmail.com
    <mailto:blake1...@gmail.com>> wrote:

        Greetings,

        Two additional problems with the )SAVE message:

        1.  Drop the timezone info i.e. "(GMT -5)"

        2.  Display local time instead of GMT time.

        My entire life revolves around my local time.  GMT time is
        largely meaningless to me.  For me, GMT time only has value
        when I am trying to coordinate something with someone in
        another part of the world.  I can do the translation, when
        necessary, at that time.  As it is, I have to do time math
        each time I want to use the value/message )SAVE returns.

        Thanks.

        Blake


        On Thu, May 8, 2014 at 11:05 PM, Blake McBride
        <blake1...@gmail.com <mailto:blake1...@gmail.com>> wrote:

            Greetings,

            I believe the )SAVE command should display the name of the
            workspace after the date and time.  I am looking at the
            Gilman and Rose APL2 book and that's the way they show it.
             (In addition to my memory.)

            Thanks.

            Blake





Reply via email to