Comment #8 on issue 3485 by [hidden email]: VMMaker does not load on Pharo 1.2 http://code.google.com/p/pharo/issues/detail?id=3485 - Improved the parser to return the epoch datetime whenever it cannot extract a timestamp - Timestamp is computed lazily instead of all the time (should improve performance of MethodReference whenever a timestamp is not needed) I have to check the fixes in a latest image again. Once that is done, I will tag this issue as fixed (but now I have to run... will do it later today) Attachments: SourceReferenceTimeStampParserFix.1.cs 4.7 KB |
In reply to this post by Johan Brichau-2
***Thanks*** johan.
this is what I thought. Archeology over inconsistency. Stf On Dec 30, 2010, at 11:56 AM, Johan Brichau wrote: > wow.... let me take a step back here. > > First of all, *nothing* was ever imposed nor banned. > As far as I'm concerned, SourceReference is a work in progress and the timestamp format that it parses has been reconstructed using archeology over different sources. > > Going back 2 spaces and parsing from there is what I did at first but that soon proved to be *not* correct. Please see formats 2,4 & 5. I did not invent those formats but found them in the sources. > It seems there are different formats out there and the goal was to extract timestamps from as many methods as possible. > > I'll improve the way it extracts timestamps and make a graceful fallback. > > Johan > > On 30 Dec 2010, at 10:38, Stéphane Ducasse wrote: > >> Eliot >> >> johan is not that idiot. So far when I see what they built for their company this is more the inverse. >> He spent several days trying to figure out how to manage decently the source. I will check with him what they did but they probably tried to extract information from all the methods in the system. >> >> >> changeStamp >> "Answer a string to be pasted into source code to mark who changed it and when." >> ^ Author fullName , ' ' , Date today mmddyyyy, ' ', >> ((String streamContents: [:s | Time now print24: true on: s]) copyFrom: 1 to: 5) >> >> Now how can I identify a comment from a person and and action? >> Beginning until a space? >> date end until a space? >> >> We can do that. It looks like a hack to me. >> >> People are building tools to **help** us but if we push on them unstructured data then we push the shit on them. >> Let's take a simple example: benjamin smart, young student rewrote the recentMessage tools and the finder for fun. Now the >> state of MethodReference and its clunky use made something trivial just a big pain. I do not even talk about the change format >> which need scanner invocation to distinguish between a class def and a doit. >> So if we do not offer a good infrastructure we will be stuck for years with old tools. Some people do not like change at all >> but we value it for the better. >> >> >> >> >> On Dec 30, 2010, at 12:47 AM, Eliot Miranda wrote: >> >>> >>> >>> On Wed, Dec 29, 2010 at 1:51 AM, Stéphane Ducasse <[hidden email]> wrote: >>>> >>>> The documented format is: >>>> >>>> Timestampstrings can be of the form: >>>> <authorname><date><time>. >>>> <authorname><date> >>>> <date><time> >>>> <date><time><authorname> >>>> <date><authorname> >>>> <historical> >>>> >>>> >>>> Says /who/? When I created all these timestamps to document a refactoring change there was no documented restriction on timestamps I could see. Why impose restrictions which have little value? Why needlessly break compatibility? That timestamp *contains useful information*. Why ban it? >>>> >>>> If you *want* VMMaker to load in Pharo you need to ensure that Pharo supports the timestamps *that exist* not the timestamps you want to impose on the community. >>> >>> Eliot we do not impose anything to the community. Please do not bash us we have enough to do without that! >>> >>> Steph, /I'm/ not bashing. I got bashed. Suddenly the comments I'd put in VMMaker were to be banned by Pharo. Look, the timestamp syntax if any, is defined by Utilities class>>changeStamp, along with the implicit restriction that the changeStamp can't contain an exclamation point, or it'll break parsing. Utilities class>>changeStamp is essentially anything followed by date and time, because there are /no/ restrictions on what one sets the Author initials to be (some people use full name, some people use initials, some people use put other stuff in there, but it's free apart from the $!). So to parse date and time one has to start at the end of the timestamp, go back two spaces and parse from there (ooh, difficult ;) ). There's no need for anything else. Why make life difficult for the community by imposing syntax when none existed before? All you'll do is make work and frustrate people. Is Pharo about helping or hindering? I think it's about helping, but the above syntax restrictions don't feel like that. KISS, right? If you want to find the date or time in a timestamp start at the end, and leave the beginning free from interpretation. >>> >>> 2¢ >>> >>> >>> Apparently the code was like that and people (may be johan) started to make sense out of it. >>> >>> Stef >>> >> >> > > |
In reply to this post by pharo
Updates:
Status: Fixed Comment #9 on issue 3485 by [hidden email]: VMMaker does not load on Pharo 1.2 http://code.google.com/p/pharo/issues/detail?id=3485 Verified the attached changeset. |
Updates:
Status: Closed Comment #10 on issue 3485 by marcus.denker: VMMaker does not load on Pharo 1.2 http://code.google.com/p/pharo/issues/detail?id=3485 12293 |
Free forum by Nabble | Edit this page |