Eliot Miranda uploaded a new version of Collections to project The Trunk: http://source.squeak.org/trunk/Collections-eem.992.mcz
==================== Summary ====================
Name: Collections-eem.992 Author: eem Time: 1 March 2022, 12:39:53.850609 pm UUID: 677dd86e-ae58-41d3-b125-af837d2cdb61 Ancestors: Collections-mt.991
Add some missing features to the imfamous postcard.
=============== Diff against Collections-mt.991 ===============
Item was changed: ----- Method: Text class>>codeSample (in category 'filler text') ----- codeSample
^ 'exampleWithNumber: x "A method that illustrates every part of Smalltalk method syntax including primitives. It has unary, binary, and keyboard messages, declares arguments and temporaries, accesses a global variable + (but not an instance variable), uses literals (array, character, symbol, + string, integer, float, byte array), uses the pseudo variables nil, true, + false, self, super, and thisContext, shows that within a literal array + nil, true and false are symbols not pseudo variables, and has sequence, + assignment, return, cascade, and tuple (array) creation. It has both + zero argument and one argument blocks, and has a block temporary." - (but not an instance variable), uses literals (array, character, - symbol, string, integer, float), uses the pseudo variables true, - false, nil, self, and super, and has sequence, assignment, return - and cascade. It has both zero argument and one argument blocks." <primitive: ''primitiveCopyBits'' module: #BitBltPlugin error: ec> | y | true & false not & (nil isNil) ifFalse: [self halt]. y := self size + super size. + #($a #a ''a'' "a" 1 1.0 nil true false), { #[65]. thisContext. nil. true. false } + do: [ :each | | class | + class := each class. - #($a #a ''a'' "a" 1 1.0) - do: [ :each | Transcript + show: (class name); - show: (each class name); show: '' '']. ^ x < y'!
:-D
Am 01.03.2022 21:40:06 schrieb commits@source.squeak.org commits@source.squeak.org: Eliot Miranda uploaded a new version of Collections to project The Trunk: http://source.squeak.org/trunk/Collections-eem.992.mcz
==================== Summary ====================
Name: Collections-eem.992 Author: eem Time: 1 March 2022, 12:39:53.850609 pm UUID: 677dd86e-ae58-41d3-b125-af837d2cdb61 Ancestors: Collections-mt.991
Add some missing features to the imfamous postcard.
=============== Diff against Collections-mt.991 ===============
Item was changed: ----- Method: Text class>>codeSample (in category 'filler text') ----- codeSample
^ 'exampleWithNumber: x "A method that illustrates every part of Smalltalk method syntax including primitives. It has unary, binary, and keyboard messages, declares arguments and temporaries, accesses a global variable + (but not an instance variable), uses literals (array, character, symbol, + string, integer, float, byte array), uses the pseudo variables nil, true, + false, self, super, and thisContext, shows that within a literal array + nil, true and false are symbols not pseudo variables, and has sequence, + assignment, return, cascade, and tuple (array) creation. It has both + zero argument and one argument blocks, and has a block temporary." - (but not an instance variable), uses literals (array, character, - symbol, string, integer, float), uses the pseudo variables true, - false, nil, self, and super, and has sequence, assignment, return - and cascade. It has both zero argument and one argument blocks."
| y | true & false not & (nil isNil) ifFalse: [self halt]. y := self size + super size. + #($a #a ''a'' "a" 1 1.0 nil true false), { #[65]. thisContext. nil. true. false } + do: [ :each | | class | + class := each class. - #($a #a ''a'' "a" 1 1.0) - do: [ :each | Transcript + show: (class name); - show: (each class name); show: '' '']. ^ x < y'!
On 2022-03-01, at 10:59 PM, Marcel Taeumel marcel.taeumel@hpi.de wrote:
:-D
<image.png>
Now *that* is a proper font for Smalltalk programming
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Strange OpCodes: LC: Lobotomize CPU
Hi Marcel,
On Tue, Mar 1, 2022 at 10:59 PM Marcel Taeumel marcel.taeumel@hpi.de wrote:
:-D
Off topic, but producing this pointed out what I consider is a severe problem with the new enclose/unenclose protocol. If one has a literal string with embedded single quotes (as one does with codeSample above) and one wants to edit it down to a method (imagine copying the string in codeSmaple into a Workspace to evaluate part of it) then if one selects the first embedded pair of single quotes 'a' (which will be ''a'') and types a single quote, intending to replace the double quote with a single, one now ends up with four quotes. Instead one has to copy a single quote to the copy buffer, select the pair of single quotes and use paste... to paste in the single quote. It's horrible, Try it.
I do things like this fairly frequently. e.g. MethodMassage is a bytecode (dis)assembler framework I use to copy single methods between images without having to import an entire framework. The "interchange" format is an assemblerString, which is an evaluable expression that creates a CompiledMethod. One has to convert from the string with embedded pairs of single quotes to the expression with single quotes.
So for me we either need a way of typing a single quote which does not enclose, or we need a one-off convert to/from literal string which does it for us.
Am 01.03.2022 21:40:06 schrieb commits@source.squeak.org < commits@source.squeak.org>: Eliot Miranda uploaded a new version of Collections to project The Trunk: http://source.squeak.org/trunk/Collections-eem.992.mcz
==================== Summary ====================
Name: Collections-eem.992 Author: eem Time: 1 March 2022, 12:39:53.850609 pm UUID: 677dd86e-ae58-41d3-b125-af837d2cdb61 Ancestors: Collections-mt.991
Add some missing features to the imfamous postcard.
=============== Diff against Collections-mt.991 ===============
Item was changed: ----- Method: Text class>>codeSample (in category 'filler text') ----- codeSample
^ 'exampleWithNumber: x "A method that illustrates every part of Smalltalk method syntax including primitives. It has unary, binary, and keyboard messages, declares arguments and temporaries, accesses a global variable
- (but not an instance variable), uses literals (array, character, symbol,
- string, integer, float, byte array), uses the pseudo variables nil, true,
- false, self, super, and thisContext, shows that within a literal array
- nil, true and false are symbols not pseudo variables, and has sequence,
- assignment, return, cascade, and tuple (array) creation. It has both
- zero argument and one argument blocks, and has a block temporary."
- (but not an instance variable), uses literals (array, character,
- symbol, string, integer, float), uses the pseudo variables true,
- false, nil, self, and super, and has sequence, assignment, return
- and cascade. It has both zero argument and one argument blocks."
| y | true & false not & (nil isNil) ifFalse: [self halt]. y := self size + super size.
- #($a #a ''a'' "a" 1 1.0 nil true false), { #[65]. thisContext. nil.
true. false }
- do: [ :each | | class |
- class := each class.
- #($a #a ''a'' "a" 1 1.0)
- do: [ :each |
Transcript
- show: (class name);
- show: (each class name);
show: '' '']. ^ x < y'!
We don't illustrate some other features yet, though:
#(nesting (arrays ()))
1.2s3
Should we?
Best,
Christoph
________________________________ Von: Squeak-dev squeak-dev-bounces@lists.squeakfoundation.org im Auftrag von commits@source.squeak.org commits@source.squeak.org Gesendet: Dienstag, 1. März 2022 21:39:55 An: squeak-dev@lists.squeakfoundation.org; packages@lists.squeakfoundation.org Betreff: [squeak-dev] The Trunk: Collections-eem.992.mcz
Eliot Miranda uploaded a new version of Collections to project The Trunk: http://source.squeak.org/trunk/Collections-eem.992.mcz
==================== Summary ====================
Name: Collections-eem.992 Author: eem Time: 1 March 2022, 12:39:53.850609 pm UUID: 677dd86e-ae58-41d3-b125-af837d2cdb61 Ancestors: Collections-mt.991
Add some missing features to the imfamous postcard.
=============== Diff against Collections-mt.991 ===============
Item was changed: ----- Method: Text class>>codeSample (in category 'filler text') ----- codeSample
^ 'exampleWithNumber: x "A method that illustrates every part of Smalltalk method syntax including primitives. It has unary, binary, and keyboard messages, declares arguments and temporaries, accesses a global variable + (but not an instance variable), uses literals (array, character, symbol, + string, integer, float, byte array), uses the pseudo variables nil, true, + false, self, super, and thisContext, shows that within a literal array + nil, true and false are symbols not pseudo variables, and has sequence, + assignment, return, cascade, and tuple (array) creation. It has both + zero argument and one argument blocks, and has a block temporary." - (but not an instance variable), uses literals (array, character, - symbol, string, integer, float), uses the pseudo variables true, - false, nil, self, and super, and has sequence, assignment, return - and cascade. It has both zero argument and one argument blocks." <primitive: ''primitiveCopyBits'' module: #BitBltPlugin error: ec> | y | true & false not & (nil isNil) ifFalse: [self halt]. y := self size + super size. + #($a #a ''a'' "a" 1 1.0 nil true false), { #[65]. thisContext. nil. true. false } + do: [ :each | | class | + class := each class. - #($a #a ''a'' "a" 1 1.0) - do: [ :each | Transcript + show: (class name); - show: (each class name); show: '' '']. ^ x < y'!
Yes, please. You can directly group some of literals (and objects) that are already there.
Best, Marcel Am 26.03.2022 15:37:08 schrieb Thiede, Christoph christoph.thiede@student.hpi.uni-potsdam.de: We don't illustrate some other features yet, though:
#(nesting (arrays ()))
1.2s3
Should we?
Best, Christoph Von: Squeak-dev squeak-dev-bounces@lists.squeakfoundation.org im Auftrag von commits@source.squeak.org commits@source.squeak.org Gesendet: Dienstag, 1. März 2022 21:39:55 An: squeak-dev@lists.squeakfoundation.org; packages@lists.squeakfoundation.org Betreff: [squeak-dev] The Trunk: Collections-eem.992.mcz Eliot Miranda uploaded a new version of Collections to project The Trunk: http://source.squeak.org/trunk/Collections-eem.992.mcz [http://source.squeak.org/trunk/Collections-eem.992.mcz]
==================== Summary ====================
Name: Collections-eem.992 Author: eem Time: 1 March 2022, 12:39:53.850609 pm UUID: 677dd86e-ae58-41d3-b125-af837d2cdb61 Ancestors: Collections-mt.991
Add some missing features to the imfamous postcard.
=============== Diff against Collections-mt.991 ===============
Item was changed: ----- Method: Text class>>codeSample (in category 'filler text') ----- codeSample ^ 'exampleWithNumber: x "A method that illustrates every part of Smalltalk method syntax including primitives. It has unary, binary, and keyboard messages, declares arguments and temporaries, accesses a global variable + (but not an instance variable), uses literals (array, character, symbol, + string, integer, float, byte array), uses the pseudo variables nil, true, + false, self, super, and thisContext, shows that within a literal array + nil, true and false are symbols not pseudo variables, and has sequence, + assignment, return, cascade, and tuple (array) creation. It has both + zero argument and one argument blocks, and has a block temporary." - (but not an instance variable), uses literals (array, character, - symbol, string, integer, float), uses the pseudo variables true, - false, nil, self, and super, and has sequence, assignment, return - and cascade. It has both zero argument and one argument blocks." <primitive: ''primitiveCopyBits'' module: #BitBltPlugin error: ec> | y | true & false not & (nil isNil) ifFalse: [self halt]. y := self size + super size. + #($a #a ''a'' "a" 1 1.0 nil true false), { #[65]. thisContext. nil. true. false } + do: [ :each | | class | + class := each class. - #($a #a ''a'' "a" 1 1.0) - do: [ :each | Transcript + show: (class name); - show: (each class name); show: '' '']. ^ x < y'!
Done via Collections-ct.998. :-)
One more question:
shows that within a literal array nil, true, and false are symbols not pseudo variables
Wait, is this even correct?
#(nil true false) = {nil. true. false}
Best, Christoph
--- Sent from Squeak Inbox Talk
On 2022-03-28T09:34:12+02:00, marcel.taeumel@hpi.de wrote:
Yes, please. You can directly group some of literals (and objects) that are already there.
Best, Marcel Am 26.03.2022 15:37:08 schrieb Thiede, Christoph <christoph.thiede at student.hpi.uni-potsdam.de>: We don't illustrate some other features yet, though:
#(nesting (arrays ()))
1.2s3
Should we?
Best, Christoph Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von commits at source.squeak.org <commits at source.squeak.org> Gesendet: Dienstag, 1. März 2022 21:39:55 An: squeak-dev at lists.squeakfoundation.org; packages at lists.squeakfoundation.org Betreff: [squeak-dev] The Trunk: Collections-eem.992.mcz Eliot Miranda uploaded a new version of Collections to project The Trunk: http://source.squeak.org/trunk/Collections-eem.992.mcz [http://source.squeak.org/trunk/Collections-eem.992.mcz]
==================== Summary ====================
Name: Collections-eem.992 Author: eem Time: 1 March 2022, 12:39:53.850609 pm UUID: 677dd86e-ae58-41d3-b125-af837d2cdb61 Ancestors: Collections-mt.991
Add some missing features to the imfamous postcard.
=============== Diff against Collections-mt.991 ===============
Item was changed: ----- Method: Text class>>codeSample (in category 'filler text') ----- codeSample ^ 'exampleWithNumber: x "A method that illustrates every part of Smalltalk method syntax including primitives. It has unary, binary, and keyboard messages, declares arguments and temporaries, accesses a global variable + (but not an instance variable), uses literals (array, character, symbol, + string, integer, float, byte array), uses the pseudo variables nil, true, + false, self, super, and thisContext, shows that within a literal array + nil, true and false are symbols not pseudo variables, and has sequence, + assignment, return, cascade, and tuple (array) creation. It has both + zero argument and one argument blocks, and has a block temporary." - (but not an instance variable), uses literals (array, character, - symbol, string, integer, float), uses the pseudo variables true, - false, nil, self, and super, and has sequence, assignment, return - and cascade. It has both zero argument and one argument blocks." <primitive: ''primitiveCopyBits'' module: #BitBltPlugin error: ec> | y | true & false not & (nil isNil) ifFalse: [self halt]. y := self size + super size. + #($a #a ''a'' "a" 1 1.0 nil true false), { #[65]. thisContext. nil. true. false } + do: [ :each | | class | + class := each class. - #($a #a ''a'' "a" 1 1.0) - do: [ :each | Transcript + show: (class name); - show: (each class name); show: '' '']. ^ x < y'!
On Mon, Mar 28, 2022 at 4:58 AM christoph.thiede@student.hpi.uni-potsdam.de wrote:
Done via Collections-ct.998. :-)
One more question:
shows that within a literal array nil, true, and false are symbols not
pseudo variables
Wait, is this even correct?
#(nil true false) = {nil. true. false}
Yes. It is part of the ANSI standard. Sometime in the 90's it was judged that (#(nil true false) = (Array with: #nil with: #true with: #false)) was too confusing.
Best,
Christoph
*Sent from **Squeak Inbox Talk https://github.com/hpi-swa-lab/squeak-inbox-talk*
On 2022-03-28T09:34:12+02:00, marcel.taeumel@hpi.de wrote:
Yes, please. You can directly group some of literals (and objects) that
are already there.
Best, Marcel Am 26.03.2022 15:37:08 schrieb Thiede, Christoph <christoph.thiede at
student.hpi.uni-potsdam.de>:
We don't illustrate some other features yet, though:
#(nesting (arrays ()))
1.2s3
Should we?
Best, Christoph Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im
Auftrag von commits at source.squeak.org <commits at source.squeak.org>
Gesendet: Dienstag, 1. März 2022 21:39:55 An: squeak-dev at lists.squeakfoundation.org; packages at
lists.squeakfoundation.org
Betreff: [squeak-dev] The Trunk: Collections-eem.992.mcz
Eliot Miranda uploaded a new version of Collections to project The Trunk: http://source.squeak.org/trunk/Collections-eem.992.mcz [
http://source.squeak.org/trunk/Collections-eem.992.mcz]
==================== Summary ====================
Name: Collections-eem.992 Author: eem Time: 1 March 2022, 12:39:53.850609 pm UUID: 677dd86e-ae58-41d3-b125-af837d2cdb61 Ancestors: Collections-mt.991
Add some missing features to the imfamous postcard.
=============== Diff against Collections-mt.991 ===============
Item was changed: ----- Method: Text class>>codeSample (in category 'filler text') ----- codeSample
^ 'exampleWithNumber: x "A method that illustrates every part of Smalltalk method syntax including primitives. It has unary, binary, and keyboard
messages,
declares arguments and temporaries, accesses a global variable
(but not an instance variable), uses literals (array,
character, symbol,
string, integer, float, byte array), uses the pseudo variables
nil, true,
false, self, super, and thisContext, shows that within a
literal array
nil, true and false are symbols not pseudo variables, and has
sequence,
assignment, return, cascade, and tuple (array) creation. It has
both
zero argument and one argument blocks, and has a block
temporary."
(but not an instance variable), uses literals (array, character,
symbol, string, integer, float), uses the pseudo variables true,
false, nil, self, and super, and has sequence, assignment,
return
and cascade. It has both zero argument and one argument blocks." <primitive: ''primitiveCopyBits'' module: #BitBltPlugin error:
ec>
| y | true & false not & (nil isNil) ifFalse: [self halt]. y := self size + super size.
#($a #a ''a'' "a" 1 1.0 nil true false), { #[65]. thisContext.
nil. true. false }
do: [ :each | | class |
class := each class.
#($a #a ''a'' "a" 1 1.0)
do: [ :each | Transcript
show: (class name);
show: (each class name); show: '' '']. ^ x < y'!
_,,,^..^,,,_ best, Eliot
squeak-dev@lists.squeakfoundation.org