Hi All,
when and why did upThrough: get deleted from the ReadStream hierarchy?
Are there strong reasons against reinstating it? This is extremely useful
:-(
_,,,^..^,,,_
best, Eliot
Hello
A follow up question on the note of Sean:
Are there tools, libraries, examples how to generate Makefiles [1] in
Squeak in a user friendly way?
There is no wiki entry on this but this would be a good topic for an entry.
--Hannes
[1] https://en.wikipedia.org/wiki/Makefile
A makefile is a file containing a set of directives used with the make
build automation tool.
Eliot Miranda uploaded a new version of Compiler to project The Trunk:
http://source.squeak.org/trunk/Compiler-eem.374.mcz
==================== Summary ====================
Name: Compiler-eem.374
Author: eem
Time: 9 March 2018, 5:26:54.927757 pm
UUID: 346de92b-2782-45ad-b91b-fc790654a88f
Ancestors: Compiler-eem.373
Make reindexingLiteralsDo: more robust when literals get added during blocks and are used in an outer scope after use in a block. c.f. Compiler-eem.369
=============== Diff against Compiler-eem.373 ===============
Item was changed:
----- Method: BytecodeEncoder>>reindexingLiteralsDo: (in category 'code generation') -----
reindexingLiteralsDo: aBlock
+ "Reset any and all literals so that they will be given new indices in
+ the literalStream during aBlock (which will be used to generate a
+ nested block method). Afterwards restore those same literals to
+ their original state, and reset any and all new literals added during
+ aBlock so that they will be given new indices if used subsequently."
| savedNodes saveBlock |
savedNodes := IdentityDictionary new.
+ saveBlock := [:node|
+ savedNodes at: node put: node shallowCopy.
+ node resetForBlockGeneration].
- saveBlock := [:node| savedNodes at: node put: node shallowCopy. node resetForBlockGeneration].
litSet do: saveBlock.
litIndSet do: saveBlock.
selectorSet do: saveBlock.
^aBlock ensure:
[| restoreBlock |
+ restoreBlock := [:node|
+ savedNodes
+ at: node
+ ifPresent: [:copy| node resetFromCopy: copy]
+ ifAbsent: [node resetForBlockGeneration]].
- restoreBlock := [:node| node resetFromCopy: (savedNodes at: node)].
litSet do: restoreBlock.
litIndSet do: restoreBlock.
+ selectorSet do: restoreBlock]!
- selectorSet do: [:node| node resetFromCopy: (savedNodes at: node ifAbsent: [node])]]!
Hello
Where is the home page of the OSProcess package?
The following one
http://wiki.squeak.org/squeak/708
is easily found on the wiki but it was last updated in 2008. Does it
still apply or is there a newer one?
Regards
Hannes
Eliot Miranda uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-eem.1158.mcz
==================== Summary ====================
Name: Kernel-eem.1158
Author: eem
Time: 9 March 2018, 5:15:51.802392 pm
UUID: 4bef21b3-d2da-4b76-a6e0-c9ee189d478a
Ancestors: Kernel-ul.1157
Provide more efficient implementation(s) of at:ifPresent:ifAbsent: given impending use in the Compiler.
=============== Diff against Kernel-ul.1157 ===============
Item was added:
+ ----- Method: MethodDictionary>>at:ifPresent:ifAbsent: (in category 'accessing') -----
+ at: key ifPresent: oneArgBlock ifAbsent: absentBlock
+ "Lookup the given key in the receiver. If it is present, answer the
+ value of evaluating the oneArgBlock with the value associated
+ with the key, otherwise answer the value of absentBlock."
+ ^(array at: (self scanFor: key))
+ ifNil: [absentBlock value]
+ ifNotNil: [:method| oneArgBlock value: method]!