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