Eliot Miranda uploaded a new version of Kernel to project The Trunk: http://source.squeak.org/trunk/Kernel-eem.1528.mcz
==================== Summary ====================
Name: Kernel-eem.1528 Author: eem Time: 2 October 2023, 1:46:30.854649 pm UUID: 2d331a30-1cdc-4e20-9f8e-491cf19b43c2 Ancestors: Kernel-mt.1527
allLiteralsDo: and literalEqual: belong in Kernel, not in Collections. Rename Array & LookupKey's literals category to move it to Kernel.
=============== Diff against Kernel-mt.1527 ===============
Item was added: + ----- Method: Array>>allLiteralsDo: (in category '*Kernel-literals') ----- + allLiteralsDo: aBlock + + "I am a literal." + aBlock value: self. + + "All my elements are literals." + self do: [:each | each allLiteralsDo: aBlock].!
Item was added: + ----- Method: Array>>literalEqual: (in category '*Kernel-literals') ----- + literalEqual: other + + self class == other class ifFalse: [^ false]. + self size = other size ifFalse: [^ false]. + self with: other do: [:e1 :e2 | + (e1 literalEqual: e2) ifFalse: [^ false]]. + ^ true!
Item was added: + ----- Method: LookupKey>>allLiteralsDo: (in category '*Kernel-literals') ----- + allLiteralsDo: aBlock + "Treat myself or my key as literal. Do not treat any value (i.e., in Association or Binding) as literal to avoid decending too thoroughly. As a consequence, for example, classes have to be resolved to their class bindings or class names before using them as input in this interface." + + aBlock value: self. + self key allLiteralsDo: aBlock.!
Item was added: + ----- Method: LookupKey>>literalEqual: (in category '*Kernel-literals') ----- + literalEqual: otherLiteral + "Answer true if the receiver and otherLiteral represent the same literal. + + By default, all lookup keys (such as variable bindings) are literally equal only if identical. This is how variable sharing works, by preserving identity and changing only the value. + + Override if you want to be more flexible such as in class bindings." + + ^ self == otherLiteral!
packages@lists.squeakfoundation.org