Hi Ken,
Looks like your change of #includesSubString: to #includesSubstring: broke Seaside 3.1: http://jenkins.lukas-renggli.ch/job/Seaside%203.1/lastCompletedBuild/testReport/Seaside.Tests.Canvas/ The same problem appeared in the past on other packages (Pier, Magritte). Can you revert the change? Cheers, Lukas -- Lukas Renggli www.lukas-renggli.ch _______________________________________________ seaside-dev mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev |
Hi Lukas,
On 11 Jan 2013, at 15:29, Lukas Renggli <[hidden email]> wrote: > Hi Ken, > > Looks like your change of #includesSubString: to #includesSubstring: > broke Seaside 3.1: > > http://jenkins.lukas-renggli.ch/job/Seaside%203.1/lastCompletedBuild/testReport/Seaside.Tests.Canvas/ > > The same problem appeared in the past on other packages (Pier, > Magritte). Can you revert the change? This is a catch-22 change for library/framework developers ;-) pre Pharo 2.0 there is #includesSubString: post Pharo 2.0 there is #includesSubstring: For a library/framework that targets both platforms such as Seaside (but just as well for all my projects, including Zinc, and probably every project out there) there are two options: follow the change refuse the change In the first case, a compatibility package has to define the new selector as an alias pre Pharo 2.0 In the second case, a compatibility package has to define the old selector as an alias post Pharo 2.0 (and override the deprecation warning) Both are valid choices/strategies, but one has to be chosen for Seaside. For my projects I chose option 1. Sven PS: I guess that #greaseIncludesSub[S|s]tring: would also be an option ;-) -- Sven Van Caekenberghe http://stfx.eu Smalltalk is the Red Pill _______________________________________________ seaside-dev mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev |
On Fri, Jan 11, 2013 at 2:46 PM, Sven Van Caekenberghe <[hidden email]> wrote:
Hi Lukas, No need for a grease-specific selector - just need different versions of grease for Pharo 1 and Pharo 2 if people want both versions of Pharo supported.. Can't recall what other platforms use, but in general I prefer 'Substring' myself. _______________________________________________ seaside-dev mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev |
Julian,
On 12 Jan 2013, at 16:29, Julian Fitzell <[hidden email]> wrote: > On Fri, Jan 11, 2013 at 2:46 PM, Sven Van Caekenberghe <[hidden email]> wrote: > Hi Lukas, > > On 11 Jan 2013, at 15:29, Lukas Renggli <[hidden email]> wrote: > > > Hi Ken, > > > > Looks like your change of #includesSubString: to #includesSubstring: > > broke Seaside 3.1: > > > > http://jenkins.lukas-renggli.ch/job/Seaside%203.1/lastCompletedBuild/testReport/Seaside.Tests.Canvas/ > > > > The same problem appeared in the past on other packages (Pier, > > Magritte). Can you revert the change? > > This is a catch-22 change for library/framework developers ;-) > > pre Pharo 2.0 there is #includesSubString: > post Pharo 2.0 there is #includesSubstring: > > For a library/framework that targets both platforms such as Seaside (but just as well for all my projects, including Zinc, and probably every project out there) there are two options: > > follow the change > refuse the change > > In the first case, a compatibility package has to define the new selector as an alias pre Pharo 2.0 > In the second case, a compatibility package has to define the old selector as an alias post Pharo 2.0 (and override the deprecation warning) > > Both are valid choices/strategies, but one has to be chosen for Seaside. > For my projects I chose option 1. > > Sven > > PS: I guess that #greaseIncludesSub[S|s]tring: would also be an option ;-)\ > > No need for a grease-specific selector - just need different versions of grease for Pharo 1 and Pharo 2 if people want both versions of Pharo supported.. Can't recall what other platforms use, but in general I prefer 'Substring' myself. There are Grease-Pharo-[10|11|20]-Core packages in SqS/Seaside31 so I guess the possibility to differentiate is there. My point is however that the Seaside developers have to make a simple choice: keep the older #includesSubString: in the code base or switch to the newer (more logical) #includesSubstring: Either choice is OK, just pick one so that we can get this trivial issue out of the way. Sven _______________________________________________ seaside-dev mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev |
On Sat, Jan 12, 2013 at 10:42 PM, Sven Van Caekenberghe <[hidden email]> wrote:
Julian, As I said, my personal preference is #includesSubstring: as "SubString" has always bothered me, but it depends what other platforms do. There's not much point using the version that only one platform uses and forcing all the others to implement a Grease extension... Julian _______________________________________________ seaside-dev mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev |
I don't care much what version we use either. However we should keep
in mind that this is not about Pharo only, but also about all other Seaside platforms. Unfortunately ANSI does not describe a method for substring matching. However ANSI describes #subStrings:, which would go along the current #includesSubString: consistency wise. Lukas On 13 January 2013 22:11, Julian Fitzell <[hidden email]> wrote: > On Sat, Jan 12, 2013 at 10:42 PM, Sven Van Caekenberghe <[hidden email]> > wrote: >> >> Julian, >> >> On 12 Jan 2013, at 16:29, Julian Fitzell <[hidden email]> wrote: >> > No need for a grease-specific selector - just need different versions of >> > grease for Pharo 1 and Pharo 2 if people want both versions of Pharo >> > supported.. Can't recall what other platforms use, but in general I prefer >> > 'Substring' myself. >> >> There are Grease-Pharo-[10|11|20]-Core packages in SqS/Seaside31 so I >> guess the possibility to differentiate is there. >> >> My point is however that the Seaside developers have to make a simple >> choice: keep the older #includesSubString: in the code base or switch to the >> newer (more logical) #includesSubstring: >> >> Either choice is OK, just pick one so that we can get this trivial issue >> out of the way. > > > As I said, my personal preference is #includesSubstring: as "SubString" has > always bothered me, but it depends what other platforms do. There's not much > point using the version that only one platform uses and forcing all the > others to implement a Grease extension... > > Julian > > _______________________________________________ > seaside-dev mailing list > [hidden email] > http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev > -- Lukas Renggli www.lukas-renggli.ch _______________________________________________ seaside-dev mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev |
On Sun, 13 Jan 2013 22:19:04 +0100, you wrote:
>I don't care much what version we use either. However we should keep >in mind that this is not about Pharo only, but also about all other >Seaside platforms. > >Unfortunately ANSI does not describe a method for substring matching. >However ANSI describes #subStrings:, which would go along the current >#includesSubString: consistency wise. >Lukas In VA Smalltalk #subStrings: is for parsing strings not testing for the presence of one strings in another. Lou ----------------------------------------------------------- Louis LaBrunda Keystone Software Corp. SkypeMe callto://PhotonDemon mailto:[hidden email] http://www.Keystone-Software.com _______________________________________________ seaside-dev mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev |
In reply to this post by Lukas Renggli
For Grease, and therefore for Seaside, we agreed on the spelling includesSubString:.
John O'Keefe [|], CTO/Principal Smalltalk Architect, Instantiations Inc.
Skype: john_okeefe2 Mobile: +1 919 417-3181 (Business hours USA Eastern Time zone (GMT -5)) [hidden email] http://www.instantiations.com VA Smalltalk...Onward and Upward! On Sun, Jan 13, 2013 at 4:19 PM, Lukas Renggli <[hidden email]> wrote: I don't care much what version we use either. However we should keep _______________________________________________ seaside-dev mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev |
In reply to this post by Julian Fitzell-2
On 13 Jan 2013, at 22:11, Julian Fitzell <[hidden email]> wrote: > On Sat, Jan 12, 2013 at 10:42 PM, Sven Van Caekenberghe <[hidden email]> wrote: > Julian, > > On 12 Jan 2013, at 16:29, Julian Fitzell <[hidden email]> wrote: > > No need for a grease-specific selector - just need different versions of grease for Pharo 1 and Pharo 2 if people want both versions of Pharo supported.. Can't recall what other platforms use, but in general I prefer 'Substring' myself. > > There are Grease-Pharo-[10|11|20]-Core packages in SqS/Seaside31 so I guess the possibility to differentiate is there. > > My point is however that the Seaside developers have to make a simple choice: keep the older #includesSubString: in the code base or switch to the newer (more logical) #includesSubstring: > > Either choice is OK, just pick one so that we can get this trivial issue out of the way. > > As I said, my personal preference is #includesSubstring: as "SubString" has always bothered me, but it depends what other platforms do. There's not much point using the version that only one platform uses and forcing all the others to implement a Grease extension... There are only about 5 senders of #includesSubString: in my Pharo 2.0 Seaside image. Just say so, and I will add an alias to Grease-Pharo-20-Core and get rid of this. Sven_______________________________________________ seaside-dev mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev |
In reply to this post by John O'Keefe
You mean when I was visiting you guys? I thought this might have come up before, but I can't find a Grease test for #includesSubString: or #includesSubstring:
I'd guess that what we actually decided was that we'd avoid the issue because code that wanted to be compatible could simply use #indexOfSubCollection:startingAt:, which is defined in the ANSI standard. But I see some usage of #includesSubString: has appeared in Seaside, which has likely prompted other platforms to implement it. Given that and given that ANSI has #subStrings:, it does seem more sensible to the camelCase version to Grease. However, I have one other thought: do we really need a string-specific method for this? Might it be preferable to test for, say, #includesSubCollection: on SequenceableCollection? (ok, I don't like the name, but it's consistent with the other ANSI methods...) Julian On Mon, Jan 14, 2013 at 4:45 PM, John O'Keefe <[hidden email]> wrote: For Grease, and therefore for Seaside, we agreed on the spelling includesSubString:. _______________________________________________ seaside-dev mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev |
Julian -
For some reason we were not very consistent in our decisions :-( When we were defining the Grease API, we decided to add #beginsWithSubCollection: and #endsWithSubCollection, but we didn't add #includesSubCollection:. I certainly don't have a problem adding it now.
We chose the camel case spelling of #includesSubString: to match Pharo's implementation (now changed in V2.0). VA Smalltalk and VW (don't know about other Seaside providers) have #includesSubString: in their Grease layer.
Just to further confuse the discussion, Seaside also uses #includeSubstring:caseSensitive: (notice no camel case spelling). John O'Keefe [|], CTO/Principal Smalltalk Architect, Instantiations Inc.
Skype: john_okeefe2 Mobile: +1 919 417-3181 (Business hours USA Eastern Time zone (GMT -5)) [hidden email] http://www.instantiations.com VA Smalltalk...Onward and Upward! On Tue, Jan 15, 2013 at 5:21 PM, Julian Fitzell <[hidden email]> wrote: You mean when I was visiting you guys? I thought this might have come up before, but I can't find a Grease test for #includesSubString: or #includesSubstring: _______________________________________________ seaside-dev mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev |
Free forum by Nabble | Edit this page |