HOT-FIX: Support GitHub Personal Access Tokens. This was already merged in
Pharo9 before.
Work continues: some small improvements (e.g. primitve error variables) and cleanups
MetaLinks-Cleanup-Variables2 #7742
https://github.com/pharo-project/pharo/pull/7742
Variables defined with #primitive:error: are shown as undefined, fixes 7748 #7749
https://github.com/pharo-project/pharo/pull/7749
Cleanup-SystemDictionary-varlookup #7746
https://github.com/pharo-project/pharo/pull/7746
7731-OCUndeclaredVariableWarning-isUninitialized-with-NonInteractiveUIManager #7745
https://github.com/pharo-project/pharo/pull/7745
DoItVariable instead of ForeignVariable and tests #7710
https://github.com/pharo-project/pharo/pull/7710
Some cleanups... all literals added as literals
are read only, no special code needed anymore.
Compiler-compile-all-Literals-readOnly #7631
https://github.com/pharo-project/pharo/pull/7631
#isReadOnlyLiteral is not needed anymore #7767
https://github.com/pharo-project/pharo/pull/7767
7740-CI-32bit-testIsImmediateObject #7744
https://github.com/pharo-project/pharo/pull/7744
Add support for creating OpenGL ES contexts #7750
https://github.com/pharo-project/pharo/pull/7750
Disable the dpi based computation screen scale factor computation in OS X #7747
https://github.com/pharo-project/pharo/pull/7747
7755 re excessive arguments rule should exclude ffi callouts
https://github.com/pharo-project/pharo/pull/7757
ReLiteralArrayContainsCommaRule should ignore all UFFI selectors #7754
https://github.com/pharo-project/pharo/pull/7754
Allow catalog json to be served from GitHub and other #7738
https://github.com/pharo-project/pharo/pull/7738
Duplicate API from Behavior to RGBehavior. #7743
https://github.com/pharo-project/pharo/pull/7743
And lots of small cleanups. As always, these are not important
in itself as single items. But over time, taking them all together, they do matter.
Move ReAsClassRule to GeneralRules #7759
https://github.com/pharo-project/pharo/pull/7759
5457-environmentKeyNotFound-looks-deadcode #7773
https://github.com/pharo-project/pharo/pull/7773
ObjectsAsMethodsTest-move-to-Kernel-Tests #7762
https://github.com/pharo-project/pharo/pull/7762
DeadCode-Cleanup-Finder #7734
https://github.com/pharo-project/pharo/pull/7734
FFICompilerPlugin-Simpler #7726
https://github.com/pharo-project/pharo/pull/7726
Small cleanup on ReMissingSuperSendsRule #7761
https://github.com/pharo-project/pharo/pull/7761
Typo in RGBehaviorDefinition>>#soleInstance #7752
https://github.com/pharo-project/pharo/pull/7752
Another cleanup pass on DoubleLinkedList package #7736
https://github.com/pharo-project/pharo/pull/7736
Cleanup System-Support-Tests #7729
https://github.com/pharo-project/pharo/pull/7729
BaseStreamTest had just one subclass. Move the tests there and remove… #7739
https://github.com/pharo-project/pharo/pull/7739
NautilusRefactoring-DeadcodeClean #7723
https://github.com/pharo-project/pharo/pull/7723
Introduce package Collections-Sequenceable-Tests #7719
https://github.com/pharo-project/pharo/pull/7719
Move-isHaltNode-to-AST #7765
https://github.com/pharo-project/pharo/pull/7765
Question: are these mails interesting? Do they have enough information added to
have value?
On 20 Nov 2020, at 11:23, Marcus Denker marcus.denker@inria.fr wrote:
HOT-FIX: Support GitHub Personal Access Tokens. This was already merged in
Pharo9 before.
Work continues: some small improvements (e.g. primitve error variables) and cleanups
MetaLinks-Cleanup-Variables2 #7742
https://github.com/pharo-project/pharo/pull/7742
Variables defined with #primitive:error: are shown as undefined, fixes 7748 #7749
https://github.com/pharo-project/pharo/pull/7749
Cleanup-SystemDictionary-varlookup #7746
https://github.com/pharo-project/pharo/pull/7746
7731-OCUndeclaredVariableWarning-isUninitialized-with-NonInteractiveUIManager #7745
https://github.com/pharo-project/pharo/pull/7745
DoItVariable instead of ForeignVariable and tests #7710
https://github.com/pharo-project/pharo/pull/7710
Some cleanups... all literals added as literals
are read only, no special code needed anymore.
Compiler-compile-all-Literals-readOnly #7631
https://github.com/pharo-project/pharo/pull/7631
#isReadOnlyLiteral is not needed anymore #7767
https://github.com/pharo-project/pharo/pull/7767
7740-CI-32bit-testIsImmediateObject #7744
https://github.com/pharo-project/pharo/pull/7744
Add support for creating OpenGL ES contexts #7750
https://github.com/pharo-project/pharo/pull/7750
Disable the dpi based computation screen scale factor computation in OS X #7747
https://github.com/pharo-project/pharo/pull/7747
7755 re excessive arguments rule should exclude ffi callouts
https://github.com/pharo-project/pharo/pull/7757
ReLiteralArrayContainsCommaRule should ignore all UFFI selectors #7754
https://github.com/pharo-project/pharo/pull/7754
Allow catalog json to be served from GitHub and other #7738
https://github.com/pharo-project/pharo/pull/7738
Duplicate API from Behavior to RGBehavior. #7743
https://github.com/pharo-project/pharo/pull/7743
And lots of small cleanups. As always, these are not important
in itself as single items. But over time, taking them all together, they do matter.
Move ReAsClassRule to GeneralRules #7759
https://github.com/pharo-project/pharo/pull/7759
5457-environmentKeyNotFound-looks-deadcode #7773
https://github.com/pharo-project/pharo/pull/7773
ObjectsAsMethodsTest-move-to-Kernel-Tests #7762
https://github.com/pharo-project/pharo/pull/7762
DeadCode-Cleanup-Finder #7734
https://github.com/pharo-project/pharo/pull/7734
FFICompilerPlugin-Simpler #7726
https://github.com/pharo-project/pharo/pull/7726
Small cleanup on ReMissingSuperSendsRule #7761
https://github.com/pharo-project/pharo/pull/7761
Typo in RGBehaviorDefinition>>#soleInstance #7752
https://github.com/pharo-project/pharo/pull/7752
Another cleanup pass on DoubleLinkedList package #7736
https://github.com/pharo-project/pharo/pull/7736
Cleanup System-Support-Tests #7729
https://github.com/pharo-project/pharo/pull/7729
BaseStreamTest had just one subclass. Move the tests there and remove… #7739
https://github.com/pharo-project/pharo/pull/7739
NautilusRefactoring-DeadcodeClean #7723
https://github.com/pharo-project/pharo/pull/7723
Introduce package Collections-Sequenceable-Tests #7719
https://github.com/pharo-project/pharo/pull/7719
Move-isHaltNode-to-AST #7765
https://github.com/pharo-project/pharo/pull/7765
Marcus Denker-4 wrote
Question: are these mails interesting? Do they have enough information
added to
have value?
Yes! Please continue. I like that they are brief because too much detail can
be overwhelming and we can always ask questions about items that seem
interesting. IHMO the only extra info worth adding (if there's ever the
time) is the "why" - motivation and summaries of internal discussions that
we wouldn't understand just by looking at the commits...
Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html
Indeed, posting these emails is useful. It helps keeping us posted about the ongoing progress of Pharo.
I like they are grouped by topic, so it makes easier to get what it's about. Sean's suggestion would indeed understand more. Though I expect it will require more time/effort to write. Moreover, these emails are already long. I'm affraid they'll become way too long.
A solution that mixes both might be posting more often updates. But, again I expect it to be time consuming.
Thanks again Marcus and all Pharo core team,
Noury
On Nov 20 2020, at 5:25 pm, Sean P. DeNigris sean@clipperadams.com wrote:
Marcus Denker-4 wrote
Question: are these mails interesting? Do they have enough information
added to
have value?
Yes! Please continue. I like that they are brief because too much detail can
be overwhelming and we can always ask questions about items that seem
interesting. IHMO the only extra info worth adding (if there's ever the
time) is the "why" - motivation and summaries of internal discussions that
we wouldn't understand just by looking at the commits...
Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html
On 21 Nov 2020, at 10:14, Noury Bouraqadi bouraqadi@gmail.com wrote:
Indeed, posting these emails is useful. It helps keeping us posted about the ongoing progress of Pharo.
I like they are grouped by topic, so it makes easier to get what it's about. Sean's suggestion would indeed understand more. Though I expect it will require more time/effort to write. Moreover, these emails are already long. I'm affraid they'll become way too long.
A solution that mixes both might be posting more often updates. But, again I expect it to be time consuming.
Yes, writing for real takes effort…
E.g. last week I did a trivial PR after I got annoyed about seeing too many ivars tat are not used and did a first step (mostly a skipped test):
Cleanup-Unused-Ivars #7780
https://github.com/pharo-project/pharo/pull/7780
But then I realised that the core of the test:
variables := Smalltalk globals allBehaviors flatCollect: [ :each | each instanceVariables ].
variables := variables reject: [ :each | each isReferenced ].
variables := variables collect: [ :each | each definingClass ] as: Set.
actually is more interesting then being just a trivial test for a trivial cleanup… In the end it is trivial, but it is as an example for why
things like turning variables into objects is interesting:
=======
As you might be aware, we added to Pharo the concept of “Firsts class Variables” that is, there is a meta object for every variable in the system.
Historically, even though you might think that “everything is an Object” in Smalltalk, the memory constraints that existed when ST80 was created did not make reifying everything possible. Even today, this has to be done with care: for example, instances of TempVariable are only created on demand in Pharo.
As for ST80: Instance Variables are one example of things that are not Objects: The only thing that we have are the names (that is, strings) of the instance variables defined by a class. The order is fixed so that the offset of the variables in the list of all instance variable of the class hierarchy actually is the offset that the bytecode uses to access this variable.
Thus all code dealing with Variables tend to be formulated quite “low level”. It exposes a lot of implementation details: you need to find names, then the offset, then use a low level bytecode scanning method to check if a method accesses this offset.
So how do “First Class” Variables improve the situation? Let’s see what we have to do to find all classes that define an instance variable that is not accessed.
Read more: https://blog.marcusdenker.de/finding-unused-variables-an-example-for-first-class-variables