Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- 1 participants
- 144633 messages
Re: [Pharo-dev] [squeak-dev] Fwd: Re: [saag] Fw: [internet-draft-draft] ParrotTalk: Anonymous P2P encryption
by henry
Thank you, Ben, weâll see Iâll let you know.
Sent from ProtonMail Mobile
On Sun, Nov 5, 2017 at 06:14, Ben Coman <btc(a)openinworld.com> wrote:
> Good luck with it.
> cheers -ben
>
> On Sun, Nov 5, 2017 at 5:17 AM, henry <henry(a)callistohouse.club> wrote:
>
>> I am preparing an Internet Draft for submission through IETF. Listed below.
>>
>> Sent from ProtonMail Mobile
>>
>>> ---------- Forwarded message ----------
>>> From: Bob<robert.withers(a)protonmail.com>
>>> Date: On Sat, Nov 4, 2017 at 13:56
>>> Subject: Fwd: Re: [saag] Fw: [internet-draft-draft] ParrotTalk: Anonymous P2P encryption
>>> To: Bob <robert.withers(a)protonmail.com >
>>> Cc: SAAG <saag(a)ietf.org>
>>>
>>> I updated the I-D located here: http://jmp.sh/VRejS2g
>>>
>>> Thank you for your consideration,
>>> - HH
>>>
>>>> -------- Original Message --------
>>>> Subject: [saag] Fw: [internet-draft-draft] ParrotTalk: Anonymous P2P encryption
>>>> Local Time: November 3, 2017 9:07 AM
>>>> UTC Time: November 3, 2017 1:07 PM
>>>> From: robert.withers(a)protonmail.com
>>>> To: SAAG <saag(a)ietf.org>
>>>>
>>>> Good morning,
>>>>
>>>> I am forwarding this announcement of the ParrotTalk v3.6 specification and 2 reference implementations, in Squeak/Pharo and Java, to the SAAG list. I was advised that this mailing list regarding the Security Area is the correct home for this announcement. Below, I corrected the version of the Squeak/Pharo ParrotTalk code to version 11, interoperable with the Java version. I am proceeding to work on the Internet-Draft and I hope some discussion builds around this work.
>>>>
>>>> Thank you.
>>>> - HH
>>>>
>>>>> -------- Original Message --------
>>>>> Subject: [internet-draft-draft] ParrotTalk: Anonymous P2P encryption
>>>>> Local Time: November 2, 2017 9:19 PM
>>>>> UTC Time: November 3, 2017 1:19 AM
>>>>> From: henry(a)callistohouse.club
>>>>> To: IETF <ietf(a)ietf.org>
>>>>>
>>>>> I have developed the ParrotTalk Protocol, and am starting an internet draft document[1] for submission to the process at IETF.
>>>>>
>>>>> ParrotTalk Protocol is documented in part here[2], while I have two implementations: 1 in Squeak/Pharo[3 a/b] and the other in Java[4 a/b]. The particulars of MAC key and ivSequence derivation, as well as constrained traffic signing, are the implementations, yet missing from the specification. They will be added to the internet-draft.
>>>>>
>>>>> How do I go about submitting a specification for ParrotTalk for IETF review and consideration?
>>>>>
>>>>> Thank you.
>>>>>
>>>>> - HH
>>>>> - HH
>>>>> - HH
>>>>> - HH
>>>>> - HH
>>>>> - HH
>>>>> - HH
>>>>> - HH
Nov. 5, 2017
Re: [Pharo-dev] [Pharo7.0a] Next batch of enhancements
by Sean P. DeNigris
Guillermo Polito wrote
> Question: would you like that we set-up a jenkins job that sends this
> report every saturday or monday morning?
I found this format valuable. Would it be in addition to or in lieu of the
current one-per-issue CI notifications?
-----
Cheers,
Sean
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html
Nov. 5, 2017
Re: [Pharo-dev] How to update currently used VM for PharoLauncher?
by stephan
On 04-11-17 20:29, Christophe Demarey wrote:
> It makes sense only for the development image but it could be a nice
> option to add to the launcher. Do you think it will be used?
I have a personal need for it, but that should of course not be the
determining factor. I see several scenario's for this:
- A 'normal' user notices a problem, that gets fixed in a development
vm. She needs to test and use it, is probably not interested in
following all other new development vms, and ideally should switch as
soon as possible to using a newer stable vm again. Supporting the
automatic switch to a newer stable vm makes sense for us to avoid having
too many new users using the unstable versions. It might be useful to
make that decision for an individual image, when other projects are not
affected by the issue. So here there would be two choices: I want to
download a latest (or version) vm and automatically upgrade to a newer
stable when that arrives, and I want to use that for only this image or
for all fitting images.
- At the moment I'm running into a lot of the current vm issues. I have
some production images that should be using stable, but in my
development I want to just use the latest vm that managed to get green
tests :) Nearly all new versions are improvements, but once in a while
there are changes that need to be reverted. So there I just want to
check before starting an image if there is a new vm I can use, and will
just ignore that once in a while there is a broken one.
Stephan
Nov. 5, 2017
Re: [Pharo-dev] [Pharo-users] [Pharo7.0a] Next batch of enhancements
by Pavel Krivanek
Ups, my fault.
-- Pavel
2017-11-05 12:58 GMT+01:00 Guillermo Polito <guillermopolito(a)gmail.com>:
> Just a side note, all text preceded by >> in the mail is the original pull
> request comment. So it was the PR comment that was wrong. We decided with
> Stef to let the comment untouched and not parse it, because we cannot
> depend on what people put as a comment...
>
> On Sun, Nov 5, 2017 at 12:32 PM, Ben Coman <btc(a)openinworld.com> wrote:
>
>>
>>
>> On Sun, Nov 5, 2017 at 7:00 PM, PBKResearch <peter(a)pbkresearch.co.uk>
>> wrote:
>>
>>>
>>> I managed to find the fogbugz entry - not easy, because it has been
>>> closed,
>>
>> so clicking on the link gives 404
>>
>>
>> btw, I don't think the 404 has anything to do with the case being
>> closed.
>> The url is simply incorrect. Compare the last slash in this correct
>> url...
>> https://pharo.fogbugz.com/f/cases/20587/remove-UIThemeWatery
>>
>>
>>> * 20587-remove-UIThemeWatery
>>> >> https://pharo.fogbugz.com/f/cases/20587-remove-UIThemeWatery
>>>
>>>
>>
>> this issue url works fine...
>>
>>> Issue URL: https://pharo.fogbugz.com/f/cases/20587
>>>
>>
>>
>>
>>> PR URL: https://github.com/pharo-project/pharo/pull/395
>>> Diff URL: https://github.com/pharo-project/pharo/pull/395/files
>>>
>>
>>
>> cheers -ben
>>
>>
>
>
>
> --
>
>
>
> Guille Polito
>
> Research Engineer
>
> Centre de Recherche en Informatique, Signal et Automatique de Lille
>
> CRIStAL - UMR 9189
>
> French National Center for Scientific Research - *http://www.cnrs.fr
> <http://www.cnrs.fr>*
>
>
> *Web:* *http://guillep.github.io* <http://guillep.github.io>
>
> *Phone: *+33 06 52 70 66 13 <+33%206%2052%2070%2066%2013>
>
Nov. 5, 2017
Re: [Pharo-dev] [Pharo-users] [Pharo7.0a] Next batch of enhancements
by Guillermo Polito
Just a side note, all text preceded by >> in the mail is the original pull
request comment. So it was the PR comment that was wrong. We decided with
Stef to let the comment untouched and not parse it, because we cannot
depend on what people put as a comment...
On Sun, Nov 5, 2017 at 12:32 PM, Ben Coman <btc(a)openinworld.com> wrote:
>
>
> On Sun, Nov 5, 2017 at 7:00 PM, PBKResearch <peter(a)pbkresearch.co.uk>
> wrote:
>
>>
>> I managed to find the fogbugz entry - not easy, because it has been
>> closed,
>
> so clicking on the link gives 404
>
>
> btw, I don't think the 404 has anything to do with the case being closed.
> The url is simply incorrect. Compare the last slash in this correct
> url...
> https://pharo.fogbugz.com/f/cases/20587/remove-UIThemeWatery
>
>
>> * 20587-remove-UIThemeWatery
>> >> https://pharo.fogbugz.com/f/cases/20587-remove-UIThemeWatery
>>
>>
>
> this issue url works fine...
>
>> Issue URL: https://pharo.fogbugz.com/f/cases/20587
>>
>
>
>
>> PR URL: https://github.com/pharo-project/pharo/pull/395
>> Diff URL: https://github.com/pharo-project/pharo/pull/395/files
>>
>
>
> cheers -ben
>
>
--
Guille Polito
Research Engineer
Centre de Recherche en Informatique, Signal et Automatique de Lille
CRIStAL - UMR 9189
French National Center for Scientific Research - *http://www.cnrs.fr
<http://www.cnrs.fr>*
*Web:* *http://guillep.github.io* <http://guillep.github.io>
*Phone: *+33 06 52 70 66 13
Nov. 5, 2017
Re: [Pharo-dev] [Pharo-users] [Pharo7.0a] Next batch of enhancements
by Ben Coman
On Sun, Nov 5, 2017 at 7:00 PM, PBKResearch <peter(a)pbkresearch.co.uk> wrote:
>
> I managed to find the fogbugz entry - not easy, because it has been
> closed,
so clicking on the link gives 404
btw, I don't think the 404 has anything to do with the case being closed.
The url is simply incorrect. Compare the last slash in this correct url...
https://pharo.fogbugz.com/f/cases/20587/remove-UIThemeWatery
> * 20587-remove-UIThemeWatery
> >> https://pharo.fogbugz.com/f/cases/20587-remove-UIThemeWatery
>
>
this issue url works fine...
> Issue URL: https://pharo.fogbugz.com/f/cases/20587
>
> PR URL: https://github.com/pharo-project/pharo/pull/395
> Diff URL: https://github.com/pharo-project/pharo/pull/395/files
>
cheers -ben
Nov. 5, 2017
Re: [Pharo-dev] [squeak-dev] Fwd: Re: [saag] Fw: [internet-draft-draft] ParrotTalk: Anonymous P2P encryption
by Ben Coman
Good luck with it.
cheers -ben
On Sun, Nov 5, 2017 at 5:17 AM, henry <henry(a)callistohouse.club> wrote:
> I am preparing an Internet Draft for submission through IETF. Listed below.
>
>
> Sent from ProtonMail Mobile
>
> ---------- Forwarded message ----------
> From: Bob<robert.withers(a)protonmail.com>
> Date: On Sat, Nov 4, 2017 at 13:56
> Subject: Fwd: Re: [saag] Fw: [internet-draft-draft] ParrotTalk: Anonymous
> P2P encryption
> To: Bob <robert.withers(a)protonmail.com>
> Cc: SAAG <saag(a)ietf.org>
> I updated the I-D located here: http://jmp.sh/VRejS2g
>
> Thank you for your consideration,
> - HH
>
> -------- Original Message --------
> Subject: [saag] Fw: [internet-draft-draft] ParrotTalk: Anonymous P2P
> encryption
> Local Time: November 3, 2017 9:07 AM
> UTC Time: November 3, 2017 1:07 PM
> From: robert.withers(a)protonmail.com
> To: SAAG <saag(a)ietf.org>
>
> Good morning,
>
> I am forwarding this announcement of the ParrotTalk v3.6 specification and
> 2 reference implementations, in Squeak/Pharo and Java, to the SAAG list. I
> was advised that this mailing list regarding the Security Area is the
> correct home for this announcement. Below, I corrected the version of the
> Squeak/Pharo ParrotTalk code to version 11, interoperable with the Java
> version. I am proceeding to work on the Internet-Draft and I hope some
> discussion builds around this work.
>
> Thank you.
> - HH
>
> -------- Original Message --------
> Subject: [internet-draft-draft] ParrotTalk: Anonymous P2P encryption
> Local Time: November 2, 2017 9:19 PM
> UTC Time: November 3, 2017 1:19 AM
> From: henry(a)callistohouse.club
> To: IETF <ietf(a)ietf.org>
>
> I have developed the ParrotTalk Protocol, and am starting an internet
> draft document[1] for submission to the process at IETF.
>
> ParrotTalk Protocol is documented in part here[2], while I have two
> implementations: 1 in Squeak/Pharo[3 a/b] and the other in Java[4 a/b]. The
> particulars of MAC key and ivSequence derivation, as well as
> constrained traffic signing, are the implementations, yet missing from the
> specification. They will be added to the internet-draft.
>
> How do I go about submitting a specification for ParrotTalk for IETF
> review and consideration?
>
> Thank you.
>
> - HH
> - HH
> - HH
> - HH
> - HH
> - HH
> - HH
> - HH
>
>
>
>
>
>
>
Nov. 5, 2017
Re: [Pharo-dev] How to update currently used VM for PharoLauncher?
by Ben Coman
On Sun, Nov 5, 2017 at 3:29 AM, Christophe Demarey <
christophe.demarey(a)inria.fr> wrote:
> Hi Stefan,
>
> > Le 3 nov. 2017 à 17:23, stephan <stephan(a)stack.nl> a écrit :
> >
> > I've noticed a few VM updates I want to use with PharoLauncher.
> > What is the currently recommended way to update my PharoLauncher to use
> > a non-stable version?
>
> For now, the way to get a fresh VM for the current development image (i.e.
> 70) is to delete it from the VM store ($HOME/Documents/Pharo/vms/70 on OS
> X) and try to run again the image will download the latest stable VM.
> If you need another VM, you will have to install it by hand in the same
> directory. There is currently no option to get an alpha VM. It makes sense
> only for the development image but it could be a nice option to add to the
> launcher. Do you think it will be used?
>
It would be useful to be able to be explicit about which VM is used to run
an image, and the VMs to be selectable. When someone reports "I've a
problem with Image Build X on VM Build Y" this would facilitate others
replicating that configuration.
cheers -ben
Nov. 5, 2017
Re: [Pharo-dev] [Pharo7.0a] Next batch of enhancements
by Guillermo Polito
Thanks stef :)
Question: would you like that we set-up a jenkins job that sends this
report every saturday or monday morning?
On Sun, Nov 5, 2017 at 10:07 AM, Stephane Ducasse <stepharo.self(a)gmail.com>
wrote:
> Report period: 23 October 2017 to 5 November 2017
>
> * 20632-Rename-PluggableSortFunction-to-CollatorBlockFunction
> >> PluggableSortFunction is renamed to CollatorBlockFunction
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20632
> PR URL: https://github.com/pharo-project/pharo/pull/430
> Diff URL: https://github.com/pharo-project/pharo/pull/430/files
>
> Thanks to dionisiydk
>
> * 20634 missing super messages in set up and tear down in kernel
> tests unit tests
> >> Add missing super messages in #setUp and #tearDown in Kernel-Tests
> >>
> >> https://pharo.fogbugz.com/f/cases/20634/Missing-super-
> messages-in-setUp-and-tearDown-in-Kernel-Tests-unit-tests
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20634 missing super
> messages in set up and tear down in kernel tests unit tests
> PR URL: https://github.com/pharo-project/pharo/pull/432
> Diff URL: https://github.com/pharo-project/pharo/pull/432/files
>
> Thanks to astares
>
> * 20623-Tests-in-the-CI-should-say-the-Architecture-and-the-OS
> >> Adding the node name if running in JENKINS.
> >>
> >> It fixes
> >>
> >> https://pharo.fogbugz.com/f/cases/20623/Tests-in-the-CI-
> should-say-the-Architecture-and-the-OS
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20623
> PR URL: https://github.com/pharo-project/pharo/pull/424
> Diff URL: https://github.com/pharo-project/pharo/pull/424/files
>
> Thanks to tesonep
>
> * 20633-Update-Tonel-version
> >> Upgrading Tonel version to 1.0.3.
> >>
> >> Fixes issue https://pharo.fogbugz.com/f/cases/20633/Update-Tonel-
> version
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20633
> PR URL: https://github.com/pharo-project/pharo/pull/431
> Diff URL: https://github.com/pharo-project/pharo/pull/431/files
>
> Thanks to tesonep
>
> * 20629-wrong-FuelPlatform-Pharo-Core-package-loading
> >> https://pharo.fogbugz.com/f/cases/20629/wrong-
> FuelPlatform-Pharo-Core-package-loading
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20629
> PR URL: https://github.com/pharo-project/pharo/pull/429
> Diff URL: https://github.com/pharo-project/pharo/pull/429/files
>
> Thanks to pavel-krivanek
>
> * 20630-The-package-Files-Prompt-is-not-loaded
> >> https://pharo.fogbugz.com/f/cases/20630/The-package-Files-
> Prompt-is-not-loaded
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20630
> PR URL: https://github.com/pharo-project/pharo/pull/427
> Diff URL: https://github.com/pharo-project/pharo/pull/427/files
>
> Thanks to pavel-krivanek
>
> * 20628-Categories-definition-in-exported-Tonel-must-be-
> symbols-not-strings
> >> https://pharo.fogbugz.com/f/cases/20628/Categories-
> definition-in-exported-Tonel-must-be-symbols-not-strings
> >>
> >> - Converts category names from strings to symbols
> >> - Remove unused packages
> >>
> >> ```
> >> delete mode 100644 src/BaselineOfHermes/BaselineOfHermes.class.st
> >> delete mode 100644 src/BaselineOfHermes/package.st
> >> delete mode 100644 src/Files-Prompt/DummyUIManager.extension.st
> >> delete mode 100644
> src/Files-Prompt/FileAlreadyExistsException.extension.st
> >> delete mode 100644
> src/Files-Prompt/FileDoesNotExistException.extension.st
> >> delete mode 100644 src/Files-Prompt/MorphicUIManager.extension.st
> >> delete mode 100644
> src/Files-Prompt/NonInteractiveUIManager.extension.st
> >> delete mode 100644 src/Files-Prompt/UIManager.extension.st
> >> delete mode 100644 src/Files-Prompt/package.st
> >> delete mode 100644 src/FuelPlatform-Pharo-Core/FL
> PharoPlatform.class.st
> >> delete mode 100644 src/FuelPlatform-Pharo-Core/package.st
> >> delete mode 100644 src/Hermes-Ring/FiBitsLayout.extension.st
> >> delete mode 100644 src/Hermes-Ring/FiCompiledMeth
> odLayout.extension.st
> >> delete mode 100644 src/Hermes-Ring/FiEphemeronLayout.extension.st
> >> delete mode 100644 src/Hermes-Ring/FiFixedLayout.extension.st
> >> delete mode 100644 src/Hermes-Ring/FiImmediateLayout.extension.st
> >> delete mode 100644 src/Hermes-Ring/FiLayout.extension.st
> >> delete mode 100644 src/Hermes-Ring/FiPointerLayout.extension.st
> >> delete mode 100644 src/Hermes-Ring/FiVariableLayout.extension.st
> >> delete mode 100644 src/Hermes-Ring/FiWeakVariable
> Layout.extension.st
> >> delete mode 100644 src/Hermes-Ring/HERingBinder.class.st
> >> delete mode 100644 src/Hermes-Ring/HERingToHermesBuilder.class.st
> >> delete mode 100644 src/Hermes-Ring/RFiClass.extension.st
> >> delete mode 100644 src/Hermes-Ring/RFiEnvironment.extension.st
> >> delete mode 100644 src/Hermes-Ring/RFiMethod.extension.st
> >> delete mode 100644 src/Hermes-Ring/RFiTrait.extension.st
> >> delete mode 100644 src/Hermes-Ring/package.st
> >> delete mode 100644
> src/Hermes-Tests-External-Package/AClassToBeExtracted.class.st
> >> delete mode 100644
> src/Hermes-Tests-External-Package/AClassToBeExtractedFactory.class.st
> >> delete mode 100644
> src/Hermes-Tests-External-Package/HETeSimpleClassWithCom
> plexTraits.extension.st
> >> delete mode 100644
> src/Hermes-Tests-External-Package/TSimpleTraitToBeExtracted.trait.st
> >> delete mode 100644 src/Hermes-Tests-External-Package/package.st
> >> delete mode 100644
> src/Hermes-Tests/HEAbstractBinaryClassBuilderTest.class.st
> >> delete mode 100644 src/Hermes-Tests/HEExportedLit
> eralTest.class.st
> >> delete mode 100644 src/Hermes-Tests/HEExportingClassTest.class.st
> >> delete mode 100644 src/Hermes-Tests/HEExportingMe
> thodTest.class.st
> >> delete mode 100644
> src/Hermes-Tests/HEExportingPackageFromRingTest.class.st
> >> delete mode 100644 src/Hermes-Tests/HEExportingPa
> ckageTest.class.st
> >> delete mode 100644 src/Hermes-Tests/HEExportingTraitTest.class.st
> >> delete mode 100644 src/Hermes-Tests/HEInstallWhol
> ePackageTest.class.st
> >> delete mode 100644 src/Hermes-Tests/HEInstallerTest.class.st
> >> delete mode 100644 src/Hermes-Tests/HETeSimpleClass.class.st
> >> delete mode 100644
> src/Hermes-Tests/HETeSimpleClassWithComplexTraits.class.st
> >> delete mode 100644 src/Hermes-Tests/HETeSimpleCla
> ssWithTraits.class.st
> >> delete mode 100644 src/Hermes-Tests/THEATraitUsingOthers.trait.st
> >> delete mode 100644 src/Hermes-Tests/THEOneTestTrait.trait.st
> >> delete mode 100644 src/Hermes-Tests/THEOtherTestTrait.trait.st
> >> delete mode 100644 src/Hermes-Tests/package.st
> >> delete mode 100644 src/Network-Url/package.st
> >> delete mode 100644 src/Ring-Navigation/RGMethodDe
> finition.extension.st
> >> delete mode 100644 src/Ring-Navigation/package.st
> >> ```
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20628
> PR URL: https://github.com/pharo-project/pharo/pull/426
> Diff URL: https://github.com/pharo-project/pharo/pull/426/files
>
> Thanks to pavel-krivanek
>
> * 20626-Fixing-Tests-in-CI
> >> Fixing some tests related with the refactoring in FileStream.
> >>
> >> Fixes issue
> >>
> >> https://pharo.fogbugz.com/f/cases/20626/Fixing-Tests-in-CI
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20626
> PR URL: https://github.com/pharo-project/pharo/pull/425
> Diff URL: https://github.com/pharo-project/pharo/pull/425/files
>
> Thanks to tesonep
>
> * 20616-Convert-file-format-to-tonel
> >> sources converted.
> >>
> >> closes case 20616
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20616
> PR URL: https://github.com/pharo-project/pharo/pull/423
> Diff URL: https://github.com/pharo-project/pharo/pull/423/files
>
> Thanks to estebanlm
>
> * 20574-FFITypeArray--annonymousClassCreator-doesnt-
> handle-pointer-types-correctly
> >> fix case #20574
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20574
> PR URL: https://github.com/pharo-project/pharo/pull/392
> Diff URL: https://github.com/pharo-project/pharo/pull/392/files
>
> Thanks to estebanlm
>
> * 20589-update-iceberg-to-062
> >> closes case #20589
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20589
> PR URL: https://github.com/pharo-project/pharo/pull/397
> Diff URL: https://github.com/pharo-project/pharo/pull/397/files
>
> Thanks to estebanlm
>
> * 17299 sleep longer than a second in the delay scheduler
>
> Issue URL: https://pharo.fogbugz.com/f/cases/17299 sleep longer
> than a second in the delay scheduler
> PR URL: https://github.com/pharo-project/pharo/pull/197
> Diff URL: https://github.com/pharo-project/pharo/pull/197/files
>
> Thanks to zecke
>
> * 20599 make kernel independent of deprecated file stream
> >> This PR introduces the following changes:
> >> - Extracted file creation for st and cs files into CodeExporter
> class
> >> - removed usages of StandardFileStream and MultiByteFileStream
> >> - Modularised StandardFileStream>>defaultAction to be in a
> separate package (depends on UI)
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20599 make kernel
> independent of deprecated file stream
> PR URL: https://github.com/pharo-project/pharo/pull/415
> Diff URL: https://github.com/pharo-project/pharo/pull/415/files
>
> Thanks to guillep
>
> * 20155-Browse-implementers-of-in-Nautilus-doesnt-parse-
> source-code-properly-for-methods-in-a-block
> >> Fixes 20155 using a modificaton of teh code in the Bug report.
> The second commit removes what appears to be dead code; if this one
> casues trouble, it oculd be dropped. (Since the removed methods send
> unimplemented messages, they are unlikely to help!)
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20155
> PR URL: https://github.com/pharo-project/pharo/pull/410
> Diff URL: https://github.com/pharo-project/pharo/pull/410/files
>
> Thanks to apblack
>
> * 20609-defaultBackgroundColor-should-be-removed-from-Object
> >> move defaultBackgroundColor from Object to Morph
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20609
> PR URL: https://github.com/pharo-project/pharo/pull/414
> Diff URL: https://github.com/pharo-project/pharo/pull/414/files
>
> Thanks to dionisiydk
>
> * 20577-Cleanup-Object-inspection-protocol
> >> replace #explore users with #inspect.
> >> move inspectorClass and Object>>inspector into Spec-Inspector
> >> Object>>explore is deprecated
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20577
> PR URL: https://github.com/pharo-project/pharo/pull/413
> Diff URL: https://github.com/pharo-project/pharo/pull/413/files
>
> Thanks to dionisiydk
>
> * 18391-Debugger must guard against actions on process termination
> >> added guards so the debugger doesn't send stepping messages to
> nil contexts. (This was the cause of the freezing because it would
> loop until the context was dead).
> >>
> >> Now the debugger closes when we are stepping out of a
> 'terminal' context instead of showing a 'nil doesNotUnderstand:
> isDead' exception. (It notifiies the user through an inform that the
> debugging session is finished)
>
> Issue URL: https://pharo.fogbugz.com/f/cases/18391
> PR URL: https://github.com/pharo-project/pharo/pull/409
> Diff URL: https://github.com/pharo-project/pharo/pull/409/files
>
> Thanks to Marmat21
>
> * 20576-add-simplified-DADependenciesHTMLPublisher
> >> https://pharo.fogbugz.com/f/cases/20576/add-simplified-
> DADependenciesHTMLPublisher
> >>
> >> add DADependenciesHTMLPublisher from
> Tool-DependencyAnalyser-HTMLReport-ChristopheDemarey.1.mcz
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20576
> PR URL: https://github.com/pharo-project/pharo/pull/388
> Diff URL: https://github.com/pharo-project/pharo/pull/388/files
>
> Thanks to pavel-krivanek
>
> * 20547-missing-assertidenticalTo-and-denyidenticalTo-object-
> identity-equality
> >> https://pharo.fogbugz.com/f/cases/20547/missing-assert-
> identicalTo-and-deny-identicalTo-object-identity-equality
> >>
> >> add assert:identicalTo: and deny:identicalTo:
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20547
> PR URL: https://github.com/pharo-project/pharo/pull/368
> Diff URL: https://github.com/pharo-project/pharo/pull/368/files
>
> Thanks to pavel-krivanek
>
> * 20604-Metacello-Platform-is-dependent-on-Metacello-Bitbucket
> >> https://pharo.fogbugz.com/f/cases/20604/Metacello-
> Platform-is-dependent-on-Metacello-Bitbucket
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20604
> PR URL: https://github.com/pharo-project/pharo/pull/406
> Diff URL: https://github.com/pharo-project/pharo/pull/406/files
>
> Thanks to pavel-krivanek
>
> * 20615-add-packages-for-MetacelloCommandLineHander-into-baselines
> >> https://pharo.fogbugz.com/f/cases/20615/add-packages-for-
> MetacelloCommandLineHander-into-baselines
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20615
> PR URL: https://github.com/pharo-project/pharo/pull/421
> Diff URL: https://github.com/pharo-project/pharo/pull/421/files
>
> Thanks to pavel-krivanek
>
> * 20581-Manually-resolved-dependencies-in-manifests-need-update
> >> https://pharo.fogbugz.com/f/cases/20581/Manually-resolved-
> dependencies-in-manifests-need-update
> >>
> >> update manually resolved dependencies
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20581
> PR URL: https://github.com/pharo-project/pharo/pull/391
> Diff URL: https://github.com/pharo-project/pharo/pull/391/files
>
> Thanks to pavel-krivanek
>
> * 12160-Should-we-move-asUrl-to-Zinc-package
> >> https://pharo.fogbugz.com/f/cases/12160/Should-we-move-
> asUrl-to-Zinc-package
>
> Issue URL: https://pharo.fogbugz.com/f/cases/12160
> PR URL: https://github.com/pharo-project/pharo/pull/418
> Diff URL: https://github.com/pharo-project/pharo/pull/418/files
>
> Thanks to pavel-krivanek
>
> * 20584-SortFunction-should-not-use-block-in-collator
> >> SortFunction is now abstract. It is refactored and splitted on
> two extra subclasses:
> >> SortByPropertyFunction to collate objects using property
> defined by selector or one arg block.
> >> PluggableSortFunction represents collator using two args block.
> >>
> >>
> >> So subclasses implement single method #threeWayCompare:with:
> where they define own collarion logic independently from specified
> direction.
> >> Old method #collate:with is now main method which taks into
> account three way comparison and direction. Subclasses do not supposed
> to redefine it.
> >> And #value:value: method just convert collation result into
> the bool (returns is it negative or not).
> >> All functions implements #= and #hash methods. So selector
> based functions can be used in application caches.
> >> Also now applications are able to implement own sort functions
> instead of using selectors or blocks which improves reusability.
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20584
> PR URL: https://github.com/pharo-project/pharo/pull/412
> Diff URL: https://github.com/pharo-project/pharo/pull/412/files
>
> Thanks to dionisiydk
>
> * 20602 file locator local directory should be inside image directory
> >> UserLocalDirectory should be placed in imageDirectory by default.
> >>
> >> https://pharo.fogbugz.com/f/cases/20602/FileLocator-
> localDirectory-should-be-inside-image-directory
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20602 file locator
> local directory should be inside image directory
> PR URL: https://github.com/pharo-project/pharo/pull/419
> Diff URL: https://github.com/pharo-project/pharo/pull/419/files
>
> Thanks to dionisiydk
>
> * 20613-Improve-some-UUID-comments
> >> Improve some UUID comments
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20613
> PR URL: https://github.com/pharo-project/pharo/pull/420
> Diff URL: https://github.com/pharo-project/pharo/pull/420/files
>
> Thanks to svenvc
>
> * 20598 update configuration command line handler to use metacello
> >> A first implementation of a CommandLineHandler for Metacello.
> >>
> >> It provides the ability to install projects using
> Configuration or Baseline.
> >>
> >> It comes with unit tests.
> >>
> >> After a discussion with @Ducasse , the
> ConfigurationCommandLineHandler was not modified in order to not break
> scripts using it. It should be deprecated once this handler provides
> enough features.
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20598 update
> configuration command line handler to use metacello
> PR URL: https://github.com/pharo-project/pharo/pull/416
> Diff URL: https://github.com/pharo-project/pharo/pull/416/files
>
> Thanks to juliendelplanque
>
> * 20610-Class-comments-displaying-is-failing-
> >> https://pharo.fogbugz.com/f/cases/20610/Class-comments-
> displaying-is-failing
> >>
> >> fix RubCommentAnnotationDisplayer>>#fontToUse
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20610
> PR URL: https://github.com/pharo-project/pharo/pull/417
> Diff URL: https://github.com/pharo-project/pharo/pull/417/files
>
> Thanks to pavel-krivanek
>
> * 20592-SizeInMemory-is-not-updated-to-handle-32-and-64-
> bits-for-WordLayout
> >> Fixing sizeInMemory to handle properly WordLayout objects.
> >> Also fixing the tests to handle both 32 and 64 bits.
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20592
> PR URL: https://github.com/pharo-project/pharo/pull/400
> Diff URL: https://github.com/pharo-project/pharo/pull/400/files
>
> Thanks to tesonep
>
> * 20587-remove-UIThemeWatery
> >> https://pharo.fogbugz.com/f/cases/20587-remove-UIThemeWatery
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20587
> PR URL: https://github.com/pharo-project/pharo/pull/395
> Diff URL: https://github.com/pharo-project/pharo/pull/395/files
>
> Thanks to pavel-krivanek
>
> * 20551-Improve-way-how-Spec-presenters-are-linked-with-domain-models
> >> https://pharo.fogbugz.com/f/cases/20551/Improve-way-how-
> Spec-presenters-are-linked-with-domain-models
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20551
> PR URL: https://github.com/pharo-project/pharo/pull/374
> Diff URL: https://github.com/pharo-project/pharo/pull/374/files
>
> Thanks to pavel-krivanek
>
> * 20600 rename opal compiler encoder from opal encoder to encoder
> >> This can be tested through a boostrap, or by using this do it
> instead of loading the changes:
> >> OpalEncoder withAllSubclassesDo: [ :sub | sub rename: (sub
> name allButFirst: 4)].
> >>
> >> This cannot be tested through merge (Changes in the kernel).
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20600 rename opal
> compiler encoder from opal encoder to encoder
> PR URL: https://github.com/pharo-project/pharo/pull/404
> Diff URL: https://github.com/pharo-project/pharo/pull/404/files
>
> Thanks to clementbera
>
> * 19609-FileReferencebase-should-be-before-last-separator
> >> https://pharo.fogbugz.com/f/cases/19609/FileReference-
> base-should-be-before-last-separator
>
> Issue URL: https://pharo.fogbugz.com/f/cases/19609
> PR URL: https://github.com/pharo-project/pharo/pull/137
> Diff URL: https://github.com/pharo-project/pharo/pull/137/files
>
> Thanks to pavel-krivanek
>
> * 19746-WeakValueDictionary-has-counter-intuitive-behavior
> >> https://pharo.fogbugz.com/f/cases/19746/WeakValueDictionary-has-
> counter-intuitive-behavior
>
> Issue URL: https://pharo.fogbugz.com/f/cases/19746
> PR URL: https://github.com/pharo-project/pharo/pull/140
> Diff URL: https://github.com/pharo-project/pharo/pull/140/files
>
> Thanks to pavel-krivanek
>
> * 20606-AlienSunitperformTest-is-failing
> >> https://pharo.fogbugz.com/f/cases/20606/AlienSunit-
> performTest-is-failing
> >>
> >> ignore prefix
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20606
> PR URL: https://github.com/pharo-project/pharo/pull/408
> Diff URL: https://github.com/pharo-project/pharo/pull/408/files
>
> Thanks to pavel-krivanek
>
> * 20595-The-Bootstrap-process-should-log-the-command-line-
> command-executed
> >> Adding the trace option to the bash scripts
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20595
> PR URL: https://github.com/pharo-project/pharo/pull/402
> Diff URL: https://github.com/pharo-project/pharo/pull/402/files
>
> Thanks to tesonep
>
> * 20537 Better class tagging in package ProfStef-Tests-Traits
> >> - add some tags like "Mocks", "Traits" and "Tests" to the
> package "ProfStef-Tests-Traits"
> >> and move the classes into them so we better group them for
> browsing
> >>
> >> https://pharo.fogbugz.com/f/cases/20537/Better-class-
> tagging-in-package-ProfStef-Tests-Traits
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20537 Better class
> tagging in package ProfStef
> PR URL: https://github.com/pharo-project/pharo/pull/359
> Diff URL: https://github.com/pharo-project/pharo/pull/359/files
>
> Thanks to astares
>
> * 20597 Rename-old-Compiler-encoder-to-LegacyEncoders
> >> ⦠Encoders (aka the OpalEncoders) to be named Encoder, and the
> old compiler encoder nobody use to be called whatever people want (I
> name them legacyEncoder).
> >>
> >> Since EncoderForLongForV3 has never worked, and
> EncoderForSistaV1 is not compliant with the old compiler version
> present in Pharo, I also remove them.
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20597 Rename
> PR URL: https://github.com/pharo-project/pharo/pull/403
> Diff URL: https://github.com/pharo-project/pharo/pull/403/files
>
> Thanks to clementbera
>
> * 20578-add-BaselineOfMonticello-and-BaselineOfMetacello
> >> https://pharo.fogbugz.com/f/cases/20578/add-
> BaselineOfMonticello-and-BaselineOfMetacello
> >>
> >> - add package Metacello-PharoExtensions
> >> - move class side utility methods from
> BaselineOfPharoBootstrap there for general use
> >> - add BaselineOfMonticello
> >> - add BaselineOfMetacello
> >> - list them in BaselineOfIDE to have them in the image
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20578
> PR URL: https://github.com/pharo-project/pharo/pull/389
> Diff URL: https://github.com/pharo-project/pharo/pull/389/files
>
> Thanks to pavel-krivanek
>
> * 20583-introduce-system-dependencies-test
> >> https://pharo.fogbugz.com/f/cases/20583/introduce-system-
> dependencies-test
> >>
> >> introduce SystemDependenciesTest
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20583
> PR URL: https://github.com/pharo-project/pharo/pull/393
> Diff URL: https://github.com/pharo-project/pharo/pull/393/files
>
> Thanks to pavel-krivanek
>
> * [Bug]: Fix Issue 16136 - DateModel: Handle nil Sanely
> >> I've been using this fix in production for two years, so it
> should be relatively reliable
>
> Issue URL: https://pharo.fogbugz.com/f/cases/[Bug]: Fix Issue 16136
> PR URL: https://github.com/pharo-project/pharo/pull/394
> Diff URL: https://github.com/pharo-project/pharo/pull/394/files
>
> Thanks to seandenigris
>
> * 20567-Instance-side-LayoutFramefractions-fractionsOrNil-offsets-should-
> be-deprecated
> >> Fixed all the missing users and deprecate these methods!!!
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20567
> PR URL: https://github.com/pharo-project/pharo/pull/386
> Diff URL: https://github.com/pharo-project/pharo/pull/386/files
>
> Thanks to Ducasse
>
> * 20596-Zinc-should-not-use-asBytesDescription-as-it-is-deprecated
> >> Zinc is using #asBytesDescription. It should not be used as it
> is deprecated.
> >> This error is affecting all the users of Zinc. Ex: Smalltalk CI
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20596
> PR URL: https://github.com/pharo-project/pharo/pull/401
> Diff URL: https://github.com/pharo-project/pharo/pull/401/files
>
> Thanks to tesonep
>
> * 20026-Diff-has-incorrect-positions-red-and-green-colors-of-changed-text
> >> The patch difference should have the cr character. If the
> patch has multiple lines and it does not have the CR, the resulting
> highlight is shifted a character per line.
> >>
> >> Issue: [https://pharo.fogbugz.com/f/cases/resolve/20026/Diff-has-
> incorrect-positions-red-and-green-colors-of-changed-text](
> https://pharo.fogbugz.com/f/cases/resolve/20026/Diff-has-
> incorrect-positions-red-and-green-colors-of-changed-text)
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20026
> PR URL: https://github.com/pharo-project/pharo/pull/396
> Diff URL: https://github.com/pharo-project/pharo/pull/396/files
>
> Thanks to tesonep
>
> * 20569-Update-Layout-class-comment
> >> better class comment
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20569
> PR URL: https://github.com/pharo-project/pharo/pull/385
> Diff URL: https://github.com/pharo-project/pharo/pull/385/files
>
> Thanks to Ducasse
>
> * 20557-Update-Zinc-and-Zodiac
> >> https://pharo.fogbugz.com/f/cases/20557/Update-Zinc-and-Zodiac
> >>
> >> merge packages:
> >> Zodiac-Tests-SvenVanCaekenberghe.18
> >> Zinc-Character-Encoding-Core-SvenVanCaekenberghe.54
> >> Zinc-Character-Encoding-Tests-SvenVanCaekenberghe.35
> >> Zinc-HTTP-SvenVanCaekenberghe.469
> >> Zinc-Resource-Meta-Core-SvenVanCaekenberghe.65
> >> Zinc-Resource-Meta-Tests-SvenVanCaekenberghe.38
> >> Zinc-Tests-SvenVanCaekenberghe.243
> >> Zinc-Zodiac-SvenVanCaekenberghe.40
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20557
> PR URL: https://github.com/pharo-project/pharo/pull/379
> Diff URL: https://github.com/pharo-project/pharo/pull/379/files
>
> Thanks to pavel-krivanek
>
> * 20580-ValueChanged-should-be-moved-to-System-Model
> >> https://pharo.fogbugz.com/f/cases/20580/ValueChanged-
> should-be-moved-to-System-Model
> >>
> >> move ValueChanged to the package System-Model
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20580
> PR URL: https://github.com/pharo-project/pharo/pull/390
> Diff URL: https://github.com/pharo-project/pharo/pull/390/files
>
> Thanks to pavel-krivanek
>
> * 20575-TextMorph-cannot-work-without-code-completion-temporary-solution
> >> https://pharo.fogbugz.com/f/cases/20575/TextMorph-cannot-
> work-without-code-completion-temporary-solution
> >>
> >> safer access to code completion
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20575
> PR URL: https://github.com/pharo-project/pharo/pull/387
> Diff URL: https://github.com/pharo-project/pharo/pull/387/files
>
> Thanks to pavel-krivanek
>
> * 20573-BaselineOfMorphic-should-include-System-Identification
> >> https://pharo.fogbugz.com/f/cases/20573/BaselineOfMorphic-
> should-include-System-Identification
> >>
> >> move System-Identification to the BaselineOfMorphic
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20573
> PR URL: https://github.com/pharo-project/pharo/pull/384
> Diff URL: https://github.com/pharo-project/pharo/pull/384/files
>
> Thanks to pavel-krivanek
>
> * 20546-There-is-no-denyequals-method-in-TestCase-
> >> https://pharo.fogbugz.com/f/cases/20546
> >>
> >> - simulate TAssertable flattening
> >> - use different unexpected equality error message
> >> - add denyCollection:equals:
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20546
> PR URL: https://github.com/pharo-project/pharo/pull/366
> Diff URL: https://github.com/pharo-project/pharo/pull/366/files
>
> Thanks to pavel-krivanek
>
> * 20560-Fix-instance-veriables-for-Spec-presenters-ending-with--model
> >> https://pharo.fogbugz.com/f/cases/20560/Fix-instance-
> veriables-for-Spec-presenters-ending-with-model
> >>
> >> fix some presenters instance veriables with wrong names
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20560
> PR URL: https://github.com/pharo-project/pharo/pull/381
> Diff URL: https://github.com/pharo-project/pharo/pull/381/files
>
> Thanks to pavel-krivanek
>
> * 20564-Spec-Core-must-be-Morphic-independent
> >> https://pharo.fogbugz.com/f/cases/20564/Spec-Core-must-be-
> Morphic-independent
>
> Issue URL: https://pharo.fogbugz.com/f/cases/20564
> PR URL: https://github.com/pharo-project/pharo/pull/383
> Diff URL: https://github.com/pharo-project/pharo/pull/383/files
>
> Thanks to pavel-krivanek
>
>
--
Guille Polito
Research Engineer
Centre de Recherche en Informatique, Signal et Automatique de Lille
CRIStAL - UMR 9189
French National Center for Scientific Research - *http://www.cnrs.fr
<http://www.cnrs.fr>*
*Web:* *http://guillep.github.io* <http://guillep.github.io>
*Phone: *+33 06 52 70 66 13
Nov. 5, 2017
Re: [Pharo-dev] about SortFunctions
by Nicolas Cellier
2017-11-05 0:56 GMT+01:00 Nicolas Cellier <
nicolas.cellier.aka.nice(a)gmail.com>:
>
>
> 2017-11-05 0:37 GMT+01:00 Nicolas Cellier <nicolas.cellier.aka.nice@
> gmail.com>:
>
>> Hi all,
>> I started a discussion with Denis in a pull request
>> https://github.com/pharo-project/pharo/pull/430
>> But since it's going beyond simple code review, it probably has a better
>> place here.
>>
>> First, I want to say thanks for enriching this original work of Travis
>> Griggs.
>> http://objology.blogspot.fr/2010/11/tag-sortfunctions-redux.html
>> http://objology.blogspot.fr/2010/11/tag-sortfunctions.html
>> <http://objology.blogspot.fr/2010/11/tag-sortfunctions-redux.html>
>>
>> Of course, I'm never satisfied.
>> So I don't really appreciate the rewrite of space ship operator <=> into
>> a more heavy threeWayCompareTo:
>>
>> In my eyes, it's so obvious that <=> means < or = or > in the context of
>> SortFunction
>> And also that the order matches the signs
>> < = >
>> -1 0 1
>> IOW result will be -1 if receiver is <, 0 if equal, +1 if superior
>>
>> #threeWayCompareTo: does not tell as well.
>> But maybe It's a question of taste and I don't have the same eyes as
>> Pharo people?
>> To me it's also a question of respect to the original author, don't
>> change a good selector for the sake of changing.
>>
>> Apart this detail, I wanted to speak about SortByPropertyFunction.
>> SortByProperty is super usefull for composing / chaining like this:
>>
>> population sortBy: #name ascending , #age descending.
>>
>> But currently, SortByPropertyFunction is allways using the default
>> hardcoded collation <=> ... He he, it's also notice it's shorter to write ;)
>>
>> Imagine that my properties are neither String nor Magnitude, or they are,
>> but I want a different collation policy, because in French $é must not be
>> sorted too far from $e.
>>
>> It could be written quite simply with:
>>
>> c sortBy: #name collatedInFrench ascending , #age descending
>>
>> With current implementation, collatedInFrench would have to use a block
>> (thru a CollatorBlockFunction which is a proxy to the block in a
>> SortFunction disguise):
>>
>> Symbol>>collatedInFrench
>> "interpret self as a property"
>> ^[:a :b | FrenchCollator collate: (self value: a) with: (self
>> value: b)]
>>
>> But IMO SortByPropertyFunction should better feed a reified
>> CollatorFunction, or said differently a SortFunction, as Denis said.
>>
>> Symbol>>collatedInFrench
>> ^FrenchCollator new onProperty: self
>>
>> SortFunction>>onProperty: aValuable
>> ^SortByPropertyFunction sortProperty: aValuable with: self
>>
>> What do you think?
>>
>> Nicolas
>>
>>
> Also, by reading https://github.com/pharo-project/pharo/blob/
> cf0b77a3d0babf9b09bcec9926e5a5faaffe7580/src/SortFunctions-
> Core/SortByPropertyFunction.class.st
> it's now obvious to me that we should simply use an UndefinedCollator
> wrapper if ever we want to sort undefined properties first or last.
>
> We should better work with composition rather than complexifying each
> class.
>
> SortFunction>>undefinedFirst
> ^UndefinedSorter ascending , self
>
> UndefinedSorter>> collate: value1 with: value2
> "sort all nil according to the direction (first if -1, last if +1),
> then"
> value1 ifNil: [value2 ifNil: [^0] ifNotNil: [^direction]].
> value2 ifNil: [^direction negated] ifNotNil: [^0]].
>
>
>
Ah, I messed up, UndefinedSorter must not be chained, it must be a wrapper!
Otherwise comparing to nil will resort to sorting by properties and fail...
SortFunction>>undefinedFirst
^UndefinedSorter descending wrap: self
UndefinedSorter>> collate: value1 with: value2
"sort all nil according to the direction (first if -1, last if +1),
then"
value1 ifNil: [value2 ifNil: [^0] ifNotNil: [^direction]].
value2 ifNil: [^direction negated].
^sorterForNonNil collate: value1 with: value2
It's important to have the UndefinedSorter :
- decoupled from property sort, because it can be generally usefull
- collating 2 nil as 0, so that another property can be chained
In
people sortBy: #name ascending undefinedFirst , #age descending
we could then have people with name nil still sorted by age, what is not
possible with current implementation
Nov. 5, 2017