You are right. )SAVE is indeed a command, and the output is meant for humans to read. It should be local time. That said, I don't mind seeing the timezone there as well. It's helpful when looking at logs (I'm speaking from experience here since I'm right now sitting in a hotel room in Sydney, two timezones away from where I live).
Regards, Elias On 9 May 2014 20:17, Blake McBride <blake1...@gmail.com> 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> 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> 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>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 >>>> >>>> >>> >> >