Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- 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
October 2015
- 891 messages
Re: [Pharo-dev] [Vm-dev] Re: Random forest in Pharo
by Esteban Lorenzano
Hi,
just to be clear.
When we talk about MTVM, we talk about a MT-FFI, *not* a MTVM in general.
In general, a âcommonâ approach to MT cannot be applied in Pharo (or Smalltalk in general) and to get a VM *and* an image working properly is an effort that makes what I called massive some mails above like a small stone compared to a mountain.
Said that:
- What is in plans is MT-FFI, and that will be available eventually.
- There is an approach I want to re-work, that would allow us profit of multicores without going multithread: the âhydraâ experiment made some years ago by Igor creates a good basis to this. But is also a lot of of work (but a lot less than a complete MT), and not a real priority for now⦠I hope to resume work on that area some day⦠just not anytime soon.
Esteban
> On 18 Oct 2015, at 17:56, Ben Coman <btc(a)openInWorld.com> wrote:
>
>
> On Sat, Oct 17, 2015 at 2:25 AM, Robert Withers
> <robert.w.withers(a)gmail.com> wrote:
>> Yes, exactly. I do realize I was consciously changing that effort
>> synchronization order.
>
> I see 64-bit being higher priority than multi-threaded for the wider
> community. Dealing with larger in-Image data opens the door to more
> corporate project/funding opportunities. Also simplifying the install
> on modern Linux platforms without requiring additional 386 libraries
> will help acceptance there.
>
>> It is my humble opinion, without really knowing, that 64-bit would have to be redone after the MTVM completes.
>
> I would assume it was the other way around. Presuming that Eliot has
> sponsors influencing his priorities, it seems given that 64-bits will
> happen first. I would guess any MTVM development on the old vm would
> then need to be reworked.
>
>> I was doing so with the idea in mind that I and others
>> might dig into working on the VM, for threading support, while Eliot
>> maintains focus on 64-bits...a tall order, I know.
>
> The usual downside of splitting resources applies. There are not that
> many "others" and maybe they would be drawn away from helping with the
> 64-bit vm. If the 64-bit vm goes slower for lack of resources then
> your footing for MTVM will shifting for a longer time. You may
> ultimately get where you want to go faster by helping with the 64-bit
> vm. The rapport built with other vm devs from working on 64-bit might
> could then be applied to MTVM. (Of course, its your free time, so you
> should pursue what interests you.)
>
>> I was barely familiar with the VM, slang, interpreter, it years ago...
>> I'm totally unfamiliar with cog.
>
> The experience you gain from working beside Esteban and Eliot on
> 64-bit Cog/Spur could then be applied to a MTVM.
>
> btw, you may find these threads interesting...
> * http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/2015-April/10864…
> * http://forum.world.st/Copy-on-write-for-a-multithreaded-VM-td4837905.html
>
> cheers -ben
>
>> I believe another item on that list ought to be modernizing slang. So
>> many big items!
>>
>> Robert
>>
>>
>>
>> On 10/16/2015 12:48 PM, Stephan Eggermont wrote:
>>>
>>>
>>> On 16-10-15 14:05, Robert Withers wrote:
>>>>
>>>> Because of that assumption I've made and without the responsibilities
>>>> you have, Esteban, but recognizing modernizing NB to FFI, my desired
>>>> list is:
>>>
>>>
>>> I would expect the least total effort to be needed by keeping the work
>>> of Esteban and Eliot as much as possible aligned. That is what Esteban's
>>> list achieves.
>>>
>>> Stephan
>>>
>>>
>>
Oct. 19, 2015
Re: [Pharo-dev] WhatsUp from: 2015-10-19 until: 2015-10-31
by Dimitris Chloupis
- Go back to UPBE
-- Fix so now the complete book is compiled as a single pdf once again
-- Document Spotter in Pharo Tour chapter
-- Document Nautilus Icons in Pharo Tour tutorial
-- Create Nautilus icons in 3d just for fun
-- Integrate pull request by bpietro with several improvements
-Give a slack a try
-- Create a a dedicate channel in slack pharoproject , documentation, for
talking about documentation
-- Integrate github commits so people logged in the channel get informed
about any new commits in our books
-Ephestos
-- Prepare for a Blender Pharo API. Until now Ephestos allowed pharo users
to use the Blender python API even with pharo syntax and python syntax but
I have decided to implement a new API completely in Pharo that will
further simplify the process and guard the pharo users from Blender
technical details and make controlling Blender from Pharo much easier. My
goal is to create a povray ( http://www.povray.org/ ) kind of language ,
more or less, with pharo for scripting Blender.
-Pharo auto completion
-- Keep studying auto completion , unfortunately I still need time to make
sense of things , but I have figured out the basics.
On Mon, Oct 19, 2015 at 9:50 AM stepharo <stepharo(a)free.fr> wrote:
>
>
> Le 19/10/15 07:00, seaside(a)rmod.lille.inria.fr a écrit :
> > Hi! We're sending this automatic email twice a month, to give the
> community an opportunity to easily know what's happening and to coordinate
> efforts. Just answer informally, and feel free to spawn discussions
> thereafter!
> >
> > ### Here's what I've been up to since the last WhatsUp:
> - working on pharo mooc
> - working on magritte30 tutorial
> - working on reef chapter
> - extra pharo lecture @ uni lille.
>
> >
> > ### What's next, until 2015-10-31 (*):
> >
> > - $NEXT_STEPS_TOWARDS_WORLD_DOMINATION
>
> - working on pharo mooc
> - working on magritte30 tutorial
> - working on reef chapter
>
>
Oct. 19, 2015
[pharo-project/pharo-core]
by GitHub
Branch: refs/tags/50392
Home: https://github.com/pharo-project/pharo-core
Oct. 19, 2015
[pharo-project/pharo-core] 8276a9: 50392
by GitHub
Branch: refs/heads/5.0
Home: https://github.com/pharo-project/pharo-core
Commit: 8276a9c35e6aa2e826bff169dc14fd476a37c39d
https://github.com/pharo-project/pharo-core/commit/8276a9c35e6aa2e826bff169…
Author: Jenkins Build Server <board(a)pharo-project.org>
Date: 2015-10-19 (Mon, 19 Oct 2015)
Changed paths:
M AST-Core.package/RBBlockNode.class/instance/initialization/initialize.st
M AST-Core.package/RBParser.class/instance/private-parsing/parseCascadeMessage.st
M AST-Core.package/RBParser.class/instance/private-parsing/parsePrimitiveObject.st
A AST-Core.package/RBParser.class/instance/private-parsing/saveCommentsDuring_.st
M AST-Core.package/RBPatternBlockNode.class/instance/matching/createBlockFor_.st
A AST-Core.package/RBPragmaNode.class/instance/initialization/initialize.st
M AST-Core.package/RBReturnNode.class/class/instance creation/value_.st
M AST-Core.package/RBReturnNode.class/instance/accessing/stop.st
A AST-Core.package/RBReturnNode.class/instance/initialization/initialize.st
A AST-Core.package/RBVariableNode.class/instance/initialize/initialize.st
M MonticelloFileServices.package/extension/MCVersionReader/class/fileReaderServicesForFile_suffix_.st
M Morphic-Widgets-Tree.package/MorphTreeListManager.class/instance/keyboard managing/basicKeyPressed_.st
M OpalCompiler-Core.package/extension/RBSequenceNode/instance/transformLastToReturn.st
R ScriptLoader50.package/ScriptLoader.class/instance/pharo - scripts/script50391.st
A ScriptLoader50.package/ScriptLoader.class/instance/pharo - scripts/script50392.st
R ScriptLoader50.package/ScriptLoader.class/instance/pharo - updates/update50391.st
A ScriptLoader50.package/ScriptLoader.class/instance/pharo - updates/update50392.st
M ScriptLoader50.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
Log Message:
-----------
50392
15184 Systembrowser package navigation inconsistent behavior
https://pharo.fogbugz.com/f/cases/15184
16799 RBParser assigns comments to wrong node
https://pharo.fogbugz.com/f/cases/16799
16798 #sourceInterval should work for every RBNode
https://pharo.fogbugz.com/f/cases/16798
16476 dropping an MCZ file on the world does not propose a browse anymore
https://pharo.fogbugz.com/f/cases/16476
http://files.pharo.org/image/50/50392.zip
Oct. 19, 2015
Re: [Pharo-dev] WhatsUp from: 2015-10-19 until: 2015-10-31
by stepharo
Le 19/10/15 07:00, seaside(a)rmod.lille.inria.fr a écrit :
> Hi! We're sending this automatic email twice a month, to give the community an opportunity to easily know what's happening and to coordinate efforts. Just answer informally, and feel free to spawn discussions thereafter!
>
> ### Here's what I've been up to since the last WhatsUp:
- working on pharo mooc
- working on magritte30 tutorial
- working on reef chapter
- extra pharo lecture @ uni lille.
>
> ### What's next, until 2015-10-31 (*):
>
> - $NEXT_STEPS_TOWARDS_WORLD_DOMINATION
- working on pharo mooc
- working on magritte30 tutorial
- working on reef chapter
Oct. 19, 2015
Re: [Pharo-dev] interesting recursive out-of-memory error
by Marcus Denker
There is some memory leak with the new editor recently (we have seen it until now just with nautilus).
But I guess that could be the same reason.
> On 18 Oct 2015, at 23:33, Tudor Girba <tudor(a)tudorgirba.com> wrote:
>
> Hmm, I never encountered this case. Let's try to manufacture this case again.
>
> Cheers,
> Doru
>
> On Sun, Oct 18, 2015 at 3:58 PM, Eliot Miranda <eliot.miranda(a)gmail.com <mailto:eliot.miranda@gmail.com>> wrote:
> Hi Nicolai,
>
> On Oct 18, 2015, at 3:16 AM, Nicolai Hess <nicolaihess(a)gmail.com <mailto:nicolaihess@gmail.com>> wrote:
>
>> Thanks eliot.
>> Did you run anything that consumed much memory?
>> Platform linux?
>
> I filed in a small package that is entirely Smalltalk code, ran a very simple example in the context of a GT playground, played around with a colleague exploring the playground, diving into and out of the structure, and then left it alone for perhaps a half hour until I returned, at which point it appeared to lock up as soon as I started interacting with it to shut it down.
>
> _,,,^..^,,,_ (phone)
>
>>
>>
>> 2015-10-18 2:24 GMT+02:00 Eliot Miranda <eliot.miranda(a)gmail.com <mailto:eliot.miranda@gmail.com>>:
>> Hi All,
>>
>> this in a bleeding edge Pharo 5 image which had been left standing with a Playground open which, when I clicked on it after leaving it for over an hour, got into an infinite recursion failing to allocate an object as part of opening a file to write an error report to. Here's the infinite recursion beginning. Full crash.mp <http://crash.mp/> attached.
>>
>> 0x3ebf4bf8 s OutOfMemory class(Exception class)>signal
>> 0x3ebf4c54 s OutOfMemory class(Behavior)>basicNew
>> 0x3ebf4cb0 s OutOfMemory class(Behavior)>new
>> 0x3ebf4d0c s OutOfMemory class(Exception class)>signal
>> 0x3ebe52ec s OutOfMemory class(Behavior)>basicNew
>> 0x3ebf4d68 s OutOfMemory class(Behavior)>new
>> 0x3ebf4dc4 s OutOfMemory class(Exception class)>signal
>> 0x3ebf4e20 s OutOfMemory class(Behavior)>basicNew
>> 0x3ebf4e7c s OutOfMemory class(Behavior)>new
>> 0x3ebf4ed8 s OutOfMemory class(Exception class)>signal
>> 0x3ebf4f34 s OutOfMemory class(Behavior)>basicNew
>> 0x3ebf4f90 s OutOfMemory class(Behavior)>new
>> 0x3ebf4fec s OutOfMemory class(Exception class)>signal
>> 0x3ebe5290 s WeakFinalizerItem class(Behavior)>basicNew:
>> 0x3ebf5048 s WeakFinalizerItem class>new
>> 0x3ebf50a4 s [] in WeakRegistry>add:executor:
>> 0x3ebe5234 s WeakIdentityKeyDictionary(Dictionary)>at:ifAbsent:
>> 0x3ebe51c4 s [] in WeakRegistry>add:executor:
>> 0x3ebf4860 s BlockClosure>on:do:
>> 0x3ebe5154 s BlockClosure>ifError:
>> 0x3ebe50e4 s [] in Semaphore>critical:ifError:
>> 0x3ebf48bc s [] in Semaphore>critical:
>> 0x3ebf4918 s BlockClosure>ensure:
>> 0x3ebe505c s Semaphore>critical:
>> 0x3ebe4fdc s Semaphore>critical:ifError:
>> 0x3ebe4f5c s WeakRegistry>protected:
>> 0x3ebe4ee8 s WeakRegistry>add:executor:
>> 0x3ebf4974 s WeakRegistry>add:
>> 0x3ebf49d0 s MultiByteFileStream class(StandardFileStream class)>register:
>> 0x3ebf4a2c s MultiByteFileStream(StandardFileStream)>register
>> 0x3ebe4de0 s MultiByteFileStream(StandardFileStream)>open:forWrite:
>> 0x3ebe4e58 s MultiByteFileStream>open:forWrite:
>> 0x3ebf4524 s MultiByteFileStream class(StandardFileStream class)>readOnlyFileNamed:
>> 0x3ebf4580 s MultiByteFileStream(StandardFileStream)>readOnlyCopy
>> 0x3ebf45dc s [] in SourceFileArray>readStreamAtFileIndex:atPosition:ifPresent:ifAbsent:
>> 0x3ebf4638 s BlockClosure>on:do:
>> 0x3ebe4cc8 s SourceFileArray>readStreamAtFileIndex:atPosition:ifPresent:ifAbsent:
>> 0x3ebf4694 s SourceFileArray>readStreamAt:ifPresent:ifAbsent:
>> 0x3ebe4be8 s SourceFileArray>sourceCodeAt:
>> 0x3ebe4c64 s [] in CompiledMethod>getSourceFromFile
>> 0x3ebf418c s BlockClosure>on:do:
>> 0x3ebe4b6c s CompiledMethod>getSourceFromFile
>> 0x3ebf41e8 s CompiledMethod>sourceCode
>> 0x3ebf4244 s CompiledMethod>parseTree
>> 0x3ebf42a0 s [] in ASTCache>at:
>> 0x3ebf42fc s [] in ASTCache(Dictionary)>at:ifAbsentPut:
>> 0x3ebf4358 s ASTCache(Dictionary)>at:ifAbsent:
>> 0x3ebe4adc s ASTCache(Dictionary)>at:ifAbsentPut:
>> 0x3ebe4a6c s ASTCache>at:
>> 0x3ebe4a10 s ASTCache class>at:
>> 0x3ebe49b4 s CompiledMethod>ast
>> 0x3ebf3ce0 s CompiledMethod>sourceNode
>> 0x3ebf3d3c s CompiledMethod>sourceNodeForPC:
>> 0x3ebf3d98 s BlockClosure>sourceNode
>> 0x3ebf3df4 s BlockClosure>printOn:
>> 0x3ebf3e50 s [] in BlockClosure(Object)>printStringLimitedTo:
>> 0x3ebe4944 s String class(SequenceableCollection class)>streamContents:limitedTo:
>> 0x3ebe4850 s BlockClosure(Object)>printStringLimitedTo:
>> 0x3ebf3eac s BlockClosure(Object)>printString
>> 0x3ebf3f08 s Context>printOn:
>> 0x3ebf3f64 s Context>printDebugOn:
>> 0x3ebf3fc0 s [] in Context>debugStack:on:
>> 0x3ebe44c8 s OrderedCollection>do:
>> 0x3ebe4458 s Context>debugStack:on:
>> 0x3ebf3a00 s Context>shortDebugStackOn:
>> 0x3ebf3a5c s [] in ControlButtonMorph(Morph)>drawErrorOn:
>> 0x3ebf3ab8 s String class(SequenceableCollection class)>new:streamContents:
>> 0x3ebf3b14 s String class(SequenceableCollection class)>streamContents:
>> 0x3ebe4318 s [] in ControlButtonMorph(Morph)>drawErrorOn:
>> 0x3ebe42b4 s ControlButtonMorph(Morph)>valueOfProperty:ifPresentDo:
>> 0x3ebe41e0 s ControlButtonMorph(Morph)>drawErrorOn:
>> 0x3ebe4244 s [] in ControlButtonMorph(Morph)>fullDrawOn:
>> 0x3ebf377c s BlockClosure>cull:
>> 0x3ebf37d8 s Context>evaluateSignal:
>> 0x3ebf3834 s Context>handleSignal:
>> 0x3ebe1608 s OutOfMemory(Exception)>signal
>> 0x3ebe1664 s OutOfMemory class(Exception class)>signal
>> 0x3ebe158c s BalloonBuffer class(Behavior)>basicNew:
>> 0x3ebe1830 s BalloonBuffer class(Behavior)>new:
>> 0x3ebe1478 s BalloonEngine class>allocateOrRecycleBuffer:
>> 0x3ebe1944 s BalloonEngine>reset
>> 0x3ebe1530 s BalloonEngine>resetIfNeeded
>> 0x3ebe14d4 s BalloonEngine>drawRectangle:fill:borderWidth:borderColor:transform:
>> 0x3ebe1ab4 s BalloonCanvas>drawRectangle:color:borderWidth:borderColor:
>> 0x3ebe1b6c s BalloonCanvas>fillRectangle:basicFillStyle:
>> 0x3ebe1c24 s FormCanvas>balloonFillRectangle:fillStyle:
>> 0x3ebe1cdc s FormCanvas>fillRectangle:basicFillStyle:
>> 0x3ebe1d94 s GradientFillStyle(FillStyle)>fillRectangle:on:
>> 0x3ebe1e4c s FormCanvas(Canvas)>fillRectangle:fillStyle:
>> 0x3ebe1f04 s FormCanvas(Canvas)>fillRectangle:fillStyle:borderStyle:
>> 0x3ebe1fbc s ControlButtonMorph(Morph)>drawOn:
>> 0x3ebdf0fc s FormCanvas(Canvas)>draw:
>> 0x3ebdf0a0 s FormCanvas(Canvas)>drawMorph:
>> 0x3ebe212c s [] in ControlButtonMorph(Morph)>fullDrawOn:
>> 0x3ebe21e4 s FormCanvas>roundCornersOf:in:during:
>> 0x3ebe229c s FormCanvas(Canvas)>roundCornersOf:during:
>> 0x3ebdf030 s [] in ControlButtonMorph(Morph)>fullDrawOn:
>> 0x3ebe16c0 s BlockClosure>on:do:
>> 0x3ebdefac s ControlButtonMorph(Morph)>fullDrawOn:
>> 0x3ebe2468 s FormCanvas(Canvas)>fullDraw:
>> 0x3ebe2520 s FormCanvas(Canvas)>fullDrawMorph:
>> 0x3ebe25d8 s [] in SearchMorph(Morph)>drawSubmorphsOn:
>> 0x3ebe2690 s Array(SequenceableCollection)>reverseDo:
>> 0x3ebdef3c s [] in SearchMorph(Morph)>drawSubmorphsOn:
>> 0x3ebe27a4 s FormCanvas>clipBy:during:
>> 0x3ebded5c s SearchMorph(Morph)>drawSubmorphsOn:
>> 0x3ebdedc8 s SearchMorph(DropListMorph)>drawSubmorphsOn:
>> 0x3ebe2914 s [] in SearchMorph(Morph)>fullDrawOn:
>> 0x3ebe29cc s FormCanvas>roundCornersOf:in:during:
>> 0x3ebe2a84 s FormCanvas(Canvas)>roundCornersOf:during:
>> 0x3ebdecc8 s [] in SearchMorph(Morph)>fullDrawOn:
>> 0x3ebe2b98 s BlockClosure>on:do:
>> 0x3ebdec44 s SearchMorph(Morph)>fullDrawOn:
>> 0x3ebe2cac s FormCanvas(Canvas)>fullDraw:
>> 0x3ebe2d64 s FormCanvas(Canvas)>fullDrawMorph:
>> 0x3ebe2e1c s [] in SystemWindow(Morph)>drawSubmorphsOn:
>> 0x3ebd976c s Array(SequenceableCollection)>reverseDo:
>> 0x3ebd96fc s [] in SystemWindow(Morph)>drawSubmorphsOn:
>> 0x3ebe2f8c s FormCanvas>clipBy:during:
>> 0x3ebd9584 s SystemWindow(Morph)>drawSubmorphsOn:
>> 0x3ebe30a0 s [] in SystemWindow(Morph)>fullDrawOn:
>> 0x3ebe3158 s FormCanvas>roundCornersOf:in:during:
>> 0x3ebe3210 s FormCanvas(Canvas)>roundCornersOf:during:
>> 0x3ebd94f0 s [] in SystemWindow(Morph)>fullDrawOn:
>> 0x3ebe3324 s BlockClosure>on:do:
>> 0x3ebd946c s SystemWindow(Morph)>fullDrawOn:
>> 0x3ebd9410 s FormCanvas(Canvas)>fullDraw:
>> 0x3ebd93b4 s FormCanvas(Canvas)>fullDrawMorph:
>> 0x3ebd9004 s [] in WorldState>drawWorld:submorphs:invalidAreasOn:
>> 0x3ebe35ec s Rectangle>allAreasOutsideList:startingAt:do:
>> 0x3ebe36a4 s Rectangle>allAreasOutsideList:do:
>> 0x3ebd8e94 s [] in WorldState>drawWorld:submorphs:invalidAreasOn:
>> 0x3ebe3858 s Array(SequenceableCollection)>do:
>> 0x3ebd8b98 s WorldState>drawWorld:submorphs:invalidAreasOn:
>> 0x3ebd8c94 s [] in WorldState>displayWorld:submorphs:
>> 0x3ebe3a68 s FormCanvas>roundCornersOf:in:during:
>> 0x3ebe3b20 s FormCanvas(Canvas)>roundCornersOf:during:
>> 0x3ebd8aa8 s WorldState>displayWorld:submorphs:
>> 0x3ebe3c34 s WorldMorph>displayWorld
>> 0x3ebe3cec s [] in WorldState>displayWorldSafely:
>> 0x3ebe3da4 s BlockClosure>on:do:
>> 0x3ebd8a2c s BlockClosure>ifError:
>> 0x3ebd89ac s WorldState>displayWorldSafely:
>> 0x3ebd3df4 s WorldState>doOneCycleNowFor:
>> 0x3ebe3f70 s WorldState>doOneCycleFor:
>> 0x3ebe4028 s WorldMorph>doOneCycle
>> 0x2162ad58 s [] in MorphicUIManager>spawnNewProcess
>> 0x21629f30 s [] in BlockClosure>newProcess
>>
>>
>>
>> _,,,^..^,,,_
>> best, Eliot
>>
>
>
>
> --
> www.tudorgirba.com <http://www.tudorgirba.com/>
>
> "Every thing has its own flow"
Oct. 19, 2015
WhatsUp from: 2015-10-19 until: 2015-10-31
by seaside@rmod.lille.inria.fr
Hi! We're sending this automatic email twice a month, to give the community an opportunity to easily know what's happening and to coordinate efforts. Just answer informally, and feel free to spawn discussions thereafter!
### Here's what I've been up to since the last WhatsUp:
- $HEROIC_ACHIEVEMENTS_OR_DISMAL_FAILURES_OR_SIMPLE_BORING_NECESSARY_TASKS
### What's next, until 2015-10-31 (*):
- $NEXT_STEPS_TOWARDS_WORLD_DOMINATION
(*) we'll be expecting results by then ;)
Oct. 19, 2015
Re: [Pharo-dev] interesting recursive out-of-memory error
by Tudor Girba
Hmm, I never encountered this case. Let's try to manufacture this case
again.
Cheers,
Doru
On Sun, Oct 18, 2015 at 3:58 PM, Eliot Miranda <eliot.miranda(a)gmail.com>
wrote:
> Hi Nicolai,
>
> On Oct 18, 2015, at 3:16 AM, Nicolai Hess <nicolaihess(a)gmail.com> wrote:
>
> Thanks eliot.
> Did you run anything that consumed much memory?
> Platform linux?
>
>
> I filed in a small package that is entirely Smalltalk code, ran a very
> simple example in the context of a GT playground, played around with a
> colleague exploring the playground, diving into and out of the structure,
> and then left it alone for perhaps a half hour until I returned, at which
> point it appeared to lock up as soon as I started interacting with it to
> shut it down.
>
> _,,,^..^,,,_ (phone)
>
>
>
> 2015-10-18 2:24 GMT+02:00 Eliot Miranda <eliot.miranda(a)gmail.com>:
>
>> Hi All,
>>
>> this in a bleeding edge Pharo 5 image which had been left standing
>> with a Playground open which, when I clicked on it after leaving it for
>> over an hour, got into an infinite recursion failing to allocate an object
>> as part of opening a file to write an error report to. Here's the infinite
>> recursion beginning. Full crash.mp attached.
>>
>> 0x3ebf4bf8 s OutOfMemory class(Exception class)>signal
>> 0x3ebf4c54 s OutOfMemory class(Behavior)>basicNew
>> 0x3ebf4cb0 s OutOfMemory class(Behavior)>new
>> 0x3ebf4d0c s OutOfMemory class(Exception class)>signal
>> 0x3ebe52ec s OutOfMemory class(Behavior)>basicNew
>> 0x3ebf4d68 s OutOfMemory class(Behavior)>new
>> 0x3ebf4dc4 s OutOfMemory class(Exception class)>signal
>> 0x3ebf4e20 s OutOfMemory class(Behavior)>basicNew
>> 0x3ebf4e7c s OutOfMemory class(Behavior)>new
>> 0x3ebf4ed8 s OutOfMemory class(Exception class)>signal
>> 0x3ebf4f34 s OutOfMemory class(Behavior)>basicNew
>> 0x3ebf4f90 s OutOfMemory class(Behavior)>new
>> 0x3ebf4fec s OutOfMemory class(Exception class)>signal
>> 0x3ebe5290 s WeakFinalizerItem class(Behavior)>basicNew:
>> 0x3ebf5048 s WeakFinalizerItem class>new
>> 0x3ebf50a4 s [] in WeakRegistry>add:executor:
>> 0x3ebe5234 s WeakIdentityKeyDictionary(Dictionary)>at:ifAbsent:
>> 0x3ebe51c4 s [] in WeakRegistry>add:executor:
>> 0x3ebf4860 s BlockClosure>on:do:
>> 0x3ebe5154 s BlockClosure>ifError:
>> 0x3ebe50e4 s [] in Semaphore>critical:ifError:
>> 0x3ebf48bc s [] in Semaphore>critical:
>> 0x3ebf4918 s BlockClosure>ensure:
>> 0x3ebe505c s Semaphore>critical:
>> 0x3ebe4fdc s Semaphore>critical:ifError:
>> 0x3ebe4f5c s WeakRegistry>protected:
>> 0x3ebe4ee8 s WeakRegistry>add:executor:
>> 0x3ebf4974 s WeakRegistry>add:
>> 0x3ebf49d0 s MultiByteFileStream class(StandardFileStream class)>register:
>> 0x3ebf4a2c s MultiByteFileStream(StandardFileStream)>register
>> 0x3ebe4de0 s MultiByteFileStream(StandardFileStream)>open:forWrite:
>> 0x3ebe4e58 s MultiByteFileStream>open:forWrite:
>> 0x3ebf4524 s MultiByteFileStream class(StandardFileStream
>> class)>readOnlyFileNamed:
>> 0x3ebf4580 s MultiByteFileStream(StandardFileStream)>readOnlyCopy
>> 0x3ebf45dc s [] in
>> SourceFileArray>readStreamAtFileIndex:atPosition:ifPresent:ifAbsent:
>> 0x3ebf4638 s BlockClosure>on:do:
>> 0x3ebe4cc8 s
>> SourceFileArray>readStreamAtFileIndex:atPosition:ifPresent:ifAbsent:
>> 0x3ebf4694 s SourceFileArray>readStreamAt:ifPresent:ifAbsent:
>> 0x3ebe4be8 s SourceFileArray>sourceCodeAt:
>> 0x3ebe4c64 s [] in CompiledMethod>getSourceFromFile
>> 0x3ebf418c s BlockClosure>on:do:
>> 0x3ebe4b6c s CompiledMethod>getSourceFromFile
>> 0x3ebf41e8 s CompiledMethod>sourceCode
>> 0x3ebf4244 s CompiledMethod>parseTree
>> 0x3ebf42a0 s [] in ASTCache>at:
>> 0x3ebf42fc s [] in ASTCache(Dictionary)>at:ifAbsentPut:
>> 0x3ebf4358 s ASTCache(Dictionary)>at:ifAbsent:
>> 0x3ebe4adc s ASTCache(Dictionary)>at:ifAbsentPut:
>> 0x3ebe4a6c s ASTCache>at:
>> 0x3ebe4a10 s ASTCache class>at:
>> 0x3ebe49b4 s CompiledMethod>ast
>> 0x3ebf3ce0 s CompiledMethod>sourceNode
>> 0x3ebf3d3c s CompiledMethod>sourceNodeForPC:
>> 0x3ebf3d98 s BlockClosure>sourceNode
>> 0x3ebf3df4 s BlockClosure>printOn:
>> 0x3ebf3e50 s [] in BlockClosure(Object)>printStringLimitedTo:
>> 0x3ebe4944 s String class(SequenceableCollection
>> class)>streamContents:limitedTo:
>> 0x3ebe4850 s BlockClosure(Object)>printStringLimitedTo:
>> 0x3ebf3eac s BlockClosure(Object)>printString
>> 0x3ebf3f08 s Context>printOn:
>> 0x3ebf3f64 s Context>printDebugOn:
>> 0x3ebf3fc0 s [] in Context>debugStack:on:
>> 0x3ebe44c8 s OrderedCollection>do:
>> 0x3ebe4458 s Context>debugStack:on:
>> 0x3ebf3a00 s Context>shortDebugStackOn:
>> 0x3ebf3a5c s [] in ControlButtonMorph(Morph)>drawErrorOn:
>> 0x3ebf3ab8 s String class(SequenceableCollection
>> class)>new:streamContents:
>> 0x3ebf3b14 s String class(SequenceableCollection class)>streamContents:
>> 0x3ebe4318 s [] in ControlButtonMorph(Morph)>drawErrorOn:
>> 0x3ebe42b4 s ControlButtonMorph(Morph)>valueOfProperty:ifPresentDo:
>> 0x3ebe41e0 s ControlButtonMorph(Morph)>drawErrorOn:
>> 0x3ebe4244 s [] in ControlButtonMorph(Morph)>fullDrawOn:
>> 0x3ebf377c s BlockClosure>cull:
>> 0x3ebf37d8 s Context>evaluateSignal:
>> 0x3ebf3834 s Context>handleSignal:
>> 0x3ebe1608 s OutOfMemory(Exception)>signal
>> 0x3ebe1664 s OutOfMemory class(Exception class)>signal
>> 0x3ebe158c s BalloonBuffer class(Behavior)>basicNew:
>> 0x3ebe1830 s BalloonBuffer class(Behavior)>new:
>> 0x3ebe1478 s BalloonEngine class>allocateOrRecycleBuffer:
>> 0x3ebe1944 s BalloonEngine>reset
>> 0x3ebe1530 s BalloonEngine>resetIfNeeded
>> 0x3ebe14d4 s
>> BalloonEngine>drawRectangle:fill:borderWidth:borderColor:transform:
>> 0x3ebe1ab4 s BalloonCanvas>drawRectangle:color:borderWidth:borderColor:
>> 0x3ebe1b6c s BalloonCanvas>fillRectangle:basicFillStyle:
>> 0x3ebe1c24 s FormCanvas>balloonFillRectangle:fillStyle:
>> 0x3ebe1cdc s FormCanvas>fillRectangle:basicFillStyle:
>> 0x3ebe1d94 s GradientFillStyle(FillStyle)>fillRectangle:on:
>> 0x3ebe1e4c s FormCanvas(Canvas)>fillRectangle:fillStyle:
>> 0x3ebe1f04 s FormCanvas(Canvas)>fillRectangle:fillStyle:borderStyle:
>> 0x3ebe1fbc s ControlButtonMorph(Morph)>drawOn:
>> 0x3ebdf0fc s FormCanvas(Canvas)>draw:
>> 0x3ebdf0a0 s FormCanvas(Canvas)>drawMorph:
>> 0x3ebe212c s [] in ControlButtonMorph(Morph)>fullDrawOn:
>> 0x3ebe21e4 s FormCanvas>roundCornersOf:in:during:
>> 0x3ebe229c s FormCanvas(Canvas)>roundCornersOf:during:
>> 0x3ebdf030 s [] in ControlButtonMorph(Morph)>fullDrawOn:
>> 0x3ebe16c0 s BlockClosure>on:do:
>> 0x3ebdefac s ControlButtonMorph(Morph)>fullDrawOn:
>> 0x3ebe2468 s FormCanvas(Canvas)>fullDraw:
>> 0x3ebe2520 s FormCanvas(Canvas)>fullDrawMorph:
>> 0x3ebe25d8 s [] in SearchMorph(Morph)>drawSubmorphsOn:
>> 0x3ebe2690 s Array(SequenceableCollection)>reverseDo:
>> 0x3ebdef3c s [] in SearchMorph(Morph)>drawSubmorphsOn:
>> 0x3ebe27a4 s FormCanvas>clipBy:during:
>> 0x3ebded5c s SearchMorph(Morph)>drawSubmorphsOn:
>> 0x3ebdedc8 s SearchMorph(DropListMorph)>drawSubmorphsOn:
>> 0x3ebe2914 s [] in SearchMorph(Morph)>fullDrawOn:
>> 0x3ebe29cc s FormCanvas>roundCornersOf:in:during:
>> 0x3ebe2a84 s FormCanvas(Canvas)>roundCornersOf:during:
>> 0x3ebdecc8 s [] in SearchMorph(Morph)>fullDrawOn:
>> 0x3ebe2b98 s BlockClosure>on:do:
>> 0x3ebdec44 s SearchMorph(Morph)>fullDrawOn:
>> 0x3ebe2cac s FormCanvas(Canvas)>fullDraw:
>> 0x3ebe2d64 s FormCanvas(Canvas)>fullDrawMorph:
>> 0x3ebe2e1c s [] in SystemWindow(Morph)>drawSubmorphsOn:
>> 0x3ebd976c s Array(SequenceableCollection)>reverseDo:
>> 0x3ebd96fc s [] in SystemWindow(Morph)>drawSubmorphsOn:
>> 0x3ebe2f8c s FormCanvas>clipBy:during:
>> 0x3ebd9584 s SystemWindow(Morph)>drawSubmorphsOn:
>> 0x3ebe30a0 s [] in SystemWindow(Morph)>fullDrawOn:
>> 0x3ebe3158 s FormCanvas>roundCornersOf:in:during:
>> 0x3ebe3210 s FormCanvas(Canvas)>roundCornersOf:during:
>> 0x3ebd94f0 s [] in SystemWindow(Morph)>fullDrawOn:
>> 0x3ebe3324 s BlockClosure>on:do:
>> 0x3ebd946c s SystemWindow(Morph)>fullDrawOn:
>> 0x3ebd9410 s FormCanvas(Canvas)>fullDraw:
>> 0x3ebd93b4 s FormCanvas(Canvas)>fullDrawMorph:
>> 0x3ebd9004 s [] in WorldState>drawWorld:submorphs:invalidAreasOn:
>> 0x3ebe35ec s Rectangle>allAreasOutsideList:startingAt:do:
>> 0x3ebe36a4 s Rectangle>allAreasOutsideList:do:
>> 0x3ebd8e94 s [] in WorldState>drawWorld:submorphs:invalidAreasOn:
>> 0x3ebe3858 s Array(SequenceableCollection)>do:
>> 0x3ebd8b98 s WorldState>drawWorld:submorphs:invalidAreasOn:
>> 0x3ebd8c94 s [] in WorldState>displayWorld:submorphs:
>> 0x3ebe3a68 s FormCanvas>roundCornersOf:in:during:
>> 0x3ebe3b20 s FormCanvas(Canvas)>roundCornersOf:during:
>> 0x3ebd8aa8 s WorldState>displayWorld:submorphs:
>> 0x3ebe3c34 s WorldMorph>displayWorld
>> 0x3ebe3cec s [] in WorldState>displayWorldSafely:
>> 0x3ebe3da4 s BlockClosure>on:do:
>> 0x3ebd8a2c s BlockClosure>ifError:
>> 0x3ebd89ac s WorldState>displayWorldSafely:
>> 0x3ebd3df4 s WorldState>doOneCycleNowFor:
>> 0x3ebe3f70 s WorldState>doOneCycleFor:
>> 0x3ebe4028 s WorldMorph>doOneCycle
>> 0x2162ad58 s [] in MorphicUIManager>spawnNewProcess
>> 0x21629f30 s [] in BlockClosure>newProcess
>>
>>
>>
>> _,,,^..^,,,_
>> best, Eliot
>>
>
>
--
www.tudorgirba.com
"Every thing has its own flow"
Oct. 18, 2015
Re: [Pharo-dev] [Cryptography port to Pharo] RandomGenerator class>>unpredictableStringsDo:
by Ron Teitelbaum
Hi Robert,
Nice to see you!
Looks interesting I know that Chris did something gathering sources of entropy. Seems like the more the better. Could you just make the entropy sources optional such that if they exist we use them? I would have to go back and see what Chris did but he was following suggestions from Schneider in his secureRandom.
All the best,
Ron Teitelbaum
> -----Original Message-----
> From: Pharo-dev [mailto:pharo-dev-bounces@lists.pharo.org] On Behalf Of
> Robert Withers
> Sent: Sunday, October 18, 2015 5:00 AM
> To: The general-purpose Squeak developers list; Pharo Development List
> Subject: Re: [Pharo-dev] [Cryptography port to Pharo] RandomGenerator
> class>>unpredictableStringsDo:
>
> I'm sorry, I forgot the code. I list the existing method, followed by my
> modified Pharo method below. I welcome any feedback.
>
> Regards,
> Robert
>
> ---
> Existing:
> unpredictableStringsDo: aBlock
> "Enumerate sources of information from my environment that
> should be generally hard to guess."
> | time |
> time := Time millisecondsToRun:
> [ aBlock
> value: World imageForm bits compressToByteArray ;
> value: Sensor mousePoint x asString ;
> value: Sensor mousePoint y asString ;
> value: Time millisecondClockValue asByteArray ;
> value: Date today asString ;
> value: Time now asString ;
> value: Display extent asString.
> 100 timesRepeat: [ aBlock value: UUID new ].
> #(vmVersion platformName primVmPath imageName
> platformSubtype datedVersion lastQuitLogPosition vmStatisticsReportString
> imageName)
> collect:
> [ : each |
> aBlock value: (SmalltalkImage current perform: each)
> asByteArray ] ].
> aBlock
> value: time asByteArray;
> "maybe the pointer has moved, hit it again."
> value: Sensor mousePoint asString ;
> value: Time millisecondClockValue asByteArray
>
> ---
> Pharo port:
> unpredictableStringsDo: aBlock
> "Enumerate sources of information from my environment that
> should be generally hard to guess."
>
> | time |
> time := Time millisecondsToRun:
> [ aBlock
> value: Time millisecondClockValue asByteArray ;
> value: Date today asString ;
> value: Time now asString.
> 100 timesRepeat: [ aBlock value: UUID new ].
> #(version primImagePath imagePath datedVersion
> lastQuitLogPosition)
> collect:
> [ : each |
> aBlock value: (SmalltalkImage current perform: each)
> asByteArray ] ].
> aBlock
> value: time asByteArray;
> value: Time millisecondClockValue asByteArray
>
>
> On 10/18/2015 04:23 AM, Robert Withers wrote:
> > This is a message intended for anyone who was on the Cryptography team.
> > I recently ported it to Pharo and had to make changes to
> RandomGenerator
> > class>>unpredictableStringsDo:. This certainly removed some uncertainty
> > from the results of this message. My question is what should I do about
> > that? This method seems to require non-headless, as it is checking the
> > mouse point and such. This being a crypto cornerstone, what the best
> > answer here.
> >
> > Thank you,
> > Robert
Oct. 18, 2015
Re: [Pharo-dev] Confusing Date parsing
by Sven Van Caekenberghe
> On 18 Oct 2015, at 17:50, Torsten Bergmann <astares(a)gmx.de> wrote:
>
> '9.7.2015' asDate returns the 7th of September, I would have expected 9th of July
Hmm, this particular case (any case involving two numbers <= 12) is non-deterministic when no expected pattern is given.
Smalltalk was written in the US, so they chose their date format as default.
> because in Date readFrom: comment it is stated:
>
> readFrom: aStream
> "Read a Date from the stream in any of the forms:
> <day> <month> <year> (15 April 1982; 15-APR-82; 15.4.82; 15APR82)
> <month> <day> <year> (April 15, 1982; 4/15/82)
> <year>-<month>-<day> (1982-04-15) (ISO8601)"
>
> According to this the order day, month, year with a $. as separator should be valid.
>
> When I try '15.4.82' asDate als does not work, it gives an error that the month is exceeded with 15...
So by default it goes for the American format, month first. From that perspective it is correct.
I did not look at the implementation, but I think there is no real universal solution.
> Looks like this is not correctly implemented/backed up by tests. Or the comment is just wrong.
> Should I open an issue?
>
> Thanks
> T.
>
>
>
>
Oct. 18, 2015
Confusing Date parsing
by Torsten Bergmann
Also
Date readFrom: '9.7.2015' readStream pattern: 'ddmmyyyy'.
works, but
Date readFrom: '23.7.2015' readStream pattern: 'ddmmyyyy'.
throws an error. I'm confused...
Oct. 18, 2015
Re: [Pharo-dev] [Vm-dev] Re: Random forest in Pharo
by Ben Coman
On Sat, Oct 17, 2015 at 2:25 AM, Robert Withers
<robert.w.withers(a)gmail.com> wrote:
> Yes, exactly. I do realize I was consciously changing that effort
> synchronization order.
I see 64-bit being higher priority than multi-threaded for the wider
community. Dealing with larger in-Image data opens the door to more
corporate project/funding opportunities. Also simplifying the install
on modern Linux platforms without requiring additional 386 libraries
will help acceptance there.
> It is my humble opinion, without really knowing, that 64-bit would have to be redone after the MTVM completes.
I would assume it was the other way around. Presuming that Eliot has
sponsors influencing his priorities, it seems given that 64-bits will
happen first. I would guess any MTVM development on the old vm would
then need to be reworked.
> I was doing so with the idea in mind that I and others
> might dig into working on the VM, for threading support, while Eliot
> maintains focus on 64-bits...a tall order, I know.
The usual downside of splitting resources applies. There are not that
many "others" and maybe they would be drawn away from helping with the
64-bit vm. If the 64-bit vm goes slower for lack of resources then
your footing for MTVM will shifting for a longer time. You may
ultimately get where you want to go faster by helping with the 64-bit
vm. The rapport built with other vm devs from working on 64-bit might
could then be applied to MTVM. (Of course, its your free time, so you
should pursue what interests you.)
> I was barely familiar with the VM, slang, interpreter, it years ago...
> I'm totally unfamiliar with cog.
The experience you gain from working beside Esteban and Eliot on
64-bit Cog/Spur could then be applied to a MTVM.
btw, you may find these threads interesting...
* http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/2015-April/10864…
* http://forum.world.st/Copy-on-write-for-a-multithreaded-VM-td4837905.html
cheers -ben
>I believe another item on that list ought to be modernizing slang. So
> many big items!
>
> Robert
>
>
>
> On 10/16/2015 12:48 PM, Stephan Eggermont wrote:
>>
>>
>> On 16-10-15 14:05, Robert Withers wrote:
>>>
>>> Because of that assumption I've made and without the responsibilities
>>> you have, Esteban, but recognizing modernizing NB to FFI, my desired
>>> list is:
>>
>>
>> I would expect the least total effort to be needed by keeping the work
>> of Esteban and Eliot as much as possible aligned. That is what Esteban's
>> list achieves.
>>
>> Stephan
>>
>>
>
Oct. 18, 2015
Confusing Date parsing
by Torsten Bergmann
'9.7.2015' asDate returns the 7th of September, I would have expected 9th of July
because in Date readFrom: comment it is stated:
readFrom: aStream
"Read a Date from the stream in any of the forms:
<day> <month> <year> (15 April 1982; 15-APR-82; 15.4.82; 15APR82)
<month> <day> <year> (April 15, 1982; 4/15/82)
<year>-<month>-<day> (1982-04-15) (ISO8601)"
According to this the order day, month, year with a $. as separator should be valid.
When I try '15.4.82' asDate als does not work, it gives an error that the month is exceeded with 15...
Looks like this is not correctly implemented/backed up by tests. Or the comment is just wrong.
Should I open an issue?
Thanks
T.
Oct. 18, 2015
Re: [Pharo-dev] interesting recursive out-of-memory error
by Eliot Miranda
Hi Nicolai,
> On Oct 18, 2015, at 3:16 AM, Nicolai Hess <nicolaihess(a)gmail.com> wrote:
>
> Thanks eliot.
> Did you run anything that consumed much memory?
> Platform linux?
I filed in a small package that is entirely Smalltalk code, ran a very simple example in the context of a GT playground, played around with a colleague exploring the playground, diving into and out of the structure, and then left it alone for perhaps a half hour until I returned, at which point it appeared to lock up as soon as I started interacting with it to shut it down.
_,,,^..^,,,_ (phone)
>
>
> 2015-10-18 2:24 GMT+02:00 Eliot Miranda <eliot.miranda(a)gmail.com>:
>> Hi All,
>>
>> this in a bleeding edge Pharo 5 image which had been left standing with a Playground open which, when I clicked on it after leaving it for over an hour, got into an infinite recursion failing to allocate an object as part of opening a file to write an error report to. Here's the infinite recursion beginning. Full crash.mp attached.
>>
>> 0x3ebf4bf8 s OutOfMemory class(Exception class)>signal
>> 0x3ebf4c54 s OutOfMemory class(Behavior)>basicNew
>> 0x3ebf4cb0 s OutOfMemory class(Behavior)>new
>> 0x3ebf4d0c s OutOfMemory class(Exception class)>signal
>> 0x3ebe52ec s OutOfMemory class(Behavior)>basicNew
>> 0x3ebf4d68 s OutOfMemory class(Behavior)>new
>> 0x3ebf4dc4 s OutOfMemory class(Exception class)>signal
>> 0x3ebf4e20 s OutOfMemory class(Behavior)>basicNew
>> 0x3ebf4e7c s OutOfMemory class(Behavior)>new
>> 0x3ebf4ed8 s OutOfMemory class(Exception class)>signal
>> 0x3ebf4f34 s OutOfMemory class(Behavior)>basicNew
>> 0x3ebf4f90 s OutOfMemory class(Behavior)>new
>> 0x3ebf4fec s OutOfMemory class(Exception class)>signal
>> 0x3ebe5290 s WeakFinalizerItem class(Behavior)>basicNew:
>> 0x3ebf5048 s WeakFinalizerItem class>new
>> 0x3ebf50a4 s [] in WeakRegistry>add:executor:
>> 0x3ebe5234 s WeakIdentityKeyDictionary(Dictionary)>at:ifAbsent:
>> 0x3ebe51c4 s [] in WeakRegistry>add:executor:
>> 0x3ebf4860 s BlockClosure>on:do:
>> 0x3ebe5154 s BlockClosure>ifError:
>> 0x3ebe50e4 s [] in Semaphore>critical:ifError:
>> 0x3ebf48bc s [] in Semaphore>critical:
>> 0x3ebf4918 s BlockClosure>ensure:
>> 0x3ebe505c s Semaphore>critical:
>> 0x3ebe4fdc s Semaphore>critical:ifError:
>> 0x3ebe4f5c s WeakRegistry>protected:
>> 0x3ebe4ee8 s WeakRegistry>add:executor:
>> 0x3ebf4974 s WeakRegistry>add:
>> 0x3ebf49d0 s MultiByteFileStream class(StandardFileStream class)>register:
>> 0x3ebf4a2c s MultiByteFileStream(StandardFileStream)>register
>> 0x3ebe4de0 s MultiByteFileStream(StandardFileStream)>open:forWrite:
>> 0x3ebe4e58 s MultiByteFileStream>open:forWrite:
>> 0x3ebf4524 s MultiByteFileStream class(StandardFileStream class)>readOnlyFileNamed:
>> 0x3ebf4580 s MultiByteFileStream(StandardFileStream)>readOnlyCopy
>> 0x3ebf45dc s [] in SourceFileArray>readStreamAtFileIndex:atPosition:ifPresent:ifAbsent:
>> 0x3ebf4638 s BlockClosure>on:do:
>> 0x3ebe4cc8 s SourceFileArray>readStreamAtFileIndex:atPosition:ifPresent:ifAbsent:
>> 0x3ebf4694 s SourceFileArray>readStreamAt:ifPresent:ifAbsent:
>> 0x3ebe4be8 s SourceFileArray>sourceCodeAt:
>> 0x3ebe4c64 s [] in CompiledMethod>getSourceFromFile
>> 0x3ebf418c s BlockClosure>on:do:
>> 0x3ebe4b6c s CompiledMethod>getSourceFromFile
>> 0x3ebf41e8 s CompiledMethod>sourceCode
>> 0x3ebf4244 s CompiledMethod>parseTree
>> 0x3ebf42a0 s [] in ASTCache>at:
>> 0x3ebf42fc s [] in ASTCache(Dictionary)>at:ifAbsentPut:
>> 0x3ebf4358 s ASTCache(Dictionary)>at:ifAbsent:
>> 0x3ebe4adc s ASTCache(Dictionary)>at:ifAbsentPut:
>> 0x3ebe4a6c s ASTCache>at:
>> 0x3ebe4a10 s ASTCache class>at:
>> 0x3ebe49b4 s CompiledMethod>ast
>> 0x3ebf3ce0 s CompiledMethod>sourceNode
>> 0x3ebf3d3c s CompiledMethod>sourceNodeForPC:
>> 0x3ebf3d98 s BlockClosure>sourceNode
>> 0x3ebf3df4 s BlockClosure>printOn:
>> 0x3ebf3e50 s [] in BlockClosure(Object)>printStringLimitedTo:
>> 0x3ebe4944 s String class(SequenceableCollection class)>streamContents:limitedTo:
>> 0x3ebe4850 s BlockClosure(Object)>printStringLimitedTo:
>> 0x3ebf3eac s BlockClosure(Object)>printString
>> 0x3ebf3f08 s Context>printOn:
>> 0x3ebf3f64 s Context>printDebugOn:
>> 0x3ebf3fc0 s [] in Context>debugStack:on:
>> 0x3ebe44c8 s OrderedCollection>do:
>> 0x3ebe4458 s Context>debugStack:on:
>> 0x3ebf3a00 s Context>shortDebugStackOn:
>> 0x3ebf3a5c s [] in ControlButtonMorph(Morph)>drawErrorOn:
>> 0x3ebf3ab8 s String class(SequenceableCollection class)>new:streamContents:
>> 0x3ebf3b14 s String class(SequenceableCollection class)>streamContents:
>> 0x3ebe4318 s [] in ControlButtonMorph(Morph)>drawErrorOn:
>> 0x3ebe42b4 s ControlButtonMorph(Morph)>valueOfProperty:ifPresentDo:
>> 0x3ebe41e0 s ControlButtonMorph(Morph)>drawErrorOn:
>> 0x3ebe4244 s [] in ControlButtonMorph(Morph)>fullDrawOn:
>> 0x3ebf377c s BlockClosure>cull:
>> 0x3ebf37d8 s Context>evaluateSignal:
>> 0x3ebf3834 s Context>handleSignal:
>> 0x3ebe1608 s OutOfMemory(Exception)>signal
>> 0x3ebe1664 s OutOfMemory class(Exception class)>signal
>> 0x3ebe158c s BalloonBuffer class(Behavior)>basicNew:
>> 0x3ebe1830 s BalloonBuffer class(Behavior)>new:
>> 0x3ebe1478 s BalloonEngine class>allocateOrRecycleBuffer:
>> 0x3ebe1944 s BalloonEngine>reset
>> 0x3ebe1530 s BalloonEngine>resetIfNeeded
>> 0x3ebe14d4 s BalloonEngine>drawRectangle:fill:borderWidth:borderColor:transform:
>> 0x3ebe1ab4 s BalloonCanvas>drawRectangle:color:borderWidth:borderColor:
>> 0x3ebe1b6c s BalloonCanvas>fillRectangle:basicFillStyle:
>> 0x3ebe1c24 s FormCanvas>balloonFillRectangle:fillStyle:
>> 0x3ebe1cdc s FormCanvas>fillRectangle:basicFillStyle:
>> 0x3ebe1d94 s GradientFillStyle(FillStyle)>fillRectangle:on:
>> 0x3ebe1e4c s FormCanvas(Canvas)>fillRectangle:fillStyle:
>> 0x3ebe1f04 s FormCanvas(Canvas)>fillRectangle:fillStyle:borderStyle:
>> 0x3ebe1fbc s ControlButtonMorph(Morph)>drawOn:
>> 0x3ebdf0fc s FormCanvas(Canvas)>draw:
>> 0x3ebdf0a0 s FormCanvas(Canvas)>drawMorph:
>> 0x3ebe212c s [] in ControlButtonMorph(Morph)>fullDrawOn:
>> 0x3ebe21e4 s FormCanvas>roundCornersOf:in:during:
>> 0x3ebe229c s FormCanvas(Canvas)>roundCornersOf:during:
>> 0x3ebdf030 s [] in ControlButtonMorph(Morph)>fullDrawOn:
>> 0x3ebe16c0 s BlockClosure>on:do:
>> 0x3ebdefac s ControlButtonMorph(Morph)>fullDrawOn:
>> 0x3ebe2468 s FormCanvas(Canvas)>fullDraw:
>> 0x3ebe2520 s FormCanvas(Canvas)>fullDrawMorph:
>> 0x3ebe25d8 s [] in SearchMorph(Morph)>drawSubmorphsOn:
>> 0x3ebe2690 s Array(SequenceableCollection)>reverseDo:
>> 0x3ebdef3c s [] in SearchMorph(Morph)>drawSubmorphsOn:
>> 0x3ebe27a4 s FormCanvas>clipBy:during:
>> 0x3ebded5c s SearchMorph(Morph)>drawSubmorphsOn:
>> 0x3ebdedc8 s SearchMorph(DropListMorph)>drawSubmorphsOn:
>> 0x3ebe2914 s [] in SearchMorph(Morph)>fullDrawOn:
>> 0x3ebe29cc s FormCanvas>roundCornersOf:in:during:
>> 0x3ebe2a84 s FormCanvas(Canvas)>roundCornersOf:during:
>> 0x3ebdecc8 s [] in SearchMorph(Morph)>fullDrawOn:
>> 0x3ebe2b98 s BlockClosure>on:do:
>> 0x3ebdec44 s SearchMorph(Morph)>fullDrawOn:
>> 0x3ebe2cac s FormCanvas(Canvas)>fullDraw:
>> 0x3ebe2d64 s FormCanvas(Canvas)>fullDrawMorph:
>> 0x3ebe2e1c s [] in SystemWindow(Morph)>drawSubmorphsOn:
>> 0x3ebd976c s Array(SequenceableCollection)>reverseDo:
>> 0x3ebd96fc s [] in SystemWindow(Morph)>drawSubmorphsOn:
>> 0x3ebe2f8c s FormCanvas>clipBy:during:
>> 0x3ebd9584 s SystemWindow(Morph)>drawSubmorphsOn:
>> 0x3ebe30a0 s [] in SystemWindow(Morph)>fullDrawOn:
>> 0x3ebe3158 s FormCanvas>roundCornersOf:in:during:
>> 0x3ebe3210 s FormCanvas(Canvas)>roundCornersOf:during:
>> 0x3ebd94f0 s [] in SystemWindow(Morph)>fullDrawOn:
>> 0x3ebe3324 s BlockClosure>on:do:
>> 0x3ebd946c s SystemWindow(Morph)>fullDrawOn:
>> 0x3ebd9410 s FormCanvas(Canvas)>fullDraw:
>> 0x3ebd93b4 s FormCanvas(Canvas)>fullDrawMorph:
>> 0x3ebd9004 s [] in WorldState>drawWorld:submorphs:invalidAreasOn:
>> 0x3ebe35ec s Rectangle>allAreasOutsideList:startingAt:do:
>> 0x3ebe36a4 s Rectangle>allAreasOutsideList:do:
>> 0x3ebd8e94 s [] in WorldState>drawWorld:submorphs:invalidAreasOn:
>> 0x3ebe3858 s Array(SequenceableCollection)>do:
>> 0x3ebd8b98 s WorldState>drawWorld:submorphs:invalidAreasOn:
>> 0x3ebd8c94 s [] in WorldState>displayWorld:submorphs:
>> 0x3ebe3a68 s FormCanvas>roundCornersOf:in:during:
>> 0x3ebe3b20 s FormCanvas(Canvas)>roundCornersOf:during:
>> 0x3ebd8aa8 s WorldState>displayWorld:submorphs:
>> 0x3ebe3c34 s WorldMorph>displayWorld
>> 0x3ebe3cec s [] in WorldState>displayWorldSafely:
>> 0x3ebe3da4 s BlockClosure>on:do:
>> 0x3ebd8a2c s BlockClosure>ifError:
>> 0x3ebd89ac s WorldState>displayWorldSafely:
>> 0x3ebd3df4 s WorldState>doOneCycleNowFor:
>> 0x3ebe3f70 s WorldState>doOneCycleFor:
>> 0x3ebe4028 s WorldMorph>doOneCycle
>> 0x2162ad58 s [] in MorphicUIManager>spawnNewProcess
>> 0x21629f30 s [] in BlockClosure>newProcess
>>
>>
>>
>> _,,,^..^,,,_
>> best, Eliot
>
Oct. 18, 2015
Re: [Pharo-dev] interesting recursive out-of-memory error
by Nicolai Hess
Thanks eliot.
Did you run anything that consumed much memory?
Platform linux?
2015-10-18 2:24 GMT+02:00 Eliot Miranda <eliot.miranda(a)gmail.com>:
> Hi All,
>
> this in a bleeding edge Pharo 5 image which had been left standing
> with a Playground open which, when I clicked on it after leaving it for
> over an hour, got into an infinite recursion failing to allocate an object
> as part of opening a file to write an error report to. Here's the infinite
> recursion beginning. Full crash.mp attached.
>
> 0x3ebf4bf8 s OutOfMemory class(Exception class)>signal
> 0x3ebf4c54 s OutOfMemory class(Behavior)>basicNew
> 0x3ebf4cb0 s OutOfMemory class(Behavior)>new
> 0x3ebf4d0c s OutOfMemory class(Exception class)>signal
> 0x3ebe52ec s OutOfMemory class(Behavior)>basicNew
> 0x3ebf4d68 s OutOfMemory class(Behavior)>new
> 0x3ebf4dc4 s OutOfMemory class(Exception class)>signal
> 0x3ebf4e20 s OutOfMemory class(Behavior)>basicNew
> 0x3ebf4e7c s OutOfMemory class(Behavior)>new
> 0x3ebf4ed8 s OutOfMemory class(Exception class)>signal
> 0x3ebf4f34 s OutOfMemory class(Behavior)>basicNew
> 0x3ebf4f90 s OutOfMemory class(Behavior)>new
> 0x3ebf4fec s OutOfMemory class(Exception class)>signal
> 0x3ebe5290 s WeakFinalizerItem class(Behavior)>basicNew:
> 0x3ebf5048 s WeakFinalizerItem class>new
> 0x3ebf50a4 s [] in WeakRegistry>add:executor:
> 0x3ebe5234 s WeakIdentityKeyDictionary(Dictionary)>at:ifAbsent:
> 0x3ebe51c4 s [] in WeakRegistry>add:executor:
> 0x3ebf4860 s BlockClosure>on:do:
> 0x3ebe5154 s BlockClosure>ifError:
> 0x3ebe50e4 s [] in Semaphore>critical:ifError:
> 0x3ebf48bc s [] in Semaphore>critical:
> 0x3ebf4918 s BlockClosure>ensure:
> 0x3ebe505c s Semaphore>critical:
> 0x3ebe4fdc s Semaphore>critical:ifError:
> 0x3ebe4f5c s WeakRegistry>protected:
> 0x3ebe4ee8 s WeakRegistry>add:executor:
> 0x3ebf4974 s WeakRegistry>add:
> 0x3ebf49d0 s MultiByteFileStream class(StandardFileStream class)>register:
> 0x3ebf4a2c s MultiByteFileStream(StandardFileStream)>register
> 0x3ebe4de0 s MultiByteFileStream(StandardFileStream)>open:forWrite:
> 0x3ebe4e58 s MultiByteFileStream>open:forWrite:
> 0x3ebf4524 s MultiByteFileStream class(StandardFileStream
> class)>readOnlyFileNamed:
> 0x3ebf4580 s MultiByteFileStream(StandardFileStream)>readOnlyCopy
> 0x3ebf45dc s [] in
> SourceFileArray>readStreamAtFileIndex:atPosition:ifPresent:ifAbsent:
> 0x3ebf4638 s BlockClosure>on:do:
> 0x3ebe4cc8 s
> SourceFileArray>readStreamAtFileIndex:atPosition:ifPresent:ifAbsent:
> 0x3ebf4694 s SourceFileArray>readStreamAt:ifPresent:ifAbsent:
> 0x3ebe4be8 s SourceFileArray>sourceCodeAt:
> 0x3ebe4c64 s [] in CompiledMethod>getSourceFromFile
> 0x3ebf418c s BlockClosure>on:do:
> 0x3ebe4b6c s CompiledMethod>getSourceFromFile
> 0x3ebf41e8 s CompiledMethod>sourceCode
> 0x3ebf4244 s CompiledMethod>parseTree
> 0x3ebf42a0 s [] in ASTCache>at:
> 0x3ebf42fc s [] in ASTCache(Dictionary)>at:ifAbsentPut:
> 0x3ebf4358 s ASTCache(Dictionary)>at:ifAbsent:
> 0x3ebe4adc s ASTCache(Dictionary)>at:ifAbsentPut:
> 0x3ebe4a6c s ASTCache>at:
> 0x3ebe4a10 s ASTCache class>at:
> 0x3ebe49b4 s CompiledMethod>ast
> 0x3ebf3ce0 s CompiledMethod>sourceNode
> 0x3ebf3d3c s CompiledMethod>sourceNodeForPC:
> 0x3ebf3d98 s BlockClosure>sourceNode
> 0x3ebf3df4 s BlockClosure>printOn:
> 0x3ebf3e50 s [] in BlockClosure(Object)>printStringLimitedTo:
> 0x3ebe4944 s String class(SequenceableCollection
> class)>streamContents:limitedTo:
> 0x3ebe4850 s BlockClosure(Object)>printStringLimitedTo:
> 0x3ebf3eac s BlockClosure(Object)>printString
> 0x3ebf3f08 s Context>printOn:
> 0x3ebf3f64 s Context>printDebugOn:
> 0x3ebf3fc0 s [] in Context>debugStack:on:
> 0x3ebe44c8 s OrderedCollection>do:
> 0x3ebe4458 s Context>debugStack:on:
> 0x3ebf3a00 s Context>shortDebugStackOn:
> 0x3ebf3a5c s [] in ControlButtonMorph(Morph)>drawErrorOn:
> 0x3ebf3ab8 s String class(SequenceableCollection class)>new:streamContents:
> 0x3ebf3b14 s String class(SequenceableCollection class)>streamContents:
> 0x3ebe4318 s [] in ControlButtonMorph(Morph)>drawErrorOn:
> 0x3ebe42b4 s ControlButtonMorph(Morph)>valueOfProperty:ifPresentDo:
> 0x3ebe41e0 s ControlButtonMorph(Morph)>drawErrorOn:
> 0x3ebe4244 s [] in ControlButtonMorph(Morph)>fullDrawOn:
> 0x3ebf377c s BlockClosure>cull:
> 0x3ebf37d8 s Context>evaluateSignal:
> 0x3ebf3834 s Context>handleSignal:
> 0x3ebe1608 s OutOfMemory(Exception)>signal
> 0x3ebe1664 s OutOfMemory class(Exception class)>signal
> 0x3ebe158c s BalloonBuffer class(Behavior)>basicNew:
> 0x3ebe1830 s BalloonBuffer class(Behavior)>new:
> 0x3ebe1478 s BalloonEngine class>allocateOrRecycleBuffer:
> 0x3ebe1944 s BalloonEngine>reset
> 0x3ebe1530 s BalloonEngine>resetIfNeeded
> 0x3ebe14d4 s
> BalloonEngine>drawRectangle:fill:borderWidth:borderColor:transform:
> 0x3ebe1ab4 s BalloonCanvas>drawRectangle:color:borderWidth:borderColor:
> 0x3ebe1b6c s BalloonCanvas>fillRectangle:basicFillStyle:
> 0x3ebe1c24 s FormCanvas>balloonFillRectangle:fillStyle:
> 0x3ebe1cdc s FormCanvas>fillRectangle:basicFillStyle:
> 0x3ebe1d94 s GradientFillStyle(FillStyle)>fillRectangle:on:
> 0x3ebe1e4c s FormCanvas(Canvas)>fillRectangle:fillStyle:
> 0x3ebe1f04 s FormCanvas(Canvas)>fillRectangle:fillStyle:borderStyle:
> 0x3ebe1fbc s ControlButtonMorph(Morph)>drawOn:
> 0x3ebdf0fc s FormCanvas(Canvas)>draw:
> 0x3ebdf0a0 s FormCanvas(Canvas)>drawMorph:
> 0x3ebe212c s [] in ControlButtonMorph(Morph)>fullDrawOn:
> 0x3ebe21e4 s FormCanvas>roundCornersOf:in:during:
> 0x3ebe229c s FormCanvas(Canvas)>roundCornersOf:during:
> 0x3ebdf030 s [] in ControlButtonMorph(Morph)>fullDrawOn:
> 0x3ebe16c0 s BlockClosure>on:do:
> 0x3ebdefac s ControlButtonMorph(Morph)>fullDrawOn:
> 0x3ebe2468 s FormCanvas(Canvas)>fullDraw:
> 0x3ebe2520 s FormCanvas(Canvas)>fullDrawMorph:
> 0x3ebe25d8 s [] in SearchMorph(Morph)>drawSubmorphsOn:
> 0x3ebe2690 s Array(SequenceableCollection)>reverseDo:
> 0x3ebdef3c s [] in SearchMorph(Morph)>drawSubmorphsOn:
> 0x3ebe27a4 s FormCanvas>clipBy:during:
> 0x3ebded5c s SearchMorph(Morph)>drawSubmorphsOn:
> 0x3ebdedc8 s SearchMorph(DropListMorph)>drawSubmorphsOn:
> 0x3ebe2914 s [] in SearchMorph(Morph)>fullDrawOn:
> 0x3ebe29cc s FormCanvas>roundCornersOf:in:during:
> 0x3ebe2a84 s FormCanvas(Canvas)>roundCornersOf:during:
> 0x3ebdecc8 s [] in SearchMorph(Morph)>fullDrawOn:
> 0x3ebe2b98 s BlockClosure>on:do:
> 0x3ebdec44 s SearchMorph(Morph)>fullDrawOn:
> 0x3ebe2cac s FormCanvas(Canvas)>fullDraw:
> 0x3ebe2d64 s FormCanvas(Canvas)>fullDrawMorph:
> 0x3ebe2e1c s [] in SystemWindow(Morph)>drawSubmorphsOn:
> 0x3ebd976c s Array(SequenceableCollection)>reverseDo:
> 0x3ebd96fc s [] in SystemWindow(Morph)>drawSubmorphsOn:
> 0x3ebe2f8c s FormCanvas>clipBy:during:
> 0x3ebd9584 s SystemWindow(Morph)>drawSubmorphsOn:
> 0x3ebe30a0 s [] in SystemWindow(Morph)>fullDrawOn:
> 0x3ebe3158 s FormCanvas>roundCornersOf:in:during:
> 0x3ebe3210 s FormCanvas(Canvas)>roundCornersOf:during:
> 0x3ebd94f0 s [] in SystemWindow(Morph)>fullDrawOn:
> 0x3ebe3324 s BlockClosure>on:do:
> 0x3ebd946c s SystemWindow(Morph)>fullDrawOn:
> 0x3ebd9410 s FormCanvas(Canvas)>fullDraw:
> 0x3ebd93b4 s FormCanvas(Canvas)>fullDrawMorph:
> 0x3ebd9004 s [] in WorldState>drawWorld:submorphs:invalidAreasOn:
> 0x3ebe35ec s Rectangle>allAreasOutsideList:startingAt:do:
> 0x3ebe36a4 s Rectangle>allAreasOutsideList:do:
> 0x3ebd8e94 s [] in WorldState>drawWorld:submorphs:invalidAreasOn:
> 0x3ebe3858 s Array(SequenceableCollection)>do:
> 0x3ebd8b98 s WorldState>drawWorld:submorphs:invalidAreasOn:
> 0x3ebd8c94 s [] in WorldState>displayWorld:submorphs:
> 0x3ebe3a68 s FormCanvas>roundCornersOf:in:during:
> 0x3ebe3b20 s FormCanvas(Canvas)>roundCornersOf:during:
> 0x3ebd8aa8 s WorldState>displayWorld:submorphs:
> 0x3ebe3c34 s WorldMorph>displayWorld
> 0x3ebe3cec s [] in WorldState>displayWorldSafely:
> 0x3ebe3da4 s BlockClosure>on:do:
> 0x3ebd8a2c s BlockClosure>ifError:
> 0x3ebd89ac s WorldState>displayWorldSafely:
> 0x3ebd3df4 s WorldState>doOneCycleNowFor:
> 0x3ebe3f70 s WorldState>doOneCycleFor:
> 0x3ebe4028 s WorldMorph>doOneCycle
> 0x2162ad58 s [] in MorphicUIManager>spawnNewProcess
> 0x21629f30 s [] in BlockClosure>newProcess
>
>
>
> _,,,^..^,,,_
> best, Eliot
>
Oct. 18, 2015
Re: [Pharo-dev] Storing System Settings using STON
by stepharo
Can you past the full tree so that I understand?
Oct. 18, 2015
Re: [Pharo-dev] [Cryptography port to Pharo] RandomGenerator class>>unpredictableStringsDo:
by Robert Withers
I'm sorry, I forgot the code. I list the existing method, followed by my
modified Pharo method below. I welcome any feedback.
Regards,
Robert
---
Existing:
unpredictableStringsDo: aBlock
"Enumerate sources of information from my environment that should be
generally hard to guess."
| time |
time := Time millisecondsToRun:
[ aBlock
value: World imageForm bits compressToByteArray ;
value: Sensor mousePoint x asString ;
value: Sensor mousePoint y asString ;
value: Time millisecondClockValue asByteArray ;
value: Date today asString ;
value: Time now asString ;
value: Display extent asString.
100 timesRepeat: [ aBlock value: UUID new ].
#(vmVersion platformName primVmPath imageName platformSubtype
datedVersion lastQuitLogPosition vmStatisticsReportString imageName)
collect:
[ : each |
aBlock value: (SmalltalkImage current perform: each) asByteArray ] ].
aBlock
value: time asByteArray;
"maybe the pointer has moved, hit it again."
value: Sensor mousePoint asString ;
value: Time millisecondClockValue asByteArray
---
Pharo port:
unpredictableStringsDo: aBlock
"Enumerate sources of information from my environment that should be
generally hard to guess."
| time |
time := Time millisecondsToRun:
[ aBlock
value: Time millisecondClockValue asByteArray ;
value: Date today asString ;
value: Time now asString.
100 timesRepeat: [ aBlock value: UUID new ].
#(version primImagePath imagePath datedVersion lastQuitLogPosition)
collect:
[ : each |
aBlock value: (SmalltalkImage current perform: each) asByteArray ] ].
aBlock
value: time asByteArray;
value: Time millisecondClockValue asByteArray
On 10/18/2015 04:23 AM, Robert Withers wrote:
> This is a message intended for anyone who was on the Cryptography team.
> I recently ported it to Pharo and had to make changes to RandomGenerator
> class>>unpredictableStringsDo:. This certainly removed some uncertainty
> from the results of this message. My question is what should I do about
> that? This method seems to require non-headless, as it is checking the
> mouse point and such. This being a crypto cornerstone, what the best
> answer here.
>
> Thank you,
> Robert
Oct. 18, 2015
[Cryptography port to Pharo] RandomGenerator class>>unpredictableStringsDo:
by Robert Withers
This is a message intended for anyone who was on the Cryptography team.
I recently ported it to Pharo and had to make changes to RandomGenerator
class>>unpredictableStringsDo:. This certainly removed some uncertainty
from the results of this message. My question is what should I do about
that? This method seems to require non-headless, as it is checking the
mouse point and such. This being a crypto cornerstone, what the best
answer here.
Thank you,
Robert
Oct. 18, 2015
Re: [Pharo-dev] [Vm-dev] VM Maker: VMMaker.oscog-eem.1492.mcz
by Robert Withers
I think I have a 32-bit ubuntu install so these changes may not make a
difference. Although, would I be able to run 64-bit images in the
simulator on a 32-bit machine? That would be very cool.
I would still be interested in building the latest VMMaker generated
code in Pharo. In search of training and guidance, is there a write up
on which packages to load (Cog, Cog.pharo, CogVMMakerPharoCompatibility,
VMMaker.oscog, ...)?
thank you,
Robert
On 10/18/2015 12:33 AM, commits(a)source.squeak.org wrote:
>
> Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
> http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1492.mcz
>
> ==================== Summary ====================
>
> Name: VMMaker.oscog-eem.1492
> Author: eem
> Time: 17 October 2015, 5:32:12.348 pm
> UUID: a0778a36-b0e9-4e06-af1a-0e50572c9db1
> Ancestors: VMMaker.oscog-eem.1491
>
> x64 Cogit:
> Get the Cogit to a state where the 64-bit Spur image starts simulating. It's a new world ;-)
>
> Reimplement CMethodCacheAccessor, introducing CArrayOfLongsAccessor for the primitive trace log.
>
> Alter CogStackPage and surrogates so that CogStackPageSurrogate64 is properly laid out.
>
> Revise the signedIntToFrom/Foo methods, and add some tests to check their behaviour.
>
> Provide two move multi-tab browser opening conveniences.
>
> =============== Diff against VMMaker.oscog-eem.1491 ===============
>
> Item was added:
> + CObjectAccessor subclass: #CArrayOfLongsAccessor
> + instanceVariableNames: 'objectMemory address elementByteSize'
> + classVariableNames: ''
> + poolDictionaries: ''
> + category: 'VMMaker-JITSimulation'!
> +
> + !CArrayOfLongsAccessor commentStamp: 'eem 10/8/2015 12:49' prior: 0!
> + A CArrayOfLongsAccessor is a class that wraps an Array stored in the heap. It maps at:[put:] into a suitably aligned and offset longAt:[put:], for accessing Arrays stored in the heap, such as the primTraceLog.
> +
> + Instance Variables
> + address: <Integer>
> + entryByteSize: <Integer>
> + objectMemory: <NewCoObjectMemorySimulator|Spur64BitMMLECoSimulator|Spur64BitMMLECoSimulator|Spur64BitMMBECoSimulator|Spur64BitMMBECoSimulator>
> +
> + address
> + - the base address in the heap of the start of the array
> +
> + entryByteSize
> + - the size of an element, in bytes
> +
> + objectMemory
> + - the memory manager whose heap is being accessed
> + !
>
> Item was added:
> + ----- Method: CArrayOfLongsAccessor>>address (in category 'accessing') -----
> + address
> + ^address!
>
> Item was added:
> + ----- Method: CArrayOfLongsAccessor>>at: (in category 'accessing') -----
> + at: index
> + "Map at: into a suitably aligned and offset longAt:, for accessing Arrays stored in the heap, such as the primTraceLog."
> + ^objectMemory longAt: index * elementByteSize + address!
>
> Item was added:
> + ----- Method: CArrayOfLongsAccessor>>at:put: (in category 'accessing') -----
> + at: index put: aValue
> + "Map at:put: into a suitably aligned and offset longAt:put:, for accessing Arrays stored in the heap, such as the primTraceLog."
> + ^objectMemory longAt: index * elementByteSize + address put: aValue!
>
> Item was added:
> + ----- Method: CArrayOfLongsAccessor>>objectMemory:at: (in category 'initialize-release') -----
> + objectMemory: anObjectMemory at: anAddress
> + objectMemory := anObjectMemory.
> + object := anObjectMemory memory.
> + offset := anAddress / anObjectMemory wordSize.
> + elementByteSize := anObjectMemory wordSize.
> + address := anAddress!
>
> Item was changed:
> + CArrayOfLongsAccessor subclass: #CMethodCacheAccessor
> + instanceVariableNames: 'methodCacheArray entrySize functionPointerIndex'
> - CObjectAccessor subclass: #CMethodCacheAccessor
> - instanceVariableNames: 'methodCacheArray functionPointerIndex entrySize'
> classVariableNames: ''
> poolDictionaries: ''
> category: 'VMMaker-JITSimulation'!
>
> !CMethodCacheAccessor commentStamp: '<historical>' prior: 0!
> I am used to simulate accesses to the methodCache so it can live partly in memory, partly in a Smalltalk Array. This is necessary because in simulation function pointers are Smalltalk symbols (under simulation primitive dispatch is done via perform:).
> !
>
> Item was changed:
> ----- Method: CMethodCacheAccessor>>at: (in category 'accessing') -----
> at: index
> "The special handling of functionPointerIndex is necessary because in simulation function
> pointers are Smalltalk symbols (under simulation primitive dispatch is done via perform:)."
> index - 1 \\ entrySize = functionPointerIndex ifTrue:
> [^methodCacheArray at: index].
> + ^objectMemory longAt: index * elementByteSize + address!
> - ^object at: index + offset!
>
> Item was changed:
> ----- Method: CMethodCacheAccessor>>at:put: (in category 'accessing') -----
> at: index put: value
> "The special handling of functionPointerIndex is necessary because in simulation function
> pointers are Smalltalk symbols (under simulation primitive dispatch is done via perform:)."
> + (index = 16r44F and: [value = 16r1D]) ifTrue:
> + [self halt].
> index - 1 \\ entrySize = functionPointerIndex ifTrue:
> + [objectMemory longAt: index * elementByteSize + address put: (0 = value ifTrue: [value] ifFalse: [value identityHash]).
> + ^methodCacheArray at: index put: value].
> + ^objectMemory longAt: index * elementByteSize + address put: value!
> - [^methodCacheArray at: index put: value].
> - ^object at: index + offset put: value!
>
> Item was removed:
> - ----- Method: CMethodCacheAccessor>>memory:offset:array:functionPointerIndex:entrySize: (in category 'initialize-release') -----
> - memory: anObject offset: baseIndex array: cacheArray functionPointerIndex: fpIndex entrySize: esz
> - object := anObject.
> - offset := baseIndex.
> - methodCacheArray := cacheArray.
> - functionPointerIndex := fpIndex - 1.
> - entrySize := esz!
>
> Item was added:
> + ----- Method: CMethodCacheAccessor>>objectMemory:at:array:functionPointerIndex:entrySize: (in category 'initialize-release') -----
> + objectMemory: anObjectMemory at: anAddress array: cacheArray functionPointerIndex: fpIndex entrySize: wordsPerCacheEntry
> + self objectMemory: anObjectMemory
> + at: anAddress - anObjectMemory wordSize. "implicit -1 for indices in at:[put:]; the MethodCache is one-relative"
> + methodCacheArray := cacheArray.
> + functionPointerIndex := fpIndex - 1.
> + entrySize := wordsPerCacheEntry!
>
> Item was added:
> + ----- Method: CObjectAccessor class>>defaultIntegerBaseInDebugger (in category 'debugger') -----
> + defaultIntegerBaseInDebugger
> + ^VMClass defaultIntegerBaseInDebugger!
>
> Item was changed:
> ----- Method: CoInterpreter>>methodCacheAddress (in category 'cog jit support') -----
> methodCacheAddress
> <api>
> <returnTypeC: #'void *'>
> + ^self cCode: [methodCache] inSmalltalk: [methodCache address]!
> - ^self cCode: [methodCache] inSmalltalk: [methodCache offset - 1 * objectMemory wordSize]!
>
> Item was changed:
> ----- Method: CoInterpreterStackPages>>longAt:put: (in category 'memory access') -----
> + longAt: byteAddress put: a32Or64BitValue
> - longAt: byteAddress put: a32BitValue
> <doNotGenerate>
> self assert: (byteAddress >= minStackAddress and: [byteAddress < maxStackAddress]).
> + ^objectMemory longAt: byteAddress put: a32Or64BitValue!
> - ^objectMemory longAt: byteAddress put: a32BitValue!
>
> Item was changed:
> ----- Method: CoInterpreterStackPagesLSB>>byteAt: (in category 'memory access') -----
> byteAt: byteAddress
> | lowBits long |
> + lowBits := byteAddress bitAnd: objectMemory wordSize - 1.
> - lowBits := byteAddress bitAnd: 3.
> long := self longAt: byteAddress - lowBits.
> + lowBits > 0 ifTrue:
> + [long := long bitShift: lowBits * -8].
> + ^long bitAnd: 16rFF!
> - ^(lowBits caseOf: {
> - [0] -> [ long ].
> - [1] -> [ long bitShift: -8 ].
> - [2] -> [ long bitShift: -16 ].
> - [3] -> [ long bitShift: -24 ]
> - }) bitAnd: 16rFF!
>
> Item was changed:
> ----- Method: CoInterpreterStackPagesLSB>>byteAt:put: (in category 'memory access') -----
> byteAt: byteAddress put: byte
> | lowBits long longAddress |
> + self assert: (byte between: 0 and: 16rFF).
> + lowBits := byteAddress bitAnd: objectMemory wordSize - 1.
> - lowBits := byteAddress bitAnd: 3.
> longAddress := byteAddress - lowBits.
> long := self longAt: longAddress.
> + long := (long bitOr: (16rFF bitShift: lowBits * 8)) bitXor: (byte bitXor: 16rFF).
> - long := lowBits caseOf: {
> - [0] -> [ (long bitAnd: 16rFFFFFF00) bitOr: byte ].
> - [1] -> [ (long bitAnd: 16rFFFF00FF) bitOr: (byte bitShift: 8) ].
> - [2] -> [ (long bitAnd: 16rFF00FFFF) bitOr: (byte bitShift: 16) ].
> - [3] -> [ (long bitAnd: 16r00FFFFFF) bitOr: (byte bitShift: 24) ]
> - }.
> -
> self longAt: longAddress put: long.
> ^byte!
>
> Item was changed:
> VMStructType subclass: #CogStackPage
> + instanceVariableNames: 'stackLimit headSP headFP baseFP baseAddress realStackLimit lastAddress trace padToWord nextPage prevPage'
> - instanceVariableNames: 'stackLimit headSP headFP baseFP baseAddress realStackLimit lastAddress trace nextPage prevPage'
> classVariableNames: ''
> poolDictionaries: 'VMBasicConstants VMBytecodeConstants'
> category: 'VMMaker-Interpreter'!
>
> !CogStackPage commentStamp: 'eem 8/14/2015 12:06' prior: 0!
> I am a class that helps organize the StackInterpreter's collection of stack pages. I represent the control block for a single stack page in the collection of stack pages represented by an InterpreterStackPages or CoInterpreterStackPages instance.!
>
> Item was added:
> + ----- Method: CogStackPage class>>getter:bitPosition:bitWidth:type: (in category 'code generation') -----
> + getter: getter bitPosition: bitPosition bitWidth: bitWidth type: typeOrNil
> + ^String streamContents:
> + [:s| | startByte endByte accessor |
> + startByte := bitPosition // 8.
> + endByte := bitPosition + bitWidth - 1 // 8.
> + self assert: bitPosition \\ 8 = 0.
> + self assert: startByte \\ (bitWidth // 8) = 0.
> + accessor := #('byte' 'short' 'long' 'long')
> + at: endByte - startByte + 1
> + ifAbsent: ['long64'].
> + s nextPutAll: getter; crtab: 1; nextPut: $^.
> + (typeOrNil notNil and: [typeOrNil last = $*]) ifTrue:
> + [accessor := 'unsigned', (accessor copy
> + at: 1 put: accessor first asUppercase;
> + yourself)].
> + (typeOrNil notNil and: ['*StackPage*' match: typeOrNil]) ifTrue:
> + [s nextPutAll: 'stackPages surrogateAtAddress: ('].
> + s nextPutAll: 'memory ';
> + nextPutAll: accessor;
> + nextPutAll: 'At: address + '; print: startByte + 1.
> + (typeOrNil notNil and: ['*StackPage*' match: typeOrNil]) ifTrue:
> + [s nextPut: $)]]
> +
> + "| bitPosition |
> + bitPosition := 0.
> + (self fieldAccessorsForBytesPerWord: 4) collect:
> + [:spec|
> + bitPosition := bitPosition + spec second.
> + self getter: spec first
> + bitPosition: bitPosition - spec second
> + bitWidth: spec second
> + type: (spec at: 3 ifAbsent: [])]"!
>
> Item was changed:
> ----- Method: CogStackPage class>>instVarNamesAndTypesForTranslationDo: (in category 'translation') -----
> instVarNamesAndTypesForTranslationDo: aBinaryBlock
> "enumerate aBinaryBlock with the names and C type strings for the inst vars to include in a StackPage struct."
>
> self allInstVarNames do:
> [:ivn|
> + (ivn = 'padToWord' and: [BytesPerWord = 4]) ifFalse:
> - ivn ~= 'stackPagesMemory' ifTrue:
> [aBinaryBlock
> value: ivn
> + value: ((ivn = 'trace' or: [ivn = 'padToWord'])
> - value: (ivn = 'trace'
> ifTrue: [#int]
> ifFalse:
> [(ivn endsWith: 'Page')
> ifTrue: ['struct _StackPage *']
> ifFalse: [#'char *']])]]!
>
> Item was added:
> + ----- Method: CogStackPage class>>setter:bitPosition:bitWidth:type: (in category 'code generation') -----
> + setter: getter bitPosition: bitPosition bitWidth: bitWidth type: typeOrNil
> + ^String streamContents:
> + [:s| | startByte endByte accessor |
> + startByte := bitPosition // 8.
> + endByte := bitPosition + bitWidth - 1 // 8.
> + self assert: bitPosition \\ 8 = 0.
> + self assert: startByte \\ (bitWidth // 8) = 0.
> + accessor := #('byte' 'short' 'long' 'long')
> + at: endByte - startByte + 1
> + ifAbsent: ['long64'].
> + s nextPutAll: getter; nextPutAll: ': aValue'; crtab: 1;
> + nextPutAll: 'self assert: (address + '; print: startByte;
> + nextPutAll: ' >= zoneBase and: [address + '; print: endByte;
> + nextPutAll: ' < zoneLimit]).'; crtab: 1.
> + (typeOrNil notNil and: [typeOrNil last = $*]) ifTrue:
> + [accessor := 'unsigned', (accessor copy
> + at: 1 put: accessor first asUppercase;
> + yourself)].
> + (typeOrNil notNil and: ['*StackPage*' match: typeOrNil]) ifFalse:
> + [s nextPut: $^].
> + s nextPutAll: 'memory ';
> + nextPutAll: accessor; nextPutAll: 'At: address + '; print: startByte + 1;
> + nextPutAll: ' put: aValue'.
> + (typeOrNil notNil and: ['*StackPage*' match: typeOrNil]) ifTrue:
> + [s nextPutAll: ' asInteger.'; crtab: 1; nextPutAll: '^aValue']]
> +
> + "| bitPosition |
> + bitPosition := 0.
> + (self fieldAccessorsForBytesPerWord: 4) collect:
> + [:spec|
> + bitPosition := bitPosition + spec second.
> + self setter: spec first
> + bitPosition: bitPosition - spec second
> + bitWidth: spec second
> + type: (spec at: 3 ifAbsent: [])]"!
>
> Item was changed:
> + ----- Method: CogStackPageSurrogate32 class>>alignedByteSize (in category 'accessing') -----
> - ----- Method: CogStackPageSurrogate32 class>>alignedByteSize (in category 'instance creation') -----
> alignedByteSize
> ^40!
>
> Item was changed:
> ----- Method: CogStackPageSurrogate32>>nextPage: (in category 'accessing') -----
> nextPage: aValue
> self assert: (address + 32 >= zoneBase and: [address + 35 < zoneLimit]).
> + memory unsignedLongAt: address + 33 put: aValue asInteger.
> + ^aValue!
> - ^memory
> - unsignedLongAt: address + 33
> - put: aValue asInteger!
>
> Item was added:
> + ----- Method: CogStackPageSurrogate32>>padToWord (in category 'accessing') -----
> + padToWord
> + ^memory longAt: address + 33!
>
> Item was added:
> + ----- Method: CogStackPageSurrogate32>>padToWord: (in category 'accessing') -----
> + padToWord: aValue
> + self assert: (address + 32 >= zoneBase and: [address + 35 < zoneLimit]).
> + ^memory longAt: address + 33 put: aValue!
>
> Item was changed:
> ----- Method: CogStackPageSurrogate32>>prevPage: (in category 'accessing') -----
> prevPage: aValue
> self assert: (address + 36 >= zoneBase and: [address + 39 < zoneLimit]).
> + memory unsignedLongAt: address + 37 put: aValue asInteger.
> + ^aValue!
> - ^memory
> - unsignedLongAt: address + 37
> - put: aValue asInteger!
>
> Item was changed:
> ----- Method: CogStackPageSurrogate32>>stackLimit: (in category 'accessing') -----
> stackLimit: aValue
> + self assert: (address + 0 >= zoneBase and: [address + 3 < zoneLimit]).
> + ^memory unsignedLongAt: address + 1 put: aValue!
> - self assert: (address >= zoneBase and: [address + 3 < zoneLimit]).
> - ^memory unsignedLongAt: address + 1 put: aValue signedIntToLong!
>
> Item was changed:
> ----- Method: CogStackPageSurrogate64>>baseAddress (in category 'accessing') -----
> baseAddress
> + ^memory unsignedLong64At: address + 33!
> - ^memory long64At: address + 33!
>
> Item was changed:
> ----- Method: CogStackPageSurrogate64>>baseAddress: (in category 'accessing') -----
> baseAddress: aValue
> self assert: (address + 32 >= zoneBase and: [address + 39 < zoneLimit]).
> + ^memory unsignedLong64At: address + 33 put: aValue!
> - ^memory long64At: address + 33 put: aValue!
>
> Item was changed:
> ----- Method: CogStackPageSurrogate64>>baseFP (in category 'accessing') -----
> baseFP
> + ^memory unsignedLong64At: address + 25!
> - ^memory long64At: address + 25!
>
> Item was changed:
> ----- Method: CogStackPageSurrogate64>>baseFP: (in category 'accessing') -----
> baseFP: aValue
> self assert: (address + 24 >= zoneBase and: [address + 31 < zoneLimit]).
> + ^memory unsignedLong64At: address + 25 put: aValue!
> - ^memory long64At: address + 25 put: aValue!
>
> Item was changed:
> ----- Method: CogStackPageSurrogate64>>headFP (in category 'accessing') -----
> headFP
> + ^memory unsignedLong64At: address + 17!
> - ^memory long64At: address + 17!
>
> Item was changed:
> ----- Method: CogStackPageSurrogate64>>headFP: (in category 'accessing') -----
> headFP: aValue
> self assert: (address + 16 >= zoneBase and: [address + 23 < zoneLimit]).
> + ^memory unsignedLong64At: address + 17 put: aValue!
> - ^memory long64At: address + 17 put: aValue!
>
> Item was changed:
> ----- Method: CogStackPageSurrogate64>>headSP (in category 'accessing') -----
> headSP
> + ^memory unsignedLong64At: address + 9!
> - ^memory long64At: address + 9!
>
> Item was changed:
> ----- Method: CogStackPageSurrogate64>>headSP: (in category 'accessing') -----
> headSP: aValue
> self assert: (address + 8 >= zoneBase and: [address + 15 < zoneLimit]).
> + ^memory unsignedLong64At: address + 9 put: aValue!
> - ^memory long64At: address + 9 put: aValue!
>
> Item was changed:
> ----- Method: CogStackPageSurrogate64>>lastAddress (in category 'accessing') -----
> lastAddress
> + ^memory unsignedLong64At: address + 49!
> - ^memory long64At: address + 49!
>
> Item was changed:
> ----- Method: CogStackPageSurrogate64>>lastAddress: (in category 'accessing') -----
> lastAddress: aValue
> + self assert: (address + 48 >= zoneBase and: [address + 55 < zoneLimit]).
> + ^memory unsignedLong64At: address + 49 put: aValue!
> - self assert: (address + 48 >= zoneBase and: [address + 35 < zoneLimit]).
> - ^memory long64At: address + 49 put: aValue!
>
> Item was changed:
> ----- Method: CogStackPageSurrogate64>>nextPage (in category 'accessing') -----
> nextPage
> + ^stackPages surrogateAtAddress: (memory unsignedLong64At: address + 65)!
> - ^stackPages surrogateAtAddress: (memory long64At: address + 65)!
>
> Item was changed:
> ----- Method: CogStackPageSurrogate64>>nextPage: (in category 'accessing') -----
> nextPage: aValue
> self assert: (address + 64 >= zoneBase and: [address + 71 < zoneLimit]).
> + memory unsignedLong64At: address + 65 put: aValue asInteger.
> + ^aValue!
> - ^memory
> - long64At: address + 65
> - put: aValue asInteger!
>
> Item was added:
> + ----- Method: CogStackPageSurrogate64>>padToWord (in category 'accessing') -----
> + padToWord
> + ^memory long64At: address + 65!
>
> Item was added:
> + ----- Method: CogStackPageSurrogate64>>padToWord: (in category 'accessing') -----
> + padToWord: aValue
> + self assert: (address + 64 >= zoneBase and: [address + 71 < zoneLimit]).
> + ^memory long64At: address + 65 put: aValue!
>
> Item was changed:
> ----- Method: CogStackPageSurrogate64>>prevPage (in category 'accessing') -----
> prevPage
> + ^stackPages surrogateAtAddress: (memory unsignedLong64At: address + 73)!
> - ^stackPages surrogateAtAddress: (memory long64At: address + 73)!
>
> Item was changed:
> ----- Method: CogStackPageSurrogate64>>prevPage: (in category 'accessing') -----
> prevPage: aValue
> self assert: (address + 72 >= zoneBase and: [address + 79 < zoneLimit]).
> + memory unsignedLong64At: address + 73 put: aValue asInteger.
> + ^aValue!
> - ^memory
> - long64At: address + 73
> - put: aValue asInteger!
>
> Item was changed:
> ----- Method: CogStackPageSurrogate64>>realStackLimit (in category 'accessing') -----
> realStackLimit
> + ^memory unsignedLong64At: address + 41!
> - ^memory long64At: address + 41!
>
> Item was changed:
> ----- Method: CogStackPageSurrogate64>>realStackLimit: (in category 'accessing') -----
> realStackLimit: aValue
> self assert: (address + 40 >= zoneBase and: [address + 47 < zoneLimit]).
> + ^memory unsignedLong64At: address + 41 put: aValue!
> - ^memory long64At: address + 41 put: aValue!
>
> Item was changed:
> ----- Method: CogStackPageSurrogate64>>stackLimit (in category 'accessing') -----
> stackLimit
> + ^memory unsignedLong64At: address + 1!
> - ^memory long64At: address + 1!
>
> Item was changed:
> ----- Method: CogStackPageSurrogate64>>stackLimit: (in category 'accessing') -----
> stackLimit: aValue
> + self assert: (address + 0 >= zoneBase and: [address + 7 < zoneLimit]).
> + ^memory unsignedLong64At: address + 1 put: aValue!
> - self assert: (address >= zoneBase and: [address + 7 < zoneLimit]).
> - ^memory long64At: address + 1 put: aValue!
>
> Item was changed:
> ----- Method: CogStackPageSurrogate64>>trace (in category 'accessing') -----
> trace
> + ^memory long64At: address + 57!
> - ^memory longAt: address + 57!
>
> Item was changed:
> ----- Method: CogStackPageSurrogate64>>trace: (in category 'accessing') -----
> trace: aValue
> + self assert: (address + 56 >= zoneBase and: [address + 63 < zoneLimit]).
> + ^memory long64At: address + 57 put: aValue!
> - self assert: (address + 56 >= zoneBase and: [address + 59 < zoneLimit]).
> - ^memory longAt: address + 57 put: aValue!
>
> Item was changed:
> ----- Method: CogVMSimulator>>ceSendFromInLineCacheMiss: (in category 'trampolines') -----
> ceSendFromInLineCacheMiss: oPIC
> "Override to map the address into a CogMethodSurrogate"
> | surrogate |
> surrogate := oPIC isInteger
> ifTrue: [cogit cogMethodSurrogateAt: oPIC]
> ifFalse: [oPIC].
> self logSend: surrogate selector.
> + (surrogate cmNumArgs = 0
> + and: [(self stackValue: 1) = 16r8169D0
> + and: [self stackTop = 16r53EA7]]) ifTrue:
> + [self halt].
> ^super ceSendFromInLineCacheMiss: surrogate!
>
> Item was changed:
> ----- Method: CogVMSimulator>>moveMethodCacheToMemoryAt: (in category 'initialization') -----
> moveMethodCacheToMemoryAt: address
> | oldMethodCache |
> oldMethodCache := methodCache.
> - self flag: 'broken for 64-bit VM because Bitmap access unit is 32-bits'.
> "In the VM the methodCache is written as a normal array with 1-relative addressing.
> In C this works by allocating an extra element in the methodCache array (see
> class-side declareCVarsIn:). In simulation simply position the start of the methodCache
> one word lower, achieving the same effect. -1 because CArrayAccessor is 0-relative
> and adds 1 on accesses itself."
> methodCache := CMethodCacheAccessor new
> + objectMemory: objectMemory
> + at: address
> - memory: objectMemory memory
> - offset: address / objectMemory wordSize
> array: oldMethodCache
> functionPointerIndex: MethodCachePrimFunction
> entrySize: MethodCacheEntrySize.
> + self assert: address - objectMemory wordSize = self methodCacheAddress.
> 1 to: MethodCacheSize do:
> [:i|
> self assert: (methodCache at: i) = 0].
> methodCache at: 1 put: 16rC4EC4.
> + self assert: (objectMemory longAt: address) = 16rC4EC4.
> - self assert: (self longAt: address) = 16rC4EC4.
> 1 to: MethodCacheSize do:
> [:i|
> methodCache at: i put: (oldMethodCache at: i)]!
>
> Item was changed:
> ----- Method: CogVMSimulator>>movePrimTraceLogToMemoryAt: (in category 'initialization') -----
> movePrimTraceLogToMemoryAt: address
> | oldTraceLog |
> oldTraceLog := primTraceLog.
> + primTraceLog := CArrayOfLongsAccessor new
> + objectMemory: objectMemory at: address.
> + self assert: address = self primTraceLogAddress.
> - self flag: 'broken for 64-bit VM because Bitmap access unit is 32-bits'.
> - primTraceLog := CObjectAccessor new
> - memory: objectMemory memory
> - offset: address / objectMemory wordSize.
> 0 to: PrimTraceLogSize - 1 do:
> [:i|
> self assert: (primTraceLog at: i) = 0].
> primTraceLog at: 0 put: 16rC4EC4.
> + self assert: (objectMemory longAt: address) = 16rC4EC4.
> - self assert: (self longAt: address) = 16rC4EC4.
> 0 to: PrimTraceLogSize - 1 do:
> [:i|
> primTraceLog at: i put: (oldTraceLog at: i)]!
>
> Item was changed:
> ----- Method: Cogit>>cCoerceSimple:to: (in category 'translation support') -----
> cCoerceSimple: value to: cTypeString
> <doNotGenerate>
> + cTypeString last == $* ifTrue:
> + [cTypeString == #'CogMethod *' ifTrue:
> + [^(value isInteger and: [value < 0])
> + ifTrue: [value] "it's an error code; leave it be"
> + ifFalse: [self cogMethodSurrogateAt: value asUnsignedInteger]].
> + cTypeString == #'CogBlockMethod *' ifTrue:
> + [^self cogBlockMethodSurrogateAt: value asUnsignedInteger].
> + cTypeString == #'NSSendCache *' ifTrue:
> + [^self nsSendCacheSurrogateAt: value asUnsignedInteger].
> + (cTypeString == #'AbstractInstruction *'
> + and: [value isBehavior]) ifTrue:
> + [^CogCompilerClass].
> + cTypeString == #'StackPage *' ifTrue:
> + [^coInterpreter stackPages surrogateAtAddress: value]].
> - cTypeString == #'CogMethod *' ifTrue:
> - [^(value isInteger and: [value < 0])
> - ifTrue: [value] "it's an error code; leave it be"
> - ifFalse: [self cogMethodSurrogateAt: value asUnsignedInteger]].
> - cTypeString == #'CogBlockMethod *' ifTrue:
> - [^self cogBlockMethodSurrogateAt: value asUnsignedInteger].
> - cTypeString == #'NSSendCache *' ifTrue:
> - [^self nsSendCacheSurrogateAt: value asUnsignedInteger].
> - (cTypeString == #'AbstractInstruction *'
> - and: [value isBehavior]) ifTrue:
> - [^CogCompilerClass].
> ^super cCoerceSimple: value to: cTypeString!
>
> Item was added:
> + ----- Method: Integer>>signedIntFromChar (in category '*VMMaker-interpreter simulator') -----
> + signedIntFromChar
> + "Self is an unsigned 8-bit integer in twos-comp form"
> +
> + | shortBits |
> + shortBits := self bitAnd: 16rFF.
> + ^(self bitAnd: 16r80) "sign bit" = 0
> + ifTrue: [shortBits]
> + ifFalse: [shortBits - 16r100]!
>
> Item was changed:
> ----- Method: Integer>>signedIntFromLong (in category '*VMMaker-interpreter simulator') -----
> signedIntFromLong
> "Self is a signed or unsigned 32-bit integer"
>
> + | bits |
> + (self >= -1073741824 and: [self <= 1073741823]) ifTrue: "These are known to be SmallIntegers..."
> + [^self].
> + bits := self bitAnd: 16rFFFFFFFF.
> + (bits digitAt: 4) <= 16r7F ifTrue: [^bits].
> + ^bits - 16r100000000!
> - | sign |
> - self < 0 ifTrue: [^self].
> - sign := self bitAnd: 16r80000000.
> - sign = 0 ifTrue: [^ self].
> - ^ self - sign - sign!
>
> Item was changed:
> ----- Method: Integer>>signedIntFromLong64 (in category '*VMMaker-interpreter simulator') -----
> signedIntFromLong64
> "Self is a signed or unsigned 64-bit integer"
>
> + | bits |
> + "This case is handled by the SmallInteger subclass..."
> + "(self >= -1073741824 and: [self <= 1073741823]) ifTrue:
> + [^self]."
> + bits := self bitAnd: 16rFFFFFFFFFFFFFFFF.
> + (bits digitAt: 8) <= 16r7F ifTrue: [^bits].
> + ^bits - 16r10000000000000000!
> - | sign |
> - self < 0 ifTrue: [^self].
> - sign := self bitAnd: 16r8000000000000000.
> - sign = 0 ifTrue: [^self].
> - ^self - sign - sign!
>
> Item was added:
> + ----- Method: Integer>>signedIntToChar (in category '*VMMaker-interpreter simulator') -----
> + signedIntToChar
> + "Produces an 8-bit value in twos-comp form. Truncates if out-of-range as per a C cast"
> +
> + ^self bitAnd: 16rFF!
>
> Item was changed:
> ----- Method: Integer>>signedIntToLong (in category '*VMMaker-interpreter simulator') -----
> signedIntToLong
> + "Produces a 32-bit value in twos-comp form. Truncates if out-of-range as per a C cast"
> - "Produces a 32-bit value in twos-comp form. Sorry no error checking"
>
> + ^self bitAnd: 16rFFFFFFFF!
> - self >= 0
> - ifTrue: [^ self]
> - ifFalse: [^ self + 16r80000000 + 16r80000000]
> - !
>
> Item was changed:
> ----- Method: Integer>>signedIntToLong64 (in category '*VMMaker-interpreter simulator') -----
> signedIntToLong64
> + "Produces a 64-bit value in twos-comp form. Truncates if out-of-range as per a C cast"
> - "Produces a 64-bit value in twos-comp form. Sorry no error checking"
>
> + ^self bitAnd: 16rFFFFFFFFFFFFFFFF!
> - self >= 0
> - ifTrue: [^ self]
> - ifFalse: [^ self + 16r8000000000000000 + 16r8000000000000000]
> - !
>
> Item was changed:
> ----- Method: Integer>>signedIntToShort (in category '*VMMaker-interpreter simulator') -----
> signedIntToShort
> + "Produces a 16-bit value in twos-comp form. Truncates if out-of-range as per a C cast"
> - "Produces a 16-bit value (0-65k) in twos-comp form. Sorry no error checking"
>
> ^self bitAnd: 16rFFFF!
>
> Item was added:
> + ----- Method: SmallInteger>>signedIntFromLong64 (in category '*VMMaker-interpreter simulator') -----
> + signedIntFromLong64
> + "Self is a signed or unsigned 64-bit integer.
> + Currently SmallIntegers are either 31-bit (in the 32-bit implementation) or 61-bit
> + (in the 64-bit implementation) so save some time by overriding in the subclass."
> + ^self!
>
> Item was added:
> + ----- Method: VMClass class>>openCogTestsMultiWindowBrowser (in category 'utilities') -----
> + openCogTestsMultiWindowBrowser
> + "Answer a new multi-window browser on the test classes in VMMaker"
> + "self openCogTestsMultiWindowBrowser"
> + | testClasses b |
> + testClasses := (PackageInfo named: 'VMMaker') classes select: [:c| c inheritsFrom: TestCase].
> + testClasses removeAll: AbstractInstructionTests allSubclasses.
> + testClasses removeAll: (testClasses select: [:c| '*Plugin*' match: c name]).
> + b := Browser open.
> + testClasses do:
> + [:class| b selectCategoryForClass: class; selectClass: class]
> + separatedBy:
> + [b multiWindowState addNewWindow].
> + b multiWindowState selectWindowIndex: 1!
>
> Item was added:
> + ----- Method: VMClass class>>openCogitMultiWindowBrowser (in category 'utilities') -----
> + openCogitMultiWindowBrowser
> + "Answer a new multi-window browser on the ObjectMemory classes, the Cog Interpreter classes, and the main JIT classes"
> + "self openCogitMultiWindowBrowser"
> + | b |
> + b := Browser open.
> + Cogit withAllSubclasses,
> + CogObjectRepresentation withAllSubclasses,
> + {CogMethodZone. CogRTLOpcodes },
> + (CogAbstractInstruction withAllSubclasses reject: [:c| c name endsWith: 'Tests']),
> + {VMStructType. VMMaker. CCodeGenerator. TMethod}
> + do: [:class|
> + b selectCategoryForClass: class; selectClass: class]
> + separatedBy:
> + [b multiWindowState addNewWindow].
> + b multiWindowState selectWindowIndex: 1!
>
> Item was added:
> + TestCase subclass: #VMMakerIntegerTests
> + instanceVariableNames: ''
> + classVariableNames: ''
> + poolDictionaries: ''
> + category: 'VMMaker-Tests'!
>
> Item was added:
> + ----- Method: VMMakerIntegerTests>>testSignedIntFromFoo (in category 'tests') -----
> + testSignedIntFromFoo
> + self assert: 16r55 signedIntFromChar equals: 16r55.
> + self assert: 16r155 signedIntFromChar equals: 16r55.
> + self assert: 16rAA signedIntFromChar < 0.
> + self assert: (16rAA signedIntFromChar bitAnd: 16rFF) = 16rAA.
> +
> + self assert: 16r5555 signedIntFromShort equals: 16r5555.
> + self assert: 16r15555 signedIntFromShort equals: 16r5555.
> + self assert: 16rAAAA signedIntFromShort < 0.
> + self assert: (16rAAAA signedIntFromShort bitAnd: 16rFFFF) = 16rAAAA.
> +
> + self assert: 16r55555555 signedIntFromLong equals: 16r55555555.
> + self assert: 16r155555555 signedIntFromLong equals: 16r55555555.
> + self assert: 16rAAAAAAAA signedIntFromLong< 0.
> + self assert: (16rAAAAAAAA signedIntFromLong bitAnd: 16rFFFFFFFF) = 16rAAAAAAAA.
> +
> + self assert: 16r5555555555555555 signedIntFromLong64 equals: 16r5555555555555555.
> + self assert: 16r15555555555555555 signedIntFromLong64 equals: 16r5555555555555555.
> + self assert: 16rAAAAAAAAAAAAAAAA signedIntFromLong64< 0.
> + self assert: (16rAAAAAAAAAAAAAAAA signedIntFromLong64 bitAnd: 16rFFFFFFFFFFFFFFFF) = 16rAAAAAAAAAAAAAAAA!
>
> Item was added:
> + ----- Method: VMMakerIntegerTests>>testSignedIntToFoo (in category 'tests') -----
> + testSignedIntToFoo
> + #(16r55 -16r56 16r5555 -16r5556 16r55555555 -16r55555556 16r5555555555555555 -16r5555555555555556) do:
> + [:n|
> + n abs digitLength = 1 ifTrue:
> + [self assert: n signedIntToChar signedIntFromChar equals: n].
> + self assert: (n signedIntToChar signedIntFromChar bitAnd: 16rFF) equals: (n bitAnd: 16rFF).
> + n abs digitLength <= 2 ifTrue:
> + [self assert: n signedIntToShort signedIntFromShort equals: n].
> + self assert: (n signedIntToShort signedIntFromShort bitAnd: 16rFFFF) equals: (n bitAnd: 16rFFFF).
> + n abs digitLength <= 4 ifTrue:
> + [self assert: n signedIntToLong signedIntFromLong equals: n].
> + self assert: (n signedIntToLong signedIntFromLong bitAnd: 16rFFFFFFFF) equals: (n bitAnd: 16rFFFFFFFF).
> + n abs digitLength <= 8 ifTrue:
> + [self assert: n signedIntToLong64 signedIntFromLong64 equals: n].
> + self assert: (n signedIntToLong64 signedIntFromLong64 bitAnd: 16rFFFFFFFFFFFFFFFF) equals: (n bitAnd: 16rFFFFFFFFFFFFFFFF)]!
>
Oct. 18, 2015
Re: [Pharo-dev] Storing System Settings using STON
by Juraj Kubelka
Hi,
It used the setting node id and searches for corresponding SettingNode. And that node knows how to set the value.
Cheers,
Juraj
--
Juraj Kubelka
17. 10. 2015 v 15:29, stepharo <stepharo(a)free.fr>:
>
>
> Le 15/10/15 11:58, Yuriy Tymchuk a écrit :
>> It is like that:
>>
>> [
>> StoredSetting {
>> #settingNodeIdentifier : '#shoreLine#autoSubmit',
>> #realValue : true
>> },
>> StoredSetting {
>> #settingNodeIdentifier : '#reIgnore',
>> #realValue : Set [ ]
>> }
>> ]
>
> Thanks how do you know on which class it should be applied?
>
>
>>> On 15 Oct 2015, at 09:54, stepharo <stepharo(a)free.fr> wrote:
>>>
>>> Cool!
>>>
>>> Could you send an example of the file contents?
>>>
>>>
>>> Stef
>>>
>>>
>>> Le 12/10/15 21:45, Juraj Kubelka a écrit :
>>>> Hi,
>>>>
>>>> we have a slice that introduce new storage solution for System Settings. See: https://pharo.fogbugz.com/f/cases/16681/Storing-System-Settings-using-STON
>>>>
>>>> You can load it using:
>>>>
>>>> Gofer it
>>>> smalltalkhubUser: 'Pharo' project: 'Pharo50Inbox';
>>>> package: 'SLICE-Issue-16681-Storing-System-Settings-using-STON';
>>>> load.
>>>>
>>>> When you open the Setting Browser, you can see that every setting has new items in context menu:
>>>>
>>>> <Mail Attachment.png>
>>>>
>>>> Thanks for reviewing it.
>>>> Cheers,
>>>> Juraj
>
Oct. 18, 2015
interesting recursive out-of-memory error
by Eliot Miranda
Hi All,
this in a bleeding edge Pharo 5 image which had been left standing with
a Playground open which, when I clicked on it after leaving it for over an
hour, got into an infinite recursion failing to allocate an object as part
of opening a file to write an error report to. Here's the infinite
recursion beginning. Full crash.mp attached.
0x3ebf4bf8 s OutOfMemory class(Exception class)>signal
0x3ebf4c54 s OutOfMemory class(Behavior)>basicNew
0x3ebf4cb0 s OutOfMemory class(Behavior)>new
0x3ebf4d0c s OutOfMemory class(Exception class)>signal
0x3ebe52ec s OutOfMemory class(Behavior)>basicNew
0x3ebf4d68 s OutOfMemory class(Behavior)>new
0x3ebf4dc4 s OutOfMemory class(Exception class)>signal
0x3ebf4e20 s OutOfMemory class(Behavior)>basicNew
0x3ebf4e7c s OutOfMemory class(Behavior)>new
0x3ebf4ed8 s OutOfMemory class(Exception class)>signal
0x3ebf4f34 s OutOfMemory class(Behavior)>basicNew
0x3ebf4f90 s OutOfMemory class(Behavior)>new
0x3ebf4fec s OutOfMemory class(Exception class)>signal
0x3ebe5290 s WeakFinalizerItem class(Behavior)>basicNew:
0x3ebf5048 s WeakFinalizerItem class>new
0x3ebf50a4 s [] in WeakRegistry>add:executor:
0x3ebe5234 s WeakIdentityKeyDictionary(Dictionary)>at:ifAbsent:
0x3ebe51c4 s [] in WeakRegistry>add:executor:
0x3ebf4860 s BlockClosure>on:do:
0x3ebe5154 s BlockClosure>ifError:
0x3ebe50e4 s [] in Semaphore>critical:ifError:
0x3ebf48bc s [] in Semaphore>critical:
0x3ebf4918 s BlockClosure>ensure:
0x3ebe505c s Semaphore>critical:
0x3ebe4fdc s Semaphore>critical:ifError:
0x3ebe4f5c s WeakRegistry>protected:
0x3ebe4ee8 s WeakRegistry>add:executor:
0x3ebf4974 s WeakRegistry>add:
0x3ebf49d0 s MultiByteFileStream class(StandardFileStream class)>register:
0x3ebf4a2c s MultiByteFileStream(StandardFileStream)>register
0x3ebe4de0 s MultiByteFileStream(StandardFileStream)>open:forWrite:
0x3ebe4e58 s MultiByteFileStream>open:forWrite:
0x3ebf4524 s MultiByteFileStream class(StandardFileStream
class)>readOnlyFileNamed:
0x3ebf4580 s MultiByteFileStream(StandardFileStream)>readOnlyCopy
0x3ebf45dc s [] in
SourceFileArray>readStreamAtFileIndex:atPosition:ifPresent:ifAbsent:
0x3ebf4638 s BlockClosure>on:do:
0x3ebe4cc8 s
SourceFileArray>readStreamAtFileIndex:atPosition:ifPresent:ifAbsent:
0x3ebf4694 s SourceFileArray>readStreamAt:ifPresent:ifAbsent:
0x3ebe4be8 s SourceFileArray>sourceCodeAt:
0x3ebe4c64 s [] in CompiledMethod>getSourceFromFile
0x3ebf418c s BlockClosure>on:do:
0x3ebe4b6c s CompiledMethod>getSourceFromFile
0x3ebf41e8 s CompiledMethod>sourceCode
0x3ebf4244 s CompiledMethod>parseTree
0x3ebf42a0 s [] in ASTCache>at:
0x3ebf42fc s [] in ASTCache(Dictionary)>at:ifAbsentPut:
0x3ebf4358 s ASTCache(Dictionary)>at:ifAbsent:
0x3ebe4adc s ASTCache(Dictionary)>at:ifAbsentPut:
0x3ebe4a6c s ASTCache>at:
0x3ebe4a10 s ASTCache class>at:
0x3ebe49b4 s CompiledMethod>ast
0x3ebf3ce0 s CompiledMethod>sourceNode
0x3ebf3d3c s CompiledMethod>sourceNodeForPC:
0x3ebf3d98 s BlockClosure>sourceNode
0x3ebf3df4 s BlockClosure>printOn:
0x3ebf3e50 s [] in BlockClosure(Object)>printStringLimitedTo:
0x3ebe4944 s String class(SequenceableCollection
class)>streamContents:limitedTo:
0x3ebe4850 s BlockClosure(Object)>printStringLimitedTo:
0x3ebf3eac s BlockClosure(Object)>printString
0x3ebf3f08 s Context>printOn:
0x3ebf3f64 s Context>printDebugOn:
0x3ebf3fc0 s [] in Context>debugStack:on:
0x3ebe44c8 s OrderedCollection>do:
0x3ebe4458 s Context>debugStack:on:
0x3ebf3a00 s Context>shortDebugStackOn:
0x3ebf3a5c s [] in ControlButtonMorph(Morph)>drawErrorOn:
0x3ebf3ab8 s String class(SequenceableCollection class)>new:streamContents:
0x3ebf3b14 s String class(SequenceableCollection class)>streamContents:
0x3ebe4318 s [] in ControlButtonMorph(Morph)>drawErrorOn:
0x3ebe42b4 s ControlButtonMorph(Morph)>valueOfProperty:ifPresentDo:
0x3ebe41e0 s ControlButtonMorph(Morph)>drawErrorOn:
0x3ebe4244 s [] in ControlButtonMorph(Morph)>fullDrawOn:
0x3ebf377c s BlockClosure>cull:
0x3ebf37d8 s Context>evaluateSignal:
0x3ebf3834 s Context>handleSignal:
0x3ebe1608 s OutOfMemory(Exception)>signal
0x3ebe1664 s OutOfMemory class(Exception class)>signal
0x3ebe158c s BalloonBuffer class(Behavior)>basicNew:
0x3ebe1830 s BalloonBuffer class(Behavior)>new:
0x3ebe1478 s BalloonEngine class>allocateOrRecycleBuffer:
0x3ebe1944 s BalloonEngine>reset
0x3ebe1530 s BalloonEngine>resetIfNeeded
0x3ebe14d4 s
BalloonEngine>drawRectangle:fill:borderWidth:borderColor:transform:
0x3ebe1ab4 s BalloonCanvas>drawRectangle:color:borderWidth:borderColor:
0x3ebe1b6c s BalloonCanvas>fillRectangle:basicFillStyle:
0x3ebe1c24 s FormCanvas>balloonFillRectangle:fillStyle:
0x3ebe1cdc s FormCanvas>fillRectangle:basicFillStyle:
0x3ebe1d94 s GradientFillStyle(FillStyle)>fillRectangle:on:
0x3ebe1e4c s FormCanvas(Canvas)>fillRectangle:fillStyle:
0x3ebe1f04 s FormCanvas(Canvas)>fillRectangle:fillStyle:borderStyle:
0x3ebe1fbc s ControlButtonMorph(Morph)>drawOn:
0x3ebdf0fc s FormCanvas(Canvas)>draw:
0x3ebdf0a0 s FormCanvas(Canvas)>drawMorph:
0x3ebe212c s [] in ControlButtonMorph(Morph)>fullDrawOn:
0x3ebe21e4 s FormCanvas>roundCornersOf:in:during:
0x3ebe229c s FormCanvas(Canvas)>roundCornersOf:during:
0x3ebdf030 s [] in ControlButtonMorph(Morph)>fullDrawOn:
0x3ebe16c0 s BlockClosure>on:do:
0x3ebdefac s ControlButtonMorph(Morph)>fullDrawOn:
0x3ebe2468 s FormCanvas(Canvas)>fullDraw:
0x3ebe2520 s FormCanvas(Canvas)>fullDrawMorph:
0x3ebe25d8 s [] in SearchMorph(Morph)>drawSubmorphsOn:
0x3ebe2690 s Array(SequenceableCollection)>reverseDo:
0x3ebdef3c s [] in SearchMorph(Morph)>drawSubmorphsOn:
0x3ebe27a4 s FormCanvas>clipBy:during:
0x3ebded5c s SearchMorph(Morph)>drawSubmorphsOn:
0x3ebdedc8 s SearchMorph(DropListMorph)>drawSubmorphsOn:
0x3ebe2914 s [] in SearchMorph(Morph)>fullDrawOn:
0x3ebe29cc s FormCanvas>roundCornersOf:in:during:
0x3ebe2a84 s FormCanvas(Canvas)>roundCornersOf:during:
0x3ebdecc8 s [] in SearchMorph(Morph)>fullDrawOn:
0x3ebe2b98 s BlockClosure>on:do:
0x3ebdec44 s SearchMorph(Morph)>fullDrawOn:
0x3ebe2cac s FormCanvas(Canvas)>fullDraw:
0x3ebe2d64 s FormCanvas(Canvas)>fullDrawMorph:
0x3ebe2e1c s [] in SystemWindow(Morph)>drawSubmorphsOn:
0x3ebd976c s Array(SequenceableCollection)>reverseDo:
0x3ebd96fc s [] in SystemWindow(Morph)>drawSubmorphsOn:
0x3ebe2f8c s FormCanvas>clipBy:during:
0x3ebd9584 s SystemWindow(Morph)>drawSubmorphsOn:
0x3ebe30a0 s [] in SystemWindow(Morph)>fullDrawOn:
0x3ebe3158 s FormCanvas>roundCornersOf:in:during:
0x3ebe3210 s FormCanvas(Canvas)>roundCornersOf:during:
0x3ebd94f0 s [] in SystemWindow(Morph)>fullDrawOn:
0x3ebe3324 s BlockClosure>on:do:
0x3ebd946c s SystemWindow(Morph)>fullDrawOn:
0x3ebd9410 s FormCanvas(Canvas)>fullDraw:
0x3ebd93b4 s FormCanvas(Canvas)>fullDrawMorph:
0x3ebd9004 s [] in WorldState>drawWorld:submorphs:invalidAreasOn:
0x3ebe35ec s Rectangle>allAreasOutsideList:startingAt:do:
0x3ebe36a4 s Rectangle>allAreasOutsideList:do:
0x3ebd8e94 s [] in WorldState>drawWorld:submorphs:invalidAreasOn:
0x3ebe3858 s Array(SequenceableCollection)>do:
0x3ebd8b98 s WorldState>drawWorld:submorphs:invalidAreasOn:
0x3ebd8c94 s [] in WorldState>displayWorld:submorphs:
0x3ebe3a68 s FormCanvas>roundCornersOf:in:during:
0x3ebe3b20 s FormCanvas(Canvas)>roundCornersOf:during:
0x3ebd8aa8 s WorldState>displayWorld:submorphs:
0x3ebe3c34 s WorldMorph>displayWorld
0x3ebe3cec s [] in WorldState>displayWorldSafely:
0x3ebe3da4 s BlockClosure>on:do:
0x3ebd8a2c s BlockClosure>ifError:
0x3ebd89ac s WorldState>displayWorldSafely:
0x3ebd3df4 s WorldState>doOneCycleNowFor:
0x3ebe3f70 s WorldState>doOneCycleFor:
0x3ebe4028 s WorldMorph>doOneCycle
0x2162ad58 s [] in MorphicUIManager>spawnNewProcess
0x21629f30 s [] in BlockClosure>newProcess
_,,,^..^,,,_
best, Eliot
Oct. 18, 2015
[pharo-project/pharo-core]
by GitHub
Branch: refs/tags/40623
Home: https://github.com/pharo-project/pharo-core
Oct. 17, 2015
[pharo-project/pharo-core] 8dd4ae: 40623
by GitHub
Branch: refs/heads/4.0
Home: https://github.com/pharo-project/pharo-core
Commit: 8dd4ae9ae01bf09c2172df0b799c0565ff76de7f
https://github.com/pharo-project/pharo-core/commit/8dd4ae9ae01bf09c2172df0b…
Author: Jenkins Build Server <board(a)pharo-project.org>
Date: 2015-10-18 (Sun, 18 Oct 2015)
Changed paths:
A Nautilus.package/NautilusUI.class/instance/-- all --/useLastPackagePatternStringForClass_.st
A Nautilus.package/NautilusUI.class/instance/package filter/useLastPackagePatternStringForClass_.st
M OpalCompiler-Core.package/IRBuilder.class/instance/-- all --/startNewSequence.st
M OpalCompiler-Core.package/IRBuilder.class/instance/private/startNewSequence.st
M OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/-- all --/mapBytesTo_.st
M OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/mapping/mapBytesTo_.st
R OpalCompiler-Core.package/IRInstruction.class/instance/-- all --/isJumpOrReturn.st
A OpalCompiler-Core.package/IRInstruction.class/instance/-- all --/transitionsToNextSequence.st
R OpalCompiler-Core.package/IRInstruction.class/instance/testing/isJumpOrReturn.st
A OpalCompiler-Core.package/IRInstruction.class/instance/testing/transitionsToNextSequence.st
M OpalCompiler-Core.package/IRJumpIf.class/instance/-- all --/nextBytecodeOffsetAfterJump.st
M OpalCompiler-Core.package/IRJumpIf.class/instance/acessing/nextBytecodeOffsetAfterJump.st
M OpalCompiler-Core.package/IRMethod.class/instance/-- all --/instructionForPC_.st
M OpalCompiler-Core.package/IRMethod.class/instance/debugging/instructionForPC_.st
A OpalCompiler-Core.package/IRPushClosureCopy.class/instance/-- all --/isGoto.st
A OpalCompiler-Core.package/IRPushClosureCopy.class/instance/-- all --/isJump.st
A OpalCompiler-Core.package/IRPushClosureCopy.class/instance/testing/isGoto.st
A OpalCompiler-Core.package/IRPushClosureCopy.class/instance/testing/isJump.st
M OpalCompiler-Core.package/IRTranslatorV2.class/instance/-- all --/visitInstruction_.st
M OpalCompiler-Core.package/IRTranslatorV2.class/instance/-- all --/visitPushClosureCopy_.st
M OpalCompiler-Core.package/IRTranslatorV2.class/instance/visiting/visitInstruction_.st
M OpalCompiler-Core.package/IRTranslatorV2.class/instance/visiting/visitPushClosureCopy_.st
A OpalCompiler-Tests.package/MustBeBooleanTests.class/instance/-- all --/testIfTrueWithClosureAfterJump.st
A OpalCompiler-Tests.package/MustBeBooleanTests.class/instance/tests/testIfTrueWithClosureAfterJump.st
A OpalCompiler-Tests.package/OCClosureTests.class/instance/-- all --/testBlockTemps.st
A OpalCompiler-Tests.package/OCClosureTests.class/instance/testing/testBlockTemps.st
M ScriptLoader40.package/ScriptLoader.class/instance/-- all --/commentForCurrentUpdate.st
R ScriptLoader40.package/ScriptLoader.class/instance/-- all --/script622.st
A ScriptLoader40.package/ScriptLoader.class/instance/-- all --/script623.st
R ScriptLoader40.package/ScriptLoader.class/instance/-- all --/update40622.st
A ScriptLoader40.package/ScriptLoader.class/instance/-- all --/update40623.st
R ScriptLoader40.package/ScriptLoader.class/instance/pharo - scripts/script622.st
A ScriptLoader40.package/ScriptLoader.class/instance/pharo - scripts/script623.st
R ScriptLoader40.package/ScriptLoader.class/instance/pharo - updates/update40622.st
A ScriptLoader40.package/ScriptLoader.class/instance/pharo - updates/update40623.st
M ScriptLoader40.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
Log Message:
-----------
40623
16736 Fix Nautilus #openOnClass: for Pharo4
https://pharo.fogbugz.com/f/cases/16736
16777 Querying block with many temps fails
https://pharo.fogbugz.com/f/cases/16777
http://files.pharo.org/image/40/40623.zip
Oct. 17, 2015
[pharo-project/pharo-core]
by GitHub
Branch: refs/tags/50391
Home: https://github.com/pharo-project/pharo-core
Oct. 17, 2015
[pharo-project/pharo-core] 20ecf1: 50391
by GitHub
Branch: refs/heads/5.0
Home: https://github.com/pharo-project/pharo-core
Commit: 20ecf16bce1cb2489fb94fb4d75a9ebc69d2a743
https://github.com/pharo-project/pharo-core/commit/20ecf16bce1cb2489fb94fb4…
Author: Jenkins Build Server <board(a)pharo-project.org>
Date: 2015-10-18 (Sun, 18 Oct 2015)
Changed paths:
M Nautilus.package/CategoryWidget.class/instance/protocol/openFloatingEditorToRenameAtIndex_.st
M Nautilus.package/ClassWidget.class/instance/protocol/openFloatingEditorToRenameAtIndex_.st
M Nautilus.package/MethodWidget.class/instance/private/openFloatingEditorToRenameAtIndex_.st
A Random-Core.package/Random.class/README.md
A Random-Core.package/Random.class/class/instance creation/seed_.st
A Random-Core.package/Random.class/class/testing/bucketTest_.st
A Random-Core.package/Random.class/definition.st
A Random-Core.package/Random.class/instance/accessing/next.st
A Random-Core.package/Random.class/instance/accessing/nextInt_.st
A Random-Core.package/Random.class/instance/accessing/next_.st
A Random-Core.package/Random.class/instance/accessing/next_into_.st
A Random-Core.package/Random.class/instance/initialization/initialize.st
A Random-Core.package/Random.class/instance/initialization/seed_.st
A Random-Core.package/Random.class/instance/private/privateNextSeed.st
A Random-Core.package/Random.class/instance/private/privateNextValue.st
A Random-Core.package/Random.class/instance/private/seed.st
A Random-Core.package/SharedRandom.class/README.md
A Random-Core.package/SharedRandom.class/class/accessing/globalGenerator.st
A Random-Core.package/SharedRandom.class/class/initialization/initialize.st
A Random-Core.package/SharedRandom.class/definition.st
A Random-Core.package/SharedRandom.class/instance/accessing/next.st
A Random-Core.package/SharedRandom.class/instance/accessing/nextInt_.st
A Random-Core.package/SharedRandom.class/instance/accessing/next_into_.st
A Random-Core.package/SharedRandom.class/instance/initialization/initialize.st
A Random-Core.package/extension/Collection/instance/atRandom.st
A Random-Core.package/extension/Collection/instance/atRandom_.st
A Random-Core.package/extension/Integer/instance/atRandom.st
A Random-Core.package/extension/Integer/instance/atRandom_.st
A Random-Core.package/extension/Matrix/instance/atRandom.st
A Random-Core.package/extension/Matrix/instance/atRandom_.st
A Random-Core.package/extension/SequenceableCollection/instance/atRandom_.st
A Random-Core.package/extension/Set/instance/atRandom_.st
A Random-Tests.package/RandomTest.class/README.md
A Random-Tests.package/RandomTest.class/definition.st
A Random-Tests.package/RandomTest.class/instance/running/setUp.st
A Random-Tests.package/RandomTest.class/instance/tests/testIfCompletelyBroken.st
A Random-Tests.package/RandomTest.class/instance/tests/testNext.st
A Random-Tests.package/extension/SetTest/instance/testAtRandom.st
R Random.package/Random.class/README.md
R Random.package/Random.class/class/instance creation/seed_.st
R Random.package/Random.class/class/testing/bucketTest_.st
R Random.package/Random.class/definition.st
R Random.package/Random.class/instance/accessing/next.st
R Random.package/Random.class/instance/accessing/nextInt_.st
R Random.package/Random.class/instance/accessing/next_.st
R Random.package/Random.class/instance/accessing/next_into_.st
R Random.package/Random.class/instance/initialization/initialize.st
R Random.package/Random.class/instance/initialization/seed_.st
R Random.package/Random.class/instance/private/privateNextSeed.st
R Random.package/Random.class/instance/private/privateNextValue.st
R Random.package/Random.class/instance/private/seed.st
R Random.package/RandomTest.class/README.md
R Random.package/RandomTest.class/definition.st
R Random.package/RandomTest.class/instance/running/setUp.st
R Random.package/RandomTest.class/instance/tests/testIfCompletelyBroken.st
R Random.package/RandomTest.class/instance/tests/testNext.st
R Random.package/SharedRandom.class/README.md
R Random.package/SharedRandom.class/class/accessing/globalGenerator.st
R Random.package/SharedRandom.class/class/initialization/initialize.st
R Random.package/SharedRandom.class/definition.st
R Random.package/SharedRandom.class/instance/accessing/next.st
R Random.package/SharedRandom.class/instance/accessing/nextInt_.st
R Random.package/SharedRandom.class/instance/accessing/next_into_.st
R Random.package/SharedRandom.class/instance/initialization/initialize.st
R Random.package/extension/Collection/instance/atRandom.st
R Random.package/extension/Collection/instance/atRandom_.st
R Random.package/extension/Integer/instance/atRandom.st
R Random.package/extension/Integer/instance/atRandom_.st
R Random.package/extension/Matrix/instance/atRandom.st
R Random.package/extension/Matrix/instance/atRandom_.st
R Random.package/extension/SequenceableCollection/instance/atRandom_.st
R Random.package/extension/Set/instance/atRandom_.st
R Random.package/extension/SetTest/instance/testAtRandom.st
R ScriptLoader50.package/ScriptLoader.class/instance/pharo - scripts/script50390.st
A ScriptLoader50.package/ScriptLoader.class/instance/pharo - scripts/script50391.st
R ScriptLoader50.package/ScriptLoader.class/instance/pharo - updates/update50390.st
A ScriptLoader50.package/ScriptLoader.class/instance/pharo - updates/update50391.st
M ScriptLoader50.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
M Spec-Core.package/WindowModel.class/instance/api/isDisplayed.st
A Spec-Tests.package/SpecWindowTest.class/README.md
A Spec-Tests.package/SpecWindowTest.class/definition.st
A Spec-Tests.package/SpecWindowTest.class/instance/as yet unclassified/testIsDisplayed.st
Log Message:
-----------
50391
16795 The package Random includes tests
https://pharo.fogbugz.com/f/cases/16795
16800 ask a SpecWindow for #isDisplayed always returns true
https://pharo.fogbugz.com/f/cases/16800
16803 Renaming method category with floating editor: size of editing rectangle
https://pharo.fogbugz.com/f/cases/16803
http://files.pharo.org/image/50/50391.zip
Oct. 17, 2015
Re: [Pharo-dev] Storing System Settings using STON
by stepharo
Le 15/10/15 11:58, Yuriy Tymchuk a écrit :
> It is like that:
>
> [
> StoredSetting {
> #settingNodeIdentifier : '#shoreLine#autoSubmit',
> #realValue : true
> },
> StoredSetting {
> #settingNodeIdentifier : '#reIgnore',
> #realValue : Set [ ]
> }
> ]
>
Thanks how do you know on which class it should be applied?
>> On 15 Oct 2015, at 09:54, stepharo <stepharo(a)free.fr
>> <mailto:stepharo@free.fr>> wrote:
>>
>> Cool!
>>
>> Could you send an example of the file contents?
>>
>>
>> Stef
>>
>>
>> Le 12/10/15 21:45, Juraj Kubelka a écrit :
>>> Hi,
>>>
>>> we have a slice that introduce new storage solution for System
>>> Settings. See:
>>> https://pharo.fogbugz.com/f/cases/16681/Storing-System-Settings-using-STON
>>>
>>>
>>> You can load it using:
>>>
>>> Gofer it
>>> smalltalkhubUser: 'Pharo' project: 'Pharo50Inbox';
>>> package: 'SLICE-Issue-16681-Storing-System-Settings-using-STON';
>>> load.
>>>
>>> When you open the Setting Browser, you can see that every setting
>>> has new items in context menu:
>>>
>>> <Mail Attachment.png>
>>>
>>> Thanks for reviewing it.
>>> Cheers,
>>> Juraj
>>
>
Oct. 17, 2015
[pharo-project/pharo-core]
by GitHub
Branch: refs/tags/50390
Home: https://github.com/pharo-project/pharo-core
Oct. 17, 2015
[pharo-project/pharo-core] 9713ef: 50390
by GitHub
Branch: refs/heads/5.0
Home: https://github.com/pharo-project/pharo-core
Commit: 9713efc6e541b24d38d3837a6fdcdf744bd1d27a
https://github.com/pharo-project/pharo-core/commit/9713efc6e541b24d38d3837a…
Author: Jenkins Build Server <board(a)pharo-project.org>
Date: 2015-10-17 (Sat, 17 Oct 2015)
Changed paths:
M ConfigurationOfGTInspectorCore.package/ConfigurationOfGTInspectorCore.class/instance/symbolic versions/stable_.st
A ConfigurationOfGTInspectorCore.package/ConfigurationOfGTInspectorCore.class/instance/versions/version2022_.st
M ConfigurationOfGTPlaygroundCore.package/ConfigurationOfGTPlaygroundCore.class/instance/symbolic versions/stable_.st
A ConfigurationOfGTPlaygroundCore.package/ConfigurationOfGTPlaygroundCore.class/instance/versions/version2111_.st
A ConfigurationOfGTSpotter.package/ConfigurationOfGTSpotter.class/instance/baselines/baseline13_.st
M ConfigurationOfGTSpotter.package/ConfigurationOfGTSpotter.class/instance/symbolic versions/development_.st
M ConfigurationOfGTSpotter.package/ConfigurationOfGTSpotter.class/instance/symbolic versions/stable_.st
M ConfigurationOfGTSpotter.package/ConfigurationOfGTSpotter.class/instance/versions/version102_.st
A ConfigurationOfGTSpotter.package/ConfigurationOfGTSpotter.class/instance/versions/version1215_.st
M ConfigurationOfGToolkitCore.package/ConfigurationOfGToolkitCore.class/instance/symbolic versions/stable_.st
A ConfigurationOfGToolkitCore.package/ConfigurationOfGToolkitCore.class/instance/versions/version308_.st
M ConfigurationOfGlamourCore.package/ConfigurationOfGlamourCore.class/instance/symbolic versions/stable_.st
A ConfigurationOfGlamourCore.package/ConfigurationOfGlamourCore.class/instance/versions/version325_.st
A GT-Inspector.package/GTDummyExampleProvider.class/README.md
A GT-Inspector.package/GTDummyExampleProvider.class/class/bidirectional-example-linking/gtExamplesProvider.st
A GT-Inspector.package/GTDummyExampleProvider.class/class/bidirectional-example-linking/gtExamplesSource.st
A GT-Inspector.package/GTDummyExampleProvider.class/definition.st
A GT-Inspector.package/GTDummyExampleProvider.class/instance/examples/a.st
A GT-Inspector.package/GTDummyExampleProvider.class/instance/examples/b.st
A GT-Inspector.package/GTDummyExampleProvider.class/instance/examples/c_c_.st
A GT-Inspector.package/GTDummyExampleSource.class/README.md
A GT-Inspector.package/GTDummyExampleSource.class/class/bidirectional-example-linking/gtExamplesProvider.st
A GT-Inspector.package/GTDummyExampleSource.class/definition.st
A GT-Inspector.package/GTDummyExampleSource.class/instance/dummy-behaviour/a.st
A GT-Inspector.package/GTDummyExampleSource.class/instance/dummy-behaviour/b.st
A GT-Inspector.package/GTDummyExampleWithAssertions.class/README.md
A GT-Inspector.package/GTDummyExampleWithAssertions.class/class/as yet unclassified/gtExamplesProvider.st
A GT-Inspector.package/GTDummyExampleWithAssertions.class/definition.st
A GT-Inspector.package/GTDummyExampleWithAssertions.class/instance/examples/a.st
A GT-Inspector.package/GTDummyExampleWithAssertions.class/instance/examples/b.st
A GT-Inspector.package/GTDummyExampleWithAssertions.class/instance/examples/c_c_.st
A GT-Inspector.package/GTDummyExamples.class/README.md
A GT-Inspector.package/GTDummyExamples.class/class/examples-failing/h_.st
A GT-Inspector.package/GTDummyExamples.class/class/examples-failing/s_.st
A GT-Inspector.package/GTDummyExamples.class/class/examples-failing/t_.st
A GT-Inspector.package/GTDummyExamples.class/class/examples-failing/u_.st
A GT-Inspector.package/GTDummyExamples.class/class/examples-failing/v_.st
A GT-Inspector.package/GTDummyExamples.class/class/examples-failing/w_.st
A GT-Inspector.package/GTDummyExamples.class/class/examples-failing/x_.st
A GT-Inspector.package/GTDummyExamples.class/class/examples-failing/y_y_.st
A GT-Inspector.package/GTDummyExamples.class/class/examples-failing/z_.st
A GT-Inspector.package/GTDummyExamples.class/class/examples/a.st
A GT-Inspector.package/GTDummyExamples.class/class/examples/b_.st
A GT-Inspector.package/GTDummyExamples.class/class/examples/c_.st
A GT-Inspector.package/GTDummyExamples.class/class/examples/d_.st
A GT-Inspector.package/GTDummyExamples.class/class/examples/e_.st
A GT-Inspector.package/GTDummyExamples.class/class/examples/f_.st
A GT-Inspector.package/GTDummyExamples.class/class/examples/g_.st
A GT-Inspector.package/GTDummyExamples.class/class/examples/i.st
A GT-Inspector.package/GTDummyExamples.class/class/examples/j.st
A GT-Inspector.package/GTDummyExamples.class/class/examples/k.st
A GT-Inspector.package/GTDummyExamples.class/class/examples/l.st
A GT-Inspector.package/GTDummyExamples.class/class/examples/m.st
A GT-Inspector.package/GTDummyExamples.class/class/examples/n.st
A GT-Inspector.package/GTDummyExamples.class/class/examples/o.st
A GT-Inspector.package/GTDummyExamples.class/class/examples/p_p_p_.st
A GT-Inspector.package/GTDummyExamples.class/class/examples/q_.st
A GT-Inspector.package/GTDummyExamples.class/class/examples/r_r_.st
A GT-Inspector.package/GTDummyExamples.class/definition.st
A GT-Inspector.package/GTDummyExamplesInvalid.class/README.md
A GT-Inspector.package/GTDummyExamplesInvalid.class/class/examples/a_.st
A GT-Inspector.package/GTDummyExamplesInvalid.class/class/examples/b.st
A GT-Inspector.package/GTDummyExamplesInvalid.class/class/examples/c_c_.st
A GT-Inspector.package/GTDummyExamplesInvalid.class/class/examples/d.st
A GT-Inspector.package/GTDummyExamplesInvalid.class/definition.st
A GT-Inspector.package/GTDummyExamplesPragmas.class/README.md
A GT-Inspector.package/GTDummyExamplesPragmas.class/class/examples/a.st
A GT-Inspector.package/GTDummyExamplesPragmas.class/class/examples/b.st
A GT-Inspector.package/GTDummyExamplesPragmas.class/class/examples/c.st
A GT-Inspector.package/GTDummyExamplesPragmas.class/class/examples/d.st
A GT-Inspector.package/GTDummyExamplesPragmas.class/class/examples/e.st
A GT-Inspector.package/GTDummyExamplesPragmas.class/class/examples/f.st
A GT-Inspector.package/GTDummyExamplesPragmas.class/class/examples/g.st
A GT-Inspector.package/GTDummyExamplesPragmas.class/class/examples/h.st
A GT-Inspector.package/GTDummyExamplesPragmas.class/class/examples/i.st
A GT-Inspector.package/GTDummyExamplesPragmas.class/class/examples/iconForG.st
A GT-Inspector.package/GTDummyExamplesPragmas.class/class/examples/iconForJ.st
A GT-Inspector.package/GTDummyExamplesPragmas.class/class/examples/j.st
A GT-Inspector.package/GTDummyExamplesPragmas.class/class/examples/k.st
A GT-Inspector.package/GTDummyExamplesPragmas.class/class/examples/l.st
A GT-Inspector.package/GTDummyExamplesPragmas.class/class/examples/m.st
A GT-Inspector.package/GTDummyExamplesPragmas.class/definition.st
A GT-Inspector.package/GTDummyExamplesRecursive.class/README.md
A GT-Inspector.package/GTDummyExamplesRecursive.class/class/examples 1/a_.st
A GT-Inspector.package/GTDummyExamplesRecursive.class/class/examples 1/b_.st
A GT-Inspector.package/GTDummyExamplesRecursive.class/class/examples 1/c_.st
A GT-Inspector.package/GTDummyExamplesRecursive.class/class/examples 2/d_.st
A GT-Inspector.package/GTDummyExamplesRecursive.class/class/examples 2/e_.st
A GT-Inspector.package/GTDummyExamplesRecursive.class/class/examples 2/f_.st
A GT-Inspector.package/GTDummyExamplesRecursive.class/class/examples 3/g_g_.st
A GT-Inspector.package/GTDummyExamplesRecursive.class/class/examples 3/h.st
A GT-Inspector.package/GTDummyExamplesRecursive.class/class/examples 3/i_i_.st
A GT-Inspector.package/GTDummyExamplesRecursive.class/class/examples 3/j_.st
A GT-Inspector.package/GTDummyExamplesRecursive.class/class/examples 4/k_k_.st
A GT-Inspector.package/GTDummyExamplesRecursive.class/class/examples 4/l_l_.st
A GT-Inspector.package/GTDummyExamplesRecursive.class/class/examples 4/m_m_.st
A GT-Inspector.package/GTDummyExamplesRecursive.class/class/examples 4/n_.st
A GT-Inspector.package/GTDummyExamplesRecursive.class/class/examples 5/o_.st
A GT-Inspector.package/GTDummyExamplesRecursive.class/class/examples 5/p_.st
A GT-Inspector.package/GTDummyExamplesRecursive.class/class/examples 6/q_q_.st
A GT-Inspector.package/GTDummyExamplesRecursive.class/class/examples 6/r_.st
A GT-Inspector.package/GTDummyExamplesRecursive.class/class/examples 6/s_.st
A GT-Inspector.package/GTDummyExamplesRecursive.class/class/examples 7/t_t_.st
A GT-Inspector.package/GTDummyExamplesRecursive.class/class/examples 7/u_u_.st
A GT-Inspector.package/GTDummyExamplesRecursive.class/class/examples 7/v_.st
A GT-Inspector.package/GTDummyExamplesRecursive.class/class/examples 7/w_w_.st
A GT-Inspector.package/GTDummyExamplesRecursive.class/class/examples 7/x_.st
A GT-Inspector.package/GTDummyExamplesRecursive.class/class/examples 7/y_.st
A GT-Inspector.package/GTDummyExamplesRecursive.class/class/examples 7/z_.st
A GT-Inspector.package/GTDummyExamplesRecursive.class/definition.st
A GT-Inspector.package/GTDummyExamplesWithDependencies.class/README.md
A GT-Inspector.package/GTDummyExamplesWithDependencies.class/class/examples/a.st
A GT-Inspector.package/GTDummyExamplesWithDependencies.class/class/examples/b_.st
A GT-Inspector.package/GTDummyExamplesWithDependencies.class/class/examples/c_c_.st
A GT-Inspector.package/GTDummyExamplesWithDependencies.class/class/examples/d_d_d_.st
A GT-Inspector.package/GTDummyExamplesWithDependencies.class/class/examples/e_e_e_e_.st
A GT-Inspector.package/GTDummyExamplesWithDependencies.class/class/examples/f_f_f_.st
A GT-Inspector.package/GTDummyExamplesWithDependencies.class/class/examples/g_g_g_.st
A GT-Inspector.package/GTDummyExamplesWithDependencies.class/definition.st
A GT-Inspector.package/GTDummyExamplesWithExceptions.class/README.md
A GT-Inspector.package/GTDummyExamplesWithExceptions.class/class/examples 1/a.st
A GT-Inspector.package/GTDummyExamplesWithExceptions.class/class/examples 1/b.st
A GT-Inspector.package/GTDummyExamplesWithExceptions.class/class/examples 1/c.st
A GT-Inspector.package/GTDummyExamplesWithExceptions.class/class/examples 2/d.st
A GT-Inspector.package/GTDummyExamplesWithExceptions.class/class/examples 3/e.st
A GT-Inspector.package/GTDummyExamplesWithExceptions.class/class/examples 3/f_.st
A GT-Inspector.package/GTDummyExamplesWithExceptions.class/class/examples 3/g_.st
A GT-Inspector.package/GTDummyExamplesWithExceptions.class/class/examples 3/h.st
A GT-Inspector.package/GTDummyExamplesWithExceptions.class/definition.st
A GT-Inspector.package/GTDummyExamplesWithExternalDependencies.class/README.md
A GT-Inspector.package/GTDummyExamplesWithExternalDependencies.class/class/examples/a_.st
A GT-Inspector.package/GTDummyExamplesWithExternalDependencies.class/class/examples/b_b_.st
A GT-Inspector.package/GTDummyExamplesWithExternalDependencies.class/class/examples/c_c_c_.st
A GT-Inspector.package/GTDummyExamplesWithExternalDependencies.class/definition.st
M GT-Inspector.package/GTExample.class/README.md
M GT-Inspector.package/GTExample.class/definition.st
R GT-Inspector.package/GTExample.class/instance/accessing/childrenExamples.st
A GT-Inspector.package/GTExample.class/instance/accessing/description.st
A GT-Inspector.package/GTExample.class/instance/accessing/exceptions.st
R GT-Inspector.package/GTExample.class/instance/accessing/extractionStrategy.st
R GT-Inspector.package/GTExample.class/instance/accessing/extractionStrategy_.st
A GT-Inspector.package/GTExample.class/instance/accessing/finder.st
R GT-Inspector.package/GTExample.class/instance/accessing/hasParentExample.st
A GT-Inspector.package/GTExample.class/instance/accessing/icon.st
A GT-Inspector.package/GTExample.class/instance/accessing/label.st
R GT-Inspector.package/GTExample.class/instance/accessing/methodReference.st
R GT-Inspector.package/GTExample.class/instance/accessing/parentExample_.st
A GT-Inspector.package/GTExample.class/instance/accessing/pragma.st
M GT-Inspector.package/GTExample.class/instance/accessing/provider.st
R GT-Inspector.package/GTExample.class/instance/accessing/provider_.st
M GT-Inspector.package/GTExample.class/instance/accessing/result.st
R GT-Inspector.package/GTExample.class/instance/accessing/selector.st
R GT-Inspector.package/GTExample.class/instance/accessing/selector_.st
A GT-Inspector.package/GTExample.class/instance/accessing/source.st
A GT-Inspector.package/GTExample.class/instance/accessing/subjects.st
R GT-Inspector.package/GTExample.class/instance/accessing/title.st
R GT-Inspector.package/GTExample.class/instance/accessing/title_.st
A GT-Inspector.package/GTExample.class/instance/initializing/initializeFromFinder_withPragma_.st
A GT-Inspector.package/GTExample.class/instance/pragma-selectors/dependsAll_.st
A GT-Inspector.package/GTExample.class/instance/pragma-selectors/dependsClass_selector_.st
A GT-Inspector.package/GTExample.class/instance/pragma-selectors/depends_.st
A GT-Inspector.package/GTExample.class/instance/pragma-selectors/description_.st
A GT-Inspector.package/GTExample.class/instance/pragma-selectors/gtExample.st
A GT-Inspector.package/GTExample.class/instance/pragma-selectors/iconBase64_.st
A GT-Inspector.package/GTExample.class/instance/pragma-selectors/iconBytes_.st
A GT-Inspector.package/GTExample.class/instance/pragma-selectors/iconClass_selector_.st
A GT-Inspector.package/GTExample.class/instance/pragma-selectors/iconSelector_.st
A GT-Inspector.package/GTExample.class/instance/pragma-selectors/iconThemeSelector_.st
A GT-Inspector.package/GTExample.class/instance/pragma-selectors/icon_.st
A GT-Inspector.package/GTExample.class/instance/pragma-selectors/label_.st
A GT-Inspector.package/GTExample.class/instance/pragma-selectors/noTest.st
A GT-Inspector.package/GTExample.class/instance/pragma-selectors/notTestReport.st
A GT-Inspector.package/GTExample.class/instance/pragma-selectors/raisesAny_.st
A GT-Inspector.package/GTExample.class/instance/pragma-selectors/raises_.st
A GT-Inspector.package/GTExample.class/instance/pragma-selectors/subject_.st
A GT-Inspector.package/GTExample.class/instance/pragma-selectors/subjectsAll_.st
R GT-Inspector.package/GTExample.class/instance/presentations/gtDisplayOn_.st
R GT-Inspector.package/GTExample.class/instance/presentations/gtDisplaySourceIn_.st
A GT-Inspector.package/GTExample.class/instance/private/children.st
A GT-Inspector.package/GTExample.class/instance/private/classNamed_.st
A GT-Inspector.package/GTExample.class/instance/private/classNamed_do_.st
A GT-Inspector.package/GTExample.class/instance/private/classNamed_do_ifNone_.st
A GT-Inspector.package/GTExample.class/instance/private/dependenciesOrErrors.st
A GT-Inspector.package/GTExample.class/instance/private/detachFromSystem.st
A GT-Inspector.package/GTExample.class/instance/private/detachResultFromSystem.st
A GT-Inspector.package/GTExample.class/instance/private/parents.st
A GT-Inspector.package/GTExample.class/instance/private/resultCached_.st
A GT-Inspector.package/GTExample.class/instance/private/result_.st
A GT-Inspector.package/GTExample.class/instance/private/run.st
A GT-Inspector.package/GTExample.class/instance/private/substrings_do_.st
A GT-Inspector.package/GTExample.class/instance/public/allDependencies.st
A GT-Inspector.package/GTExample.class/instance/public/allDependents.st
A GT-Inspector.package/GTExample.class/instance/public/arguments.st
A GT-Inspector.package/GTExample.class/instance/public/debug.st
A GT-Inspector.package/GTExample.class/instance/public/debugger.st
A GT-Inspector.package/GTExample.class/instance/public/dependencies.st
A GT-Inspector.package/GTExample.class/instance/public/dependents.st
A GT-Inspector.package/GTExample.class/instance/public/evaluator.st
A GT-Inspector.package/GTExample.class/instance/public/example.st
A GT-Inspector.package/GTExample.class/instance/public/hash.st
A GT-Inspector.package/GTExample.class/instance/public/method.st
A GT-Inspector.package/GTExample.class/instance/public/propertyAt_.st
A GT-Inspector.package/GTExample.class/instance/public/propertyAt_ifAbsentPut_.st
A GT-Inspector.package/GTExample.class/instance/public/propertyAt_ifAbsent_.st
A GT-Inspector.package/GTExample.class/instance/public/propertyAt_put_.st
A GT-Inspector.package/GTExample.class/instance/public/removeFromSystem.st
A GT-Inspector.package/GTExample.class/instance/public/returnValue.st
A GT-Inspector.package/GTExample.class/instance/public/sourceCode.st
A GT-Inspector.package/GTExample.class/instance/public/traverser.st
A GT-Inspector.package/GTExample.class/instance/testing/=.st
A GT-Inspector.package/GTExample.class/instance/testing/equalsExample_.st
A GT-Inspector.package/GTExample.class/instance/testing/exists.st
A GT-Inspector.package/GTExample.class/instance/testing/hasDependencies.st
A GT-Inspector.package/GTExample.class/instance/testing/hasDependency_.st
A GT-Inspector.package/GTExample.class/instance/testing/hasDependent.st
A GT-Inspector.package/GTExample.class/instance/testing/hasDependent_.st
A GT-Inspector.package/GTExample.class/instance/testing/hasDependents.st
A GT-Inspector.package/GTExample.class/instance/testing/hasRelationships.st
A GT-Inspector.package/GTExample.class/instance/testing/hasSubject_.st
A GT-Inspector.package/GTExample.class/instance/testing/hasValidArguments.st
A GT-Inspector.package/GTExample.class/instance/testing/hasValidDependencies.st
A GT-Inspector.package/GTExample.class/instance/testing/ignoreTest.st
A GT-Inspector.package/GTExample.class/instance/testing/ignoreTestReport.st
M GT-Inspector.package/GTExample.class/instance/testing/isGTExample.st
A GT-Inspector.package/GTExample.class/instance/testing/isValid.st
A GT-Inspector.package/GTExample.class/instance/testing/matchesMethod_.st
A GT-Inspector.package/GTExample.class/instance/ui/gtDebuggerSourceIn_.st
A GT-Inspector.package/GTExample.class/instance/ui/gtDisplayOn_.st
A GT-Inspector.package/GTExample.class/instance/ui/gtDisplaySummaryOn_.st
A GT-Inspector.package/GTExample.class/instance/ui/gtInspectorActionEvaluateResultAndGo.st
A GT-Inspector.package/GTExample.class/instance/ui/gtInspectorDependenciesIn_.st
A GT-Inspector.package/GTExample.class/instance/ui/gtInspectorDependentsIn_.st
A GT-Inspector.package/GTExample.class/instance/ui/gtInspectorSourceIn_.st
A GT-Inspector.package/GTExample.class/instance/ui/gtSpotterDependenciesFor_.st
A GT-Inspector.package/GTExample.class/instance/ui/gtSpotterDependentsFor_.st
A GT-Inspector.package/GTExample.class/instance/ui/gtSpotterPreviewIn_.st
A GT-Inspector.package/GTExample.class/instance/ui/spotterPreviewIn_inContext_.st
A GT-Inspector.package/GTExampleArgumentError.class/README.md
A GT-Inspector.package/GTExampleArgumentError.class/definition.st
A GT-Inspector.package/GTExampleArgumentError.class/instance/accessing/defined.st
A GT-Inspector.package/GTExampleArgumentError.class/instance/accessing/defined_.st
A GT-Inspector.package/GTExampleArgumentError.class/instance/accessing/evaluated.st
A GT-Inspector.package/GTExampleArgumentError.class/instance/accessing/evaluated_.st
A GT-Inspector.package/GTExampleArgumentError.class/instance/accessing/expected.st
A GT-Inspector.package/GTExampleArgumentError.class/instance/accessing/expected_.st
A GT-Inspector.package/GTExampleDebugger.class/README.md
A GT-Inspector.package/GTExampleDebugger.class/definition.st
A GT-Inspector.package/GTExampleDebugger.class/instance/private/do_on_do_.st
A GT-Inspector.package/GTExampleDeclaredClassMissing.class/README.md
A GT-Inspector.package/GTExampleDeclaredClassMissing.class/definition.st
A GT-Inspector.package/GTExampleDeclaredClassMissing.class/instance/accessing/classNamed.st
A GT-Inspector.package/GTExampleDeclaredClassMissing.class/instance/accessing/classNamed_.st
A GT-Inspector.package/GTExampleDeclaredMethodMissing.class/README.md
A GT-Inspector.package/GTExampleDeclaredMethodMissing.class/definition.st
A GT-Inspector.package/GTExampleDeclaredMethodMissing.class/instance/accessing/methodClass.st
A GT-Inspector.package/GTExampleDeclaredMethodMissing.class/instance/accessing/methodClass_.st
A GT-Inspector.package/GTExampleDeclaredMethodMissing.class/instance/accessing/selector.st
A GT-Inspector.package/GTExampleDeclaredMethodMissing.class/instance/accessing/selector_.st
A GT-Inspector.package/GTExampleDependencyError.class/README.md
A GT-Inspector.package/GTExampleDependencyError.class/definition.st
A GT-Inspector.package/GTExampleDependencyError.class/instance/accessing/exception.st
A GT-Inspector.package/GTExampleDependencyError.class/instance/accessing/exception_.st
A GT-Inspector.package/GTExampleDependencyError.class/instance/testing/isExampleError.st
A GT-Inspector.package/GTExampleError.class/README.md
A GT-Inspector.package/GTExampleError.class/definition.st
A GT-Inspector.package/GTExampleError.class/instance/accessing/example.st
A GT-Inspector.package/GTExampleError.class/instance/accessing/example_.st
A GT-Inspector.package/GTExampleError.class/instance/testing/isExampleError.st
A GT-Inspector.package/GTExampleEvaluator.class/README.md
A GT-Inspector.package/GTExampleEvaluator.class/definition.st
A GT-Inspector.package/GTExampleEvaluator.class/instance/initializing/initialize.st
A GT-Inspector.package/GTExampleEvaluator.class/instance/private/do_on_do_.st
A GT-Inspector.package/GTExampleEvaluator.class/instance/private/process_withArguments_.st
A GT-Inspector.package/GTExampleEvaluator.class/instance/public/result.st
A GT-Inspector.package/GTExampleExpectedExceptionNotRaised.class/README.md
A GT-Inspector.package/GTExampleExpectedExceptionNotRaised.class/definition.st
A GT-Inspector.package/GTExampleExpectedExceptionNotRaised.class/instance/accessing/exception.st
A GT-Inspector.package/GTExampleExpectedExceptionNotRaised.class/instance/accessing/exception_.st
A GT-Inspector.package/GTExampleExpectedExceptionNotRaised.class/instance/accessing/expectedError.st
A GT-Inspector.package/GTExampleExpectedExceptionNotRaised.class/instance/accessing/expectedError_.st
R GT-Inspector.package/GTExampleExtractionStrategy.class/README.md
R GT-Inspector.package/GTExampleExtractionStrategy.class/definition.st
R GT-Inspector.package/GTExampleExtractionStrategy.class/instance/accessing/exampleClass.st
R GT-Inspector.package/GTExampleExtractionStrategy.class/instance/accessing/exampleDependencyPragma.st
R GT-Inspector.package/GTExampleExtractionStrategy.class/instance/accessing/examplePragmas.st
R GT-Inspector.package/GTExampleExtractionStrategy.class/instance/example creation/childrenExamplesFor_.st
R GT-Inspector.package/GTExampleExtractionStrategy.class/instance/example creation/createExampleForExamplePragma_from_.st
R GT-Inspector.package/GTExampleExtractionStrategy.class/instance/example creation/createExampleForMethod_from_.st
R GT-Inspector.package/GTExampleExtractionStrategy.class/instance/example creation/createExampleFromDependencyPragma_from_.st
R GT-Inspector.package/GTExampleExtractionStrategy.class/instance/example creation/parentExampleFor_.st
R GT-Inspector.package/GTExampleExtractionStrategy.class/instance/example creation/rootExamplesFor_.st
A GT-Inspector.package/GTExampleFinder.class/README.md
A GT-Inspector.package/GTExampleFinder.class/class/DEPRECATED/myExamples.st
A GT-Inspector.package/GTExampleFinder.class/class/DEPRECATED/myExamplesTo_.st
A GT-Inspector.package/GTExampleFinder.class/class/examples/gtExampleInstance.st
A GT-Inspector.package/GTExampleFinder.class/class/public/allGTExamples.st
A GT-Inspector.package/GTExampleFinder.class/class/public/allGTExamplesTo_.st
A GT-Inspector.package/GTExampleFinder.class/class/public/gtExamplesContained.st
A GT-Inspector.package/GTExampleFinder.class/class/public/gtExamplesContainedTo_.st
A GT-Inspector.package/GTExampleFinder.class/definition.st
A GT-Inspector.package/GTExampleFinder.class/instance/DEPRECATED/myExamples.st
A GT-Inspector.package/GTExampleFinder.class/instance/DEPRECATED/myExamplesTo_.st
A GT-Inspector.package/GTExampleFinder.class/instance/accessing/provider.st
A GT-Inspector.package/GTExampleFinder.class/instance/accessing/provider_.st
A GT-Inspector.package/GTExampleFinder.class/instance/accessing/source.st
A GT-Inspector.package/GTExampleFinder.class/instance/accessing/source_.st
A GT-Inspector.package/GTExampleFinder.class/instance/accessing/subjects.st
A GT-Inspector.package/GTExampleFinder.class/instance/accessing/subjects_.st
A GT-Inspector.package/GTExampleFinder.class/instance/private-primitives/class_selector_method_pragma_.st
A GT-Inspector.package/GTExampleFinder.class/instance/private-primitives/remove_ifPresent_.st
A GT-Inspector.package/GTExampleFinder.class/instance/private/class_selector_method_to_.st
A GT-Inspector.package/GTExampleFinder.class/instance/private/class_selector_to_.st
A GT-Inspector.package/GTExampleFinder.class/instance/private/class_to_.st
A GT-Inspector.package/GTExampleFinder.class/instance/private/example_to_.st
A GT-Inspector.package/GTExampleFinder.class/instance/private/method_to_.st
A GT-Inspector.package/GTExampleFinder.class/instance/private/newExample.st
A GT-Inspector.package/GTExampleFinder.class/instance/private/newExampleFromPragma_.st
A GT-Inspector.package/GTExampleFinder.class/instance/private/newImpostorPragma_.st
A GT-Inspector.package/GTExampleFinder.class/instance/private/proxyExists_.st
A GT-Inspector.package/GTExampleFinder.class/instance/private/proxy_.st
A GT-Inspector.package/GTExampleFinder.class/instance/private/proxy_matchesMethod_.st
A GT-Inspector.package/GTExampleFinder.class/instance/public/gtExamplesContained.st
A GT-Inspector.package/GTExampleFinder.class/instance/public/gtExamplesContainedTo_.st
A GT-Inspector.package/GTExampleFinder.class/instance/ui/gtSpotterExamplesFor_.st
A GT-Inspector.package/GTExampleImpostorPragma.class/README.md
A GT-Inspector.package/GTExampleImpostorPragma.class/definition.st
A GT-Inspector.package/GTExampleImpostorPragma.class/instance/accessing-method/arguments.st
A GT-Inspector.package/GTExampleImpostorPragma.class/instance/accessing-method/keyword.st
A GT-Inspector.package/GTExampleImpostorPragma.class/instance/accessing-method/method.st
A GT-Inspector.package/GTExampleImpostorPragma.class/instance/accessing-method/methodClass.st
A GT-Inspector.package/GTExampleImpostorPragma.class/instance/accessing-method/method_.st
A GT-Inspector.package/GTExampleImpostorPragma.class/instance/accessing-method/selector.st
A GT-Inspector.package/GTExampleImpostorPragma.class/instance/comparing/=.st
A GT-Inspector.package/GTExampleImpostorPragma.class/instance/comparing/hash.st
A GT-Inspector.package/GTExampleImpostorPragma.class/instance/testing/isGTExamplePragma.st
A GT-Inspector.package/GTExampleNautilus.class/README.md
A GT-Inspector.package/GTExampleNautilus.class/class/private/methodChanged_.st
A GT-Inspector.package/GTExampleNautilus.class/definition.st
A GT-Inspector.package/GTExampleNautilus.class/instance/private/examples_.st
A GT-Inspector.package/GTExampleNautilus.class/instance/private/examples_do_.st
A GT-Inspector.package/GTExampleNautilus.class/instance/private/onExamples_builder_.st
A GT-Inspector.package/GTExampleNautilus.class/instance/public/onClass_.st
A GT-Inspector.package/GTExampleNautilus.class/instance/public/onCompiledMethod_.st
A GT-Inspector.package/GTExampleNautilus.class/instance/public/onPackage_.st
A GT-Inspector.package/GTExampleNautilus.class/instance/public/onReferences_builder_.st
A GT-Inspector.package/GTExampleNautilusAction.class/README.md
A GT-Inspector.package/GTExampleNautilusAction.class/definition.st
A GT-Inspector.package/GTExampleNautilusAction.class/instance/order/actionOrder.st
A GT-Inspector.package/GTExampleNautilusAction.class/instance/order/isActionHandled.st
A GT-Inspector.package/GTExampleNautilusAction.class/instance/order/privateActionIcon.st
A GT-Inspector.package/GTExampleNautilusAction.class/instance/order/run_.st
A GT-Inspector.package/GTExampleNautilusAction.class/instance/private/iconForMethod_.st
A GT-Inspector.package/GTExampleNautilusAction.class/instance/private/resultForMethod_.st
A GT-Inspector.package/GTExampleOrganizer.class/README.md
A GT-Inspector.package/GTExampleOrganizer.class/class/examples/gtExampleInstance.st
A GT-Inspector.package/GTExampleOrganizer.class/class/public/instance.st
A GT-Inspector.package/GTExampleOrganizer.class/class/public/new.st
A GT-Inspector.package/GTExampleOrganizer.class/class/public/restart.st
A GT-Inspector.package/GTExampleOrganizer.class/class/public/start.st
A GT-Inspector.package/GTExampleOrganizer.class/class/public/stop.st
A GT-Inspector.package/GTExampleOrganizer.class/definition.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/accessing/atMethod_ifAbsentPut_.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/accessing/removeAtMethod_ifPresent_.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/initializing/initialize.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/initializing/reset.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/initializing/resetResults.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/private-checking/checkForDependenciesUsing_.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/private-checking/checkForMissingClasses.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/private-checking/checkForMissingClasses_.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/private-checking/checkForMissingDependencies.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/private-checking/checkForMissingDependencies_.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/private-checking/checkForNumberOfArguments_.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/private-events/categoryRemoved_.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/private-events/classRemoved_.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/private-events/classRenamed_.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/private-events/jobEnded_.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/private-events/jobStarted_.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/private-events/methodAdded_.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/private-events/methodModified_.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/private-events/methodRemoved_.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/private-notifying/notifyForDependencyUsing_example_.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/private-notifying/notifyForMissingClasses_.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/private-notifying/notifyForMissingDependency_example_.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/private-notifying/notifyForNumberOfArguments_.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/private-notifying/notify_exception_.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/private/cachedExamplesDo_.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/private/examples.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/private/withCleanupDo_.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/public/notifying.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/public/running.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/public/start.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/public/stop.st
A GT-Inspector.package/GTExampleOrganizer.class/instance/ui/gtSpotterGTExamplesFor_.st
A GT-Inspector.package/GTExampleProcessor.class/README.md
A GT-Inspector.package/GTExampleProcessor.class/definition.st
A GT-Inspector.package/GTExampleProcessor.class/instance/accessing-defaults/defaultOnArgumentError.st
A GT-Inspector.package/GTExampleProcessor.class/instance/accessing-defaults/defaultOnDependencyError.st
A GT-Inspector.package/GTExampleProcessor.class/instance/accessing-defaults/defaultOnProcess.st
A GT-Inspector.package/GTExampleProcessor.class/instance/accessing-defaults/defaultOnRecursionError.st
A GT-Inspector.package/GTExampleProcessor.class/instance/accessing/example.st
A GT-Inspector.package/GTExampleProcessor.class/instance/accessing/example_.st
A GT-Inspector.package/GTExampleProcessor.class/instance/accessing/onArgumentError.st
A GT-Inspector.package/GTExampleProcessor.class/instance/accessing/onArgumentError_.st
A GT-Inspector.package/GTExampleProcessor.class/instance/accessing/onDependencyError.st
A GT-Inspector.package/GTExampleProcessor.class/instance/accessing/onDependencyError_.st
A GT-Inspector.package/GTExampleProcessor.class/instance/accessing/onProcess.st
A GT-Inspector.package/GTExampleProcessor.class/instance/accessing/onProcess_.st
A GT-Inspector.package/GTExampleProcessor.class/instance/accessing/onRecursionError.st
A GT-Inspector.package/GTExampleProcessor.class/instance/accessing/onRecursionError_.st
A GT-Inspector.package/GTExampleProcessor.class/instance/initializing/initialize.st
A GT-Inspector.package/GTExampleProcessor.class/instance/private/basicProcess_.st
A GT-Inspector.package/GTExampleProcessor.class/instance/private/handleArgumentErrorFor_withArguments_.st
A GT-Inspector.package/GTExampleProcessor.class/instance/private/handleDependencyErrorFor_withException_.st
A GT-Inspector.package/GTExampleProcessor.class/instance/private/handleRecursionErrorFor_.st
A GT-Inspector.package/GTExampleProcessor.class/instance/private/process_.st
A GT-Inspector.package/GTExampleProcessor.class/instance/private/process_withArguments_.st
A GT-Inspector.package/GTExampleProcessor.class/instance/private/process_withoutLoopsDo_.st
A GT-Inspector.package/GTExampleProcessor.class/instance/public/value.st
A GT-Inspector.package/GTExampleProcessor.class/instance/testing/canProcess.st
R GT-Inspector.package/GTExampleProvider.class/README.md
R GT-Inspector.package/GTExampleProvider.class/class/instance creation/on_.st
R GT-Inspector.package/GTExampleProvider.class/definition.st
R GT-Inspector.package/GTExampleProvider.class/instance/accessing/gtExamples.st
R GT-Inspector.package/GTExampleProvider.class/instance/accessing/subject.st
R GT-Inspector.package/GTExampleProvider.class/instance/accessing/subject_.st
R GT-Inspector.package/GTExampleProvider.class/instance/ui/gtDisplayExamplesIn_.st
A GT-Inspector.package/GTExampleProxy.class/README.md
A GT-Inspector.package/GTExampleProxy.class/definition.st
A GT-Inspector.package/GTExampleProxy.class/instance/accessing/example.st
A GT-Inspector.package/GTExampleProxy.class/instance/accessing/example_.st
A GT-Inspector.package/GTExampleProxy.class/instance/accessing/owner.st
A GT-Inspector.package/GTExampleProxy.class/instance/accessing/owner_.st
A GT-Inspector.package/GTExampleProxy.class/instance/accessing/provider.st
A GT-Inspector.package/GTExampleProxy.class/instance/accessing/provider_.st
A GT-Inspector.package/GTExampleProxy.class/instance/accessing/selector.st
A GT-Inspector.package/GTExampleProxy.class/instance/accessing/selector_.st
A GT-Inspector.package/GTExampleProxy.class/instance/private/detachFromSystem.st
A GT-Inspector.package/GTExampleProxy.class/instance/private/resolve.st
A GT-Inspector.package/GTExampleProxy.class/instance/private/withExampleDo_.st
A GT-Inspector.package/GTExampleProxy.class/instance/private/withExampleDo_ifAbsent_.st
A GT-Inspector.package/GTExampleProxy.class/instance/public/hash.st
A GT-Inspector.package/GTExampleProxy.class/instance/testing/=.st
A GT-Inspector.package/GTExampleProxy.class/instance/testing/equalsExample_.st
A GT-Inspector.package/GTExampleProxy.class/instance/testing/exists.st
A GT-Inspector.package/GTExampleProxy.class/instance/testing/isValid.st
A GT-Inspector.package/GTExampleProxy.class/instance/testing/matchesMethod_.st
A GT-Inspector.package/GTExampleProxy.class/instance/ui/gtDebuggerSourceIn_.st
A GT-Inspector.package/GTExampleProxy.class/instance/ui/gtDisplayOn_.st
A GT-Inspector.package/GTExampleProxy.class/instance/ui/gtDisplaySummaryOn_.st
A GT-Inspector.package/GTExampleProxy.class/instance/ui/gtInspectorDependenciesIn_.st
A GT-Inspector.package/GTExampleProxy.class/instance/ui/gtInspectorSourceIn_.st
A GT-Inspector.package/GTExampleProxy.class/instance/ui/gtSpotterDependenciesFor_.st
A GT-Inspector.package/GTExampleProxy.class/instance/ui/gtSpotterDependentsFor_.st
A GT-Inspector.package/GTExampleProxy.class/instance/ui/gtSpotterPreviewIn_.st
A GT-Inspector.package/GTExampleRecursionDetected.class/README.md
A GT-Inspector.package/GTExampleRecursionDetected.class/definition.st
A GT-Inspector.package/GTExampleRecursionDetected.class/instance/accessing/next.st
A GT-Inspector.package/GTExampleRecursionDetected.class/instance/accessing/next_.st
A GT-Inspector.package/GTExampleRecursionDetected.class/instance/accessing/resolved.st
A GT-Inspector.package/GTExampleRecursionDetected.class/instance/accessing/resolved_.st
A GT-Inspector.package/GTExampleResult.class/README.md
A GT-Inspector.package/GTExampleResult.class/definition.st
A GT-Inspector.package/GTExampleResult.class/instance/accessing/example.st
A GT-Inspector.package/GTExampleResult.class/instance/accessing/example_.st
A GT-Inspector.package/GTExampleResult.class/instance/accessing/expectedError.st
A GT-Inspector.package/GTExampleResult.class/instance/accessing/expectedError_.st
A GT-Inspector.package/GTExampleResult.class/instance/accessing/returnValue.st
A GT-Inspector.package/GTExampleResult.class/instance/accessing/returnValue_.st
A GT-Inspector.package/GTExampleResult.class/instance/accessing/unexpectedError.st
A GT-Inspector.package/GTExampleResult.class/instance/accessing/unexpectedError_.st
A GT-Inspector.package/GTExampleResult.class/instance/actions/debug.st
A GT-Inspector.package/GTExampleResult.class/instance/actions/run.st
A GT-Inspector.package/GTExampleResult.class/instance/private/detachFromSystem.st
A GT-Inspector.package/GTExampleResult.class/instance/testing/isError.st
A GT-Inspector.package/GTExampleResult.class/instance/testing/isExpectedError.st
A GT-Inspector.package/GTExampleResult.class/instance/testing/isFailure.st
A GT-Inspector.package/GTExampleResult.class/instance/testing/isSuccess.st
A GT-Inspector.package/GTExampleResult.class/instance/testing/isUnexpectedError.st
A GT-Inspector.package/GTExampleResult.class/instance/ui/gtDisplayOn_.st
A GT-Inspector.package/GTExampleResult.class/instance/ui/gtDisplaySummaryOn_.st
A GT-Inspector.package/GTExampleTestCase.class/README.md
A GT-Inspector.package/GTExampleTestCase.class/class/testing/isAbstract.st
A GT-Inspector.package/GTExampleTestCase.class/definition.st
A GT-Inspector.package/GTExampleTestCase.class/instance/configuration/packageNames.st
A GT-Inspector.package/GTExampleTestCase.class/instance/private/packages_.st
A GT-Inspector.package/GTExampleTestCase.class/instance/private/runCase.st
A GT-Inspector.package/GTExampleTestCase.class/instance/private/runExampleContainers_.st
A GT-Inspector.package/GTExampleTestCase.class/instance/private/runExample_fromContainer_.st
A GT-Inspector.package/GTExampleTestCase.class/instance/private/run_.st
A GT-Inspector.package/GTExampleTestCase.class/instance/tests/testExamples.st
A GT-Inspector.package/GTExampleTraverser.class/README.md
A GT-Inspector.package/GTExampleTraverser.class/definition.st
A GT-Inspector.package/GTExampleTraverser.class/instance/accessing/action.st
A GT-Inspector.package/GTExampleTraverser.class/instance/accessing/action_.st
A GT-Inspector.package/GTExampleTraverser.class/instance/accessing/reversed.st
A GT-Inspector.package/GTExampleTraverser.class/instance/private/process_withArguments_.st
A GT-Inspector.package/GTExampleUnexpectedExceptionRaised.class/README.md
A GT-Inspector.package/GTExampleUnexpectedExceptionRaised.class/definition.st
A GT-Inspector.package/GTExampleUnexpectedExceptionRaised.class/instance/accessing/unexpectedError.st
A GT-Inspector.package/GTExampleUnexpectedExceptionRaised.class/instance/accessing/unexpectedError_.st
M GT-Inspector.package/GTObjectVariablesBrowser.class/instance/private building/evaluatorIn_.st
M GT-Inspector.package/GTSimpleMethodsBrowser.class/instance/building/sourceOf_for_in_.st
A GT-Inspector.package/extension/AbstractNautilusUI/class/examplesClassMenu_.st
A GT-Inspector.package/extension/AbstractNautilusUI/class/examplesMethodMenu_.st
A GT-Inspector.package/extension/AbstractNautilusUI/class/examplesPackageMenu_.st
A GT-Inspector.package/extension/CompiledMethod/instance/gtExample.st
A GT-Inspector.package/extension/CompiledMethod/instance/gtExamples.st
A GT-Inspector.package/extension/Error/instance/isExamplesFailure.st
A GT-Inspector.package/extension/Exception/instance/isExampleError.st
A GT-Inspector.package/extension/ExceptionSet/instance/copyWithAll_.st
A GT-Inspector.package/extension/ExceptionSet/instance/copyWith_.st
A GT-Inspector.package/extension/ExceptionSet/instance/signaledBy_.st
A GT-Inspector.package/extension/Object/instance/detachFromSystem.st
A GT-Inspector.package/extension/Object/instance/equalsExample_.st
A GT-Inspector.package/extension/Object/instance/gtExamples.st
A GT-Inspector.package/extension/Object/instance/gtExamplesContained.st
R GT-Inspector.package/extension/Object/instance/gtInspectorExampleSourceIn_inContext_.st
A GT-Inspector.package/extension/Pragma/instance/isGTExamplePragma.st
A GT-Inspector.package/extension/RPackage/instance/gtExamplesContained.st
A GT-Inspector.package/extension/RPackage/instance/matchesPackagePattern_.st
A GT-Inspector.package/extension/RPackageTag/instance/gtExamplesContained.st
A GT-Inspector.package/extension/SystemNavigation/instance/examplesReferencesTo_.st
A GT-Inspector.package/extension/TClass/instance/gtInspectorGTExamplesIn_.st
A GT-Inspector.package/extension/TClass/instance/gtSpotterGTExamplesFor_.st
R GT-Inspector.package/extension/TClassDescription/instance/examplesProvider.st
M GT-Inspector.package/extension/TClassDescription/instance/gtExamples.st
A GT-Inspector.package/extension/TClassDescription/instance/gtExamplesFinder.st
A GT-Inspector.package/extension/TClassDescription/instance/gtExamplesProvider.st
A GT-Inspector.package/extension/TClassDescription/instance/gtExamplesSource.st
A GT-Inspector.package/extension/TClassDescription/instance/gtExamplesSubjects.st
R GT-Inspector.package/extension/TClassDescription/instance/gtInspectorExamplesIn_.st
M GT-InspectorExtensions-Core.package/GTSimpleRBTreeBrowser.class/instance/building/sourceIn_.st
A GT-InspectorExtensions-Core.package/extension/AbstractMorphicAdapter/instance/gtInspectorPreviewIn_.st
M GT-InspectorExtensions-Core.package/extension/Announcer/class/gtExampleEmptyAnnouncer.st
M GT-InspectorExtensions-Core.package/extension/Announcer/class/gtExampleSystemAnnouncer.st
M GT-InspectorExtensions-Core.package/extension/Bitmap/class/gtExampleIconBits.st
M GT-InspectorExtensions-Core.package/extension/BlockClosure/class/gtExampleEmpty.st
M GT-InspectorExtensions-Core.package/extension/BlockClosure/class/gtExampleOneArgument.st
M GT-InspectorExtensions-Core.package/extension/BlockClosure/class/gtExampleTwoArguments.st
M GT-InspectorExtensions-Core.package/extension/Canvas/class/gtExampleNullCanvas.st
M GT-InspectorExtensions-Core.package/extension/Canvas/class/gtExampleWorldCanvas.st
M GT-InspectorExtensions-Core.package/extension/Canvas/class/gtExampleWorldCanvasWithAlpha.st
M GT-InspectorExtensions-Core.package/extension/Canvas/class/gtExampleWorldCanvasWithShadow.st
M GT-InspectorExtensions-Core.package/extension/CompiledMethod/instance/gtInspectorSourceIn_.st
M GT-InspectorExtensions-Core.package/extension/ComposableModel/instance/gtInspectorPreviewIn_.st
M GT-InspectorExtensions-Core.package/extension/Context/class/gtExampleTthisContext.st
M GT-InspectorExtensions-Core.package/extension/Date/class/gtExampleToday.st
M GT-InspectorExtensions-Core.package/extension/DateAndTime/class/gtExampleNow.st
M GT-InspectorExtensions-Core.package/extension/Dictionary/class/gtExampleEmptyDictionary.st
M GT-InspectorExtensions-Core.package/extension/Dictionary/class/gtExampleOneElementDictionaryFrom_.st
M GT-InspectorExtensions-Core.package/extension/Dictionary/class/gtExampleRemoveElementFrom_.st
M GT-InspectorExtensions-Core.package/extension/Dictionary/class/gtExampleTwoElementsDictionaryFrom_.st
M GT-InspectorExtensions-Core.package/extension/FileReference/instance/gtInspectorStScriptIn_.st
M GT-InspectorExtensions-Core.package/extension/FileSystem/class/gtExampleZip.st
M GT-InspectorExtensions-Core.package/extension/Float/class/gtExampleE.st
M GT-InspectorExtensions-Core.package/extension/Float/class/gtExampleNegativeE.st
M GT-InspectorExtensions-Core.package/extension/Float/class/gtExampleZero.st
M GT-InspectorExtensions-Core.package/extension/Form/class/gtExampleEmptyForm32x32.st
R GT-InspectorExtensions-Core.package/extension/GLMBrowser/instance/gtInspectorBrowserIn_.st
R GT-InspectorExtensions-Core.package/extension/GLMCompositePresentation/instance/gtInspectorBrowserIn_.st
A GT-InspectorExtensions-Core.package/extension/GLMPresentation/instance/gtInspectorBrowserIn_.st
R GT-InspectorExtensions-Core.package/extension/GTExample/class/gtExampleBasic.st
R GT-InspectorExtensions-Core.package/extension/GTExample/instance/gtInspectorSourceIn_.st
M GT-InspectorExtensions-Core.package/extension/KMDispatcher/class/gtExampleDispatcherWithTarget.st
M GT-InspectorExtensions-Core.package/extension/KMDispatcher/class/gtExampleDispatcherWithTargetAndShortcuts.st
M GT-InspectorExtensions-Core.package/extension/KMDispatcher/class/gtExampleEmptyDispatcher.st
M GT-InspectorExtensions-Core.package/extension/KMKeymap/class/gtExampleKeymapA.st
M GT-InspectorExtensions-Core.package/extension/KMKeymap/class/gtExampleKeymapFOO.st
M GT-InspectorExtensions-Core.package/extension/MessageTally/class/gtExampleSimplePrintString.st
A GT-InspectorExtensions-Core.package/extension/MetacelloDirective/instance/gtInspectorChildren.st
M GT-InspectorExtensions-Core.package/extension/MetacelloProjectReferenceSpec/class/gtExampleProjectReferenceSpec.st
M GT-InspectorExtensions-Core.package/extension/MetacelloProjectSpec/class/gtExampleMetacelloSpec.st
M GT-InspectorExtensions-Core.package/extension/MetacelloSpec/class/gtExampleMetacelloSpec.st
A GT-InspectorExtensions-Core.package/extension/MetacelloVersionLoadDirective/instance/gtInspectorChildren.st
A GT-InspectorExtensions-Core.package/extension/MetacelloVersionLoadDirective/instance/gtInspectorLoadDirectivesIn_.st
M GT-InspectorExtensions-Core.package/extension/MethodModified/class/gtExampleMethodModified.st
M GT-InspectorExtensions-Core.package/extension/Morph/class/gtExampleEmpty.st
M GT-InspectorExtensions-Core.package/extension/Morph/class/gtExampleSubmorphs.st
A GT-InspectorExtensions-Core.package/extension/MorphicTreeNodeAdapter/instance/gtInspectorPreviewIn_.st
M GT-InspectorExtensions-Core.package/extension/Number/class/gtExampleFourtyTwo.st
M GT-InspectorExtensions-Core.package/extension/OCAbstractScope/class/gtExampleMethodScope.st
M GT-InspectorExtensions-Core.package/extension/Pragma/class/gtExamplePragma.st
M GT-InspectorExtensions-Core.package/extension/RBMethod/class/gtExampleThisMethod.st
M GT-InspectorExtensions-Core.package/extension/RBProgramNode/class/gtExampleRBProgramNode.st
M GT-InspectorExtensions-Core.package/extension/RBProgramNode/instance/gtInspectorSourceCodeIn_.st
M GT-InspectorExtensions-Core.package/extension/RGMethodDefinition/class/gtExampleMethod.st
M GT-InspectorExtensions-Core.package/extension/RGMethodDefinition/instance/gtInspectorSourceIn_.st
M GT-InspectorExtensions-Core.package/extension/RPackage/class/gtExampleEmpty.st
M GT-InspectorExtensions-Core.package/extension/ReadStream/class/gtExampleReadStream.st
M GT-InspectorExtensions-Core.package/extension/ReadStream/class/gtExampleReadStreamAtEnd.st
M GT-InspectorExtensions-Core.package/extension/ReadStream/class/gtExampleReadStreamEmpty.st
M GT-InspectorExtensions-Core.package/extension/ReadStream/class/gtExampleReadStreamWithPosition.st
M GT-InspectorExtensions-Core.package/extension/Set/class/gtExampleSimple.st
A GT-InspectorExtensions-Core.package/extension/Socket/class/gtExampleTCPSocket.st
A GT-InspectorExtensions-Core.package/extension/Socket/class/gtExampleUDPSocket.st
A GT-InspectorExtensions-Core.package/extension/Socket/instance/gtInspectorSocketInfo_.st
A GT-InspectorExtensions-Core.package/extension/SocketStream/class/gtExampleOnTCPSocket.st
A GT-InspectorExtensions-Core.package/extension/SocketStream/class/gtExampleOnUDPSocket.st
A GT-InspectorExtensions-Core.package/extension/SocketStream/instance/gtInspectorSocketInfo_.st
M GT-InspectorExtensions-Core.package/extension/String/instance/gtInspectorTextIn_.st
M GT-InspectorExtensions-Core.package/extension/SymbolicBytecode/class/gtExampleSymbolicBytecode.st
M GT-InspectorExtensions-Core.package/extension/Text/class/gtExampleSimple.st
M GT-InspectorExtensions-Core.package/extension/Time/class/gtExampleNow.st
M GT-InspectorExtensions-Core.package/extension/ZnHeaders/class/gtExampleDefaultRequestHeaders.st
M GT-InspectorExtensions-Core.package/extension/ZnHeaders/class/gtExampleDefaultResponseHeaders.st
M GT-InspectorExtensions-Core.package/extension/ZnMimePart/class/gtExampleEmptyField.st
M GT-InspectorExtensions-Core.package/extension/ZnMimePart/class/gtExampleField.st
M GT-InspectorExtensions-Core.package/extension/ZnMimePart/class/gtExampleFile.st
M GT-InspectorExtensions-Core.package/extension/ZnRequest/class/gtExampleGetEmpty.st
M GT-InspectorExtensions-Core.package/extension/ZnRequest/class/gtExampleGetLocalhost8080.st
M GT-InspectorExtensions-Core.package/extension/ZnRequest/class/gtExampleGetPharo.st
M GT-InspectorExtensions-Core.package/extension/ZnRequest/class/gtExampleGetRoot.st
M GT-InspectorExtensions-Core.package/extension/ZnRequestLine/class/gtExampleGetEmpty.st
M GT-InspectorExtensions-Core.package/extension/ZnRequestLine/class/gtExampleGetLocalhost8080.st
M GT-InspectorExtensions-Core.package/extension/ZnRequestLine/class/gtExampleGetPharo.st
M GT-InspectorExtensions-Core.package/extension/ZnRequestLine/class/gtExampleGetRoot.st
M GT-InspectorExtensions-Core.package/extension/ZnResponse/class/gtExampleGetEmpty.st
M GT-InspectorExtensions-Core.package/extension/ZnResponse/class/gtExampleGetLocalhost8080.st
M GT-InspectorExtensions-Core.package/extension/ZnResponse/class/gtExampleGetPharo.st
M GT-InspectorExtensions-Core.package/extension/ZnResponse/class/gtExampleGetRoot.st
M GT-InspectorExtensions-Core.package/extension/ZnStatusLine/class/gtExampleForbidden.st
M GT-InspectorExtensions-Core.package/extension/ZnStatusLine/class/gtExampleNotFound.st
M GT-InspectorExtensions-Core.package/extension/ZnStatusLine/class/gtExampleOk.st
M GT-InspectorExtensions-Core.package/extension/ZnStringEntity/class/gtExampleEmptyHtml.st
M GT-InspectorExtensions-Core.package/extension/ZnStringEntity/class/gtExampleEmptyText.st
M GT-InspectorExtensions-Core.package/extension/ZnStringEntity/class/gtExampleEmptyXml.st
M GT-InspectorExtensions-Core.package/extension/ZnStringEntity/class/gtExampleHtml.st
M GT-InspectorExtensions-Core.package/extension/ZnStringEntity/class/gtExampleText.st
M GT-InspectorExtensions-Core.package/extension/ZnStringEntity/class/gtExampleXml.st
M GT-Playground.package/GTPlayBook.class/class/examples/gtExampleEmpty.st
M GT-Playground.package/GTPlayPage.class/class/examples/gtExampleEmpty.st
M GT-Playground.package/GTPlayPage.class/instance/ui/gtInspectorContentIn_.st
A GT-Playground.package/GTPlayground.class/class/menu/contextMenuBasicActionsFor_.st
A GT-Playground.package/GTPlayground.class/instance/accessing-dynamic/codePresentation.st
M GT-Playground.package/GTPlayground.class/instance/accessing-dynamic/currentBindings.st
A GT-Playground.package/GTPlayground.class/instance/accessing/contextMenuPragma.st
A GT-Playground.package/GTPlayground.class/instance/building actions/actionsForPreviousContents.st
A GT-Playground.package/GTPlayground.class/instance/building actions/contextMenuActions.st
R GT-Playground.package/GTPlayground.class/instance/building/actionsForPreviousContents.st
M GT-Playground.package/GTPlayground.class/instance/building/codeIn_.st
R GT-Spotter.package/GTSpotter.class/class/example/gtExampleBasic.st
R GT-Spotter.package/GTSpotter.class/class/example/gtExampleWithOneStepFrom_.st
A GT-Spotter.package/GTSpotter.class/class/example/gtExamplesProvider.st
R GT-Spotter.package/GTSpotter.class/class/instance creation/on_withProcessors_.st
R GT-Spotter.package/GTSpotter.class/class/instance creation/withProcessors_.st
A GT-Spotter.package/GTSpotter.class/instance/filtering/filterByMethods_.st
A GT-Spotter.package/GTSpotter.class/instance/printing/gtDisplaySpotterMorphOn_.st
A GT-Spotter.package/GTSpotterExamples.class/README.md
A GT-Spotter.package/GTSpotterExamples.class/class/examples - basic/gtExampleBasic.st
A GT-Spotter.package/GTSpotterExamples.class/class/examples - basic/gtExampleOnCompliedMethod.st
A GT-Spotter.package/GTSpotterExamples.class/class/examples - basic/gtExampleWithOneStepFrom_.st
A GT-Spotter.package/GTSpotterExamples.class/class/examples - filtering/gtExampleCustomImplementorsSearchOn_.st
A GT-Spotter.package/GTSpotterExamples.class/class/examples - filtering/gtExampleCustomImplementorsSearchWithNavigationOn_.st
A GT-Spotter.package/GTSpotterExamples.class/class/examples - filtering/gtExampleHelpSearchOn_.st
A GT-Spotter.package/GTSpotterExamples.class/class/examples - filtering/gtExampleImplementorsSearchOn_.st
A GT-Spotter.package/GTSpotterExamples.class/class/examples - filtering/gtExampleWorldMenuSearchOn_.st
A GT-Spotter.package/GTSpotterExamples.class/class/examples/gtExamplesSource.st
A GT-Spotter.package/GTSpotterExamples.class/definition.st
M GT-Spotter.package/GTSpotterMethodListProcessorFilter.class/README.md
R GT-Spotter.package/GTSpotterMethodListProcessorFilter.class/class/examples/exampleHelpSearch.st
R GT-Spotter.package/GTSpotterMethodListProcessorFilter.class/class/examples/exampleMenuMorphSearch.st
R GT-Spotter.package/GTSpotterMethodListProcessorFilter.class/class/examples/exampleWorldMenuSearch.st
M GT-Spotter.package/GTSpotterMethodListProcessorFilter.class/definition.st
A GT-Spotter.package/GTSpotterMethodListProcessorFilter.class/instance/accessing/configurationBlockForProcessorsCreatedBy_.st
A GT-Spotter.package/GTSpotterMethodListProcessorFilter.class/instance/accessing/nullConfigurationBlock.st
R GT-Spotter.package/GTSpotterMethodListProcessorFilter.class/instance/adding/addSignatureFor_.st
R GT-Spotter.package/GTSpotterMethodListProcessorFilter.class/instance/adding/addSignaturesFor_.st
A GT-Spotter.package/GTSpotterMethodListProcessorFilter.class/instance/adding/allowProcessorsFrom_.st
A GT-Spotter.package/GTSpotterMethodListProcessorFilter.class/instance/adding/allowProcessorsFrom_configuredWith_.st
M GT-Spotter.package/GTSpotterMethodListProcessorFilter.class/instance/initialization/initialize.st
A GT-Spotter.package/GTSpotterNullProcessorFilter.class/instance/testing/configurationBlockForProcessorsCreatedBy_.st
M GT-Spotter.package/GTSpotterPrivacyAgreementNotificationBrick.class/class/examples/gtExample.st
M GT-Spotter.package/GTSpotterProcessorFilter.class/README.md
A GT-Spotter.package/GTSpotterProcessorFilter.class/instance/accessing/configurationBlockForProcessorsCreatedBy_.st
A GT-Spotter.package/GTSpotterStep.class/instance/processing/configureProcessorsStartingAt_with_.st
M GT-Spotter.package/extension/Object/instance/spotterProcessorsFor_.st
R GT-SpotterExtensions-Core.package/extension/GTExample/instance/spotterPreviewIn_inContext_.st
A GT-SpotterExtensions-Core.package/extension/GTSpotter/instance/gtSpotterExamplesFor_.st
R GT-SpotterExtensions-Core.package/extension/GTSpotter/instance/spotterExamplesFor_.st
M GT-SpotterExtensions-Core.package/extension/GTSpotter/instance/spotterWorldMenuFor_.st
M GT-SpotterExtensions-Core.package/extension/MCPackage/class/gtExampleNoPackage.st
M GT-SpotterExtensions-Core.package/extension/MCPackage/class/gtExamplePackage.st
M GT-SpotterExtensions-Core.package/extension/MCVersionInfo/class/gtExampleVersionInfo.st
M GT-SpotterExtensions-Core.package/extension/MCWorkingCopy/class/gtExampleWorkingCopy.st
M GT-SpotterExtensions-Core.package/extension/MenuItemMorph/class/gtExampleMenuItemMorphWithSubitems.st
M GT-SpotterExtensions-Core.package/extension/MenuItemMorph/class/gtExampleMenuItemMorphWithoutSubitems.st
M GT-SpotterExtensions-Core.package/extension/MenuMorph/instance/spotterItemsFor_.st
M GT-SpotterExtensions-Core.package/extension/MetacelloAbstractPackageSpec/class/gtExamplePackageSpec.st
M GT-SpotterExtensions-Core.package/extension/MetacelloProject/class/gtExampleMetacelloProject.st
M GT-SpotterExtensions-Core.package/extension/MetacelloVersion/class/gtExampleMetacelloVersion.st
M GT-SpotterExtensions-Core.package/extension/RPackageTag/class/gtExamplePackageTag.st
M GT-SpotterExtensions-Core.package/extension/SettingNode/class/gtExampleSettingNode.st
M GT-SpotterExtensions-Core.package/extension/SettingTree/class/gtExampleSettingTree.st
M GT-SpotterExtensions-Core.package/extension/TBehavior/class/gtExampleAllSubclasses.st
M GT-SpotterExtensions-Core.package/extension/TBehavior/class/gtExampleClassVariables.st
M GT-SpotterExtensions-Core.package/extension/TBehavior/class/gtExampleInstanceVariables.st
M GT-SpotterExtensions-Core.package/extension/TBehavior/class/gtExampleSuperclasses.st
M GT-SpotterExtensions-Core.package/extension/TBehavior/class/gtExampleTraitComposition.st
M GT-SpotterExtensions-Core.package/extension/TBehavior/class/gtExampleTraitUsers.st
M GT-SpotterExtensions-Core.package/extension/TBehavior/class/gtExampleTraits.st
R GT-SpotterExtensions-Core.package/extension/TClass/instance/spotterExamplesFor_.st
M GT-SpotterExtensions-Core.package/extension/TClassDescription/class/gtExamplePackage.st
A GT-SpotterExtensions-Core.package/extension/ThemeIcons/class/gtExampleThemeIcons.st
A GT-Tests-Inspector.package/GTInspectorDummyExamplesTest.class/README.md
A GT-Tests-Inspector.package/GTInspectorDummyExamplesTest.class/definition.st
A GT-Tests-Inspector.package/GTInspectorDummyExamplesTest.class/instance/accessing/allExamplesDummiesProviders.st
A GT-Tests-Inspector.package/GTInspectorDummyExamplesTest.class/instance/accessing/invalidExamplesDummiesProviders.st
A GT-Tests-Inspector.package/GTInspectorDummyExamplesTest.class/instance/accessing/recursiveExamplesDummiesProviders.st
A GT-Tests-Inspector.package/GTInspectorDummyExamplesTest.class/instance/tests/testExists.st
A GT-Tests-Inspector.package/GTInspectorDummyExamplesTest.class/instance/tests/testInvalidDefinitions.st
A GT-Tests-Inspector.package/GTInspectorDummyExamplesTest.class/instance/tests/testIsEquals.st
A GT-Tests-Inspector.package/GTInspectorDummyExamplesTest.class/instance/tests/testIsGTExample.st
A GT-Tests-Inspector.package/GTInspectorDummyExamplesTest.class/instance/tests/testMatchesMethod.st
A GT-Tests-Inspector.package/GTInspectorDummyExamplesTest.class/instance/tests/testRecursiveDefinitions.st
A GT-Tests-Inspector.package/GTInspectorDummyExamplesTest.class/instance/tests/testResult.st
A GT-Tests-Inspector.package/GTInspectorDummyExamplesTest.class/instance/tests/testRun.st
A GT-Tests-Inspector.package/GTInspectorDummyExamplesTest.class/instance/utils/examplesInClasses_do_.st
M GT-Tests-Inspector.package/GTInspectorExamplesTest.class/README.md
M GT-Tests-Inspector.package/GTInspectorExamplesTest.class/definition.st
R GT-Tests-Inspector.package/GTInspectorExamplesTest.class/instance/running/setUp.st
M GT-Tests-Inspector.package/GTInspectorExamplesTest.class/instance/running/tearDown.st
M GT-Tests-Inspector.package/GTInspectorExamplesTest.class/instance/tests/checkAllPresentationsOf_.st
M GT-Tests-Inspector.package/GTInspectorExamplesTest.class/instance/tests/testAllExamples.st
A GT-Tests-Inspector.package/GTToolkitExampleTestCase.class/README.md
A GT-Tests-Inspector.package/GTToolkitExampleTestCase.class/definition.st
A GT-Tests-Inspector.package/GTToolkitExampleTestCase.class/instance/tests/testExamplesDebugger.st
A GT-Tests-Inspector.package/GTToolkitExampleTestCase.class/instance/tests/testExamplesInspector.st
A GT-Tests-Inspector.package/GTToolkitExampleTestCase.class/instance/tests/testExamplesPlayground.st
A GT-Tests-Inspector.package/GTToolkitExampleTestCase.class/instance/tests/testExamplesSpotter.st
A GT-Tests-Spotter.package/GTSpotterProcessorsForExamplesTest.class/instance/running/tearDown.st
M GT-Tests-Spotter.package/GTSpotterProcessorsForExamplesTest.class/instance/tests/testEachProcessor.st
A GT-Tests-Spotter.package/GTSpotterStepFilteringTest.class/README.md
A GT-Tests-Spotter.package/GTSpotterStepFilteringTest.class/definition.st
A GT-Tests-Spotter.package/GTSpotterStepFilteringTest.class/instance/running/setUp.st
A GT-Tests-Spotter.package/GTSpotterStepFilteringTest.class/instance/tests/testProcessorsFiltering.st
M GT-Tests-Spotter.package/GTSpotterStepTest.class/instance/running/setUp.st
M Glamour-Examples.package/GLMBasicExamples.class/instance/others/watcher.st
M Glamour-Examples.package/GLMBasicExamples.class/instance/text/smalltalkCode.st
M Glamour-Examples.package/GLMExamplesBrowser.class/instance/building/exampleIn_.st
M Glamour-Morphic-Renderer.package/GLMMorphicPharoMethodRenderer.class/instance/rendering/morph.st
M Glamour-Morphic-Renderer.package/GLMMorphicPharoPlaygroundRenderer.class/instance/rendering/morph.st
M Glamour-Morphic-Renderer.package/GLMMorphicRubricTextRenderer.class/instance/rendering/render_.st
M Glamour-Morphic-Theme.package/GLMWhitespaceTheme.class/class/private/importGlamorousIcons.st
A Glamour-Rubric-Presentations.package/GLMPharoPlaygroundPresentation.class/instance/accessing/defaultSelectionActions.st
A Glamour-Rubric-Presentations.package/GLMPharoPlaygroundPresentation.class/instance/actions/goAction.st
R Glamour-Rubric-Presentations.package/GLMPharoPlaygroundPresentation.class/instance/actions/installGoAction.st
R ScriptLoader50.package/ScriptLoader.class/instance/pharo - scripts/script50389.st
A ScriptLoader50.package/ScriptLoader.class/instance/pharo - scripts/script50390.st
R ScriptLoader50.package/ScriptLoader.class/instance/pharo - updates/update50389.st
A ScriptLoader50.package/ScriptLoader.class/instance/pharo - updates/update50390.st
M ScriptLoader50.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
Log Message:
-----------
50390
ConfigurationOfRubric
http://files.pharo.org/image/50/50390.zip
Oct. 17, 2015
[pharo-project/pharo-core]
by GitHub
Branch: refs/tags/50389
Home: https://github.com/pharo-project/pharo-core
Oct. 17, 2015
[pharo-project/pharo-core] 818f00: 50389
by GitHub
Branch: refs/heads/5.0
Home: https://github.com/pharo-project/pharo-core
Commit: 818f00fb2bb974e2d1b770ab9e7492c5121a080f
https://github.com/pharo-project/pharo-core/commit/818f00fb2bb974e2d1b770ab…
Author: Jenkins Build Server <board(a)pharo-project.org>
Date: 2015-10-17 (Sat, 17 Oct 2015)
Changed paths:
M Morphic-Widgets-FastTable.package/FTPluggableIconListMorphAdaptor.class/instance/private/strongSelectionChanged_.st
R Morphic-Widgets-FastTable.package/FTStrongSelectionChanged.class/class/instance creation/rowIndex_.st
A Morphic-Widgets-FastTable.package/FTStrongSelectionChanged.class/class/instance creation/rowIndex_event_.st
M Morphic-Widgets-FastTable.package/FTStrongSelectionChanged.class/definition.st
A Morphic-Widgets-FastTable.package/FTStrongSelectionChanged.class/instance/accessing/event.st
A Morphic-Widgets-FastTable.package/FTStrongSelectionChanged.class/instance/accessing/event_.st
A Morphic-Widgets-FastTable.package/FTTableContainerMorph.class/instance/accessing/visibleRowMorphAtIndex_.st
A Morphic-Widgets-FastTable.package/FTTableMorph.class/instance/accessing/visibleRowMorphAtIndex_.st
M Morphic-Widgets-FastTable.package/FTTableMorph.class/instance/event handling/doubleClick_.st
M Morphic-Widgets-Tree.package/MorphTreeListManager.class/definition.st
M Morphic-Widgets-Tree.package/MorphTreeListManager.class/instance/accessing/doubleClickBlock.st
M Morphic-Widgets-Tree.package/MorphTreeListManager.class/instance/accessing/doubleClickBlock_.st
A Morphic-Widgets-Tree.package/MorphTreeListManager.class/instance/accessing/doubleClickSelector.st
A Morphic-Widgets-Tree.package/MorphTreeListManager.class/instance/accessing/doubleClickSelector_.st
M Morphic-Widgets-Tree.package/MorphTreeListManager.class/instance/mouse managing/doubleClick_on_.st
M Morphic-Widgets-Tree.package/MorphTreeMorph.class/instance/accessing/doubleClickBlock_.st
M Morphic-Widgets-Tree.package/MorphTreeMorph.class/instance/accessing/doubleClickSelector_.st
A Nautilus-GroupManager.package/PackageGroup.class/instance/operations/renameTo_.st
A Nautilus.package/AbstractNautilusUI.class/instance/announcement registration/registerToMCAnnouncements.st
A Nautilus.package/AbstractNautilusUI.class/instance/menus behavior/createInitializerWithInstVars.st
A Nautilus.package/AbstractNautilusUI.class/instance/private/buildInitializerFor_.st
M Nautilus.package/CategoryWidget.class/instance/item creation/buildCategoriesList.st
A Nautilus.package/CategoryWidget.class/instance/private/renameCategory_toBe_.st
A Nautilus.package/CategoryWidget.class/instance/protocol/doubleClick_.st
A Nautilus.package/CategoryWidget.class/instance/protocol/openFloatingEditorToRenameAtIndex_.st
M Nautilus.package/ClassWidget.class/instance/item creation/buildClassesList.st
A Nautilus.package/ClassWidget.class/instance/private list model/doubleClick_.st
A Nautilus.package/ClassWidget.class/instance/protocol/openFloatingEditorToRenameAtIndex_.st
A Nautilus.package/ClassWidget.class/instance/protocol/renameClass_toBe_.st
M Nautilus.package/MethodWidget.class/instance/item creation/buildMethodsList.st
A Nautilus.package/MethodWidget.class/instance/private/openFloatingEditorToRenameAtIndex_.st
A Nautilus.package/MethodWidget.class/instance/protocol/doubleClick_.st
A Nautilus.package/PackageTreeModel.class/instance/event handling/doubleClickEvent_onNodeMorph_.st
A Nautilus.package/PackageTreeNodeModel.class/instance/event handling/doubleClickEvent_onNodeMorph_.st
A Nautilus.package/PackageTreeNodeModel.class/instance/event handling/openFloatingEditorToRenameFromNodeMorph_.st
A Nautilus.package/PackageTreeNodeModel.class/instance/testing/canBeRenamed.st
A Nautilus.package/PackageTreePackageGroupNodeModel.class/instance/testing/canBeRenamed.st
A Nautilus.package/PackageTreePackageNodeModel.class/instance/testing/canBeRenamed.st
A Nautilus.package/PackageTreeTagNodeModel.class/instance/testing/canBeRenamed.st
M Nautilus.package/PackageWidget.class/instance/item creation/buildPackagesList.st
M NautilusRefactoring.package/NautilusRefactoring.class/definition.st
A NautilusRefactoring.package/NautilusRefactoring.class/instance/method/renameMethodFor_withNewMethodName_.st
M NautilusRefactoring.package/NautilusRefactoring.class/instance/option/promptOnRefactoring.st
A NautilusRefactoring.package/NautilusRefactoring.class/instance/option/promptOnRefactoring_.st
M NautilusRefactoring.package/NautilusRefactoring.class/instance/private-method/privateRenameMethodFor_.st
A NautilusRefactoring.package/NautilusRefactoring.class/instance/private-method/privateRenameMethodFor_withNewName_.st
M Refactoring-Critics.package/RBUnpackagedCodeRule.class/instance/running/basicCheck_.st
A Rubric.package/RubFloatingEditorBuilder.class/instance/public editing/openEditorWithContents_thenDo_.st
A Rubric.package/RubScrolledTextMorph.class/instance/accessing-selection/selectAll.st
R ScriptLoader50.package/ScriptLoader.class/instance/pharo - scripts/script50388.st
A ScriptLoader50.package/ScriptLoader.class/instance/pharo - scripts/script50389.st
R ScriptLoader50.package/ScriptLoader.class/instance/pharo - updates/update50388.st
A ScriptLoader50.package/ScriptLoader.class/instance/pharo - updates/update50389.st
M ScriptLoader50.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
Log Message:
-----------
50389
16790 RBUnpackagedCodeRule crashes if entity has nil package
https://pharo.fogbugz.com/f/cases/16790
16772 Renaming method category with floating editor
https://pharo.fogbugz.com/f/cases/16772
http://files.pharo.org/image/50/50389.zip
Oct. 17, 2015
Re: [Pharo-dev] [Vm-dev] Re: Random forest in Pharo
by Robert Withers
Yes, exactly. I do realize I was consciously changing that effort
synchronization order. I was doing so with the idea in mind that I and
others might dig into working on the VM, for threading support, while
Eliot maintains focus on 64-bits...a tall order, I know. I was barely
familiar with the VM, slang, interpreter, it years ago... I'm totally
unfamiliar with cog. I believe another item on that list ought to be
modernizing slang. So many big items!
Robert
On 10/16/2015 12:48 PM, Stephan Eggermont wrote:
>
> On 16-10-15 14:05, Robert Withers wrote:
>> Because of that assumption I've made and without the responsibilities
>> you have, Esteban, but recognizing modernizing NB to FFI, my desired
>> list is:
>
> I would expect the least total effort to be needed by keeping the work
> of Esteban and Eliot as much as possible aligned. That is what Esteban's
> list achieves.
>
> Stephan
>
>
Oct. 16, 2015
review needed : step through package list by package first character (Nautilus package pane)
by Nicolai Hess
see issue
15184 Systembrowser package navigation inconsistent behavior
I think this change would be a good addition.
It makes it easier to find a package resp. navigate by typing the
key for the package name first character.
please try it out and give feedback.
Oct. 16, 2015
Re: [Pharo-dev] tests should be green
by stepharo
Hi niolai
I do not know and too busy to get concentrated on that or on anything in
fact.
After january I hope it will get better.
Stef
Le 15/10/15 13:01, Nicolai Hess a écrit :
>
>
> 2015-10-15 9:36 GMT+02:00 Marcus Denker <marcus.denker(a)inria.fr
> <mailto:marcus.denker@inria.fr>>:
>
> Yes,
>
> -> there is a bug somewhere that flattens traits in some cases
>
>
> Any idea how to fix this?
>
> I already provided a fix for the package fileout:
> ( 10808 Bad behavior on FileOut/FileIn tool when using traits)
>
> But for Monticello packages, this works differently. A quick look at
> MCPackage>>#snapshot shows:
> ....
> rPackageSet methods
> do: [:ea | definitions add: ea asMCMethodDefinition]
> displayingProgress: [ :ea| 'Snapshotting methods...' ].
>
> rPackageSet overriddenMethods
> do: [:ea | definitions add:
> (rPackageSet changeRecordForOverriddenMethod: ea)
> asMCMethodDefinition]
> displayingProgress: [ :ea| 'Searching for overrides in ', ea
> asString ].
>
> ...
>
> here, rPackageSet methods
> and rPackageSet overrriddenMethods
> create RGMethodDefinition for all, trait and non trait methods.
>
> We could try to solve this by adding a #reject:
>
> rPackageSet methods reject:#isFromTrait .....
>
>
>
>
> -> we need to write a script to delete all the wrong methods.
>
> > On 14 Oct 2015, at 17:16, Nicolai Hess <nicolaihess(a)web.de
> <mailto:nicolaihess@web.de>> wrote:
> >
> > Please, someone can look at the Collections-Tests
> > The ReleaseTest complains about
> >
> > testLocalMethodsOfTheClassShouldNotBeRepeatedInItsTraits
> > (These are all Test-subclasses that use traits, but all(!) trait
> method are
> > compiled in the class instead, this happened after someone moved
> the Test
> > packages (for bootstrap?)
> >
> > OrderedCollectionTest
> > FloatArrayTest
> > ArrayTest
> > DateTest
> > HeapTest
> > MorphicTextAdapter
> > LinkedListTest
> > DatePrintFormatTester
> > StackTest
> > CheckboxButtonMorph
> > IntervalTest
> > DateAndTimeTest
> > SimpleButtonMorph
> > MethodDictionaryTest
> > SetTest
> > DictionaryTest
> > BagTest
> > SymbolTest
> > StringTest
> > CollectionRootTest
> > SortedCollectionTest
> >
>
>
Oct. 16, 2015
Re: [Pharo-dev] Random forest in Pharo
by stepharo
I'm 100 % in line with esteban roadmap
Le 16/10/15 13:53, Esteban Lorenzano a écrit :
>> On 16 Oct 2015, at 13:22, Robert Withers <robert.w.withers(a)gmail.com> wrote:
>>
>> Bonjour Stef,
>>
>> I believe the change everyone would be waiting for is a Multi-threaded VM, that supports threaded callouts and callbacks. So I suppose the questions become:
> multi thread ffi vm exists as a prototype, and according to its author (Eliot) needs no less than 4 months of someone skilled working on it to finish it.
>
>> - will existing NB syntax require change with the introduction of a MTVM?
> nothing will be equal⦠why? because you will need to provide callbacks. There is no magic here, if you want something to happen while doing something else, you need to provide a way to be called back when that thing finishes.
>
> now we have:
>
> nbCall:module:
>
> to call FFI (will change to a more generic ffiCall:module:, btw⦠but weâll keep old notation some versions to provide backward compatibility)
>
> So I can imagine an API like this:
>
> ffiAsyncCall:callback:module:
>
> So yes⦠you need change. But thatâs inevitable⦠Of course you can do a fwk forking in image and starting a continuation, etc. But well, I will let you guys to think on that (also you still will need the fork) :)
>
>> - to what degree will NB syntax need to be extended to support threaded callouts.
> as described, I suppose. No exact idea until we implement.
>
>> - what NB syntax changes are needed for callbacks.
> NB used some magic there. Shadow classes and etc. We do not need/want that anymore.
>
> now you have a new FFICallback api, where you can do:
>
> FFICallback
> signature: #(int (int handle, int *pitch, int x, int y, int w, int h))
> block: [ :handle :pitch :x :y :w :h |
> pitch signedLongAt: 1 put: (self get_stride: handle).
> self get_data: handle ]
>
> (I extracted that example from my ongoing port of Athens)
>
>> - timing: when is MTVM expected and can we operate on the leading edge?
> we are lacking resources: Is just me (in the Pharo part, of course⦠Eliot and some others work also in the exclusively VM part, but they have other agendas).
>
> So⦠my plan is:
>
> - NB to FFI port (should be ready soon)
> - spur32 bits (should be ready soon, we are just waiting the NB to FFI)
> - spur64 bits (Eliot is working on the JIT, I need to manage the migration of Pharo)
> - FFI 64bits (0% done here⦠just some stubs waiting for effort). But we want to move Pharo to 64bits⦠we are losing a train here...
> - FFI MT
>
> So⦠not very hight priority. According as how I see things now, I *think* I can have that some point of 2017⦠yes, as far as that. Also because I have a lot other stuff to do, not just the lowlevel parts.
>
> Of course this is not good and we have talked with some people to speed up this. We talked with Igor about taking the MT stuff (yes, we also believe is VERY important), but he fade in the blur⦠I didnât hear from him since 3 months (Iâm still waiting for some feedback on OSWindow work he did, he)⦠yes Iâm a bit frustrated.
>
> If *anyone* wants to collaborate in any part of this list (is a MASSIVE effort), I would be very happy and willing to provide as much assistance/guiding/peer programming as I can.
>
> hope this helps
>
> Esteban
>
>> Personally, in SqueakElib, I have my network and session layers working for encrypted connections, so I just have the presentation layer to go. Once done, I would be very interested in working in the VM with whomever is also interested with an eye towards threading (MTVM). I am no expert here so it will be a challenge I am looking forward to.
>>
>> Regards,
>> Robert
>>
>> On 10/16/2015 06:59 AM, stepharo wrote:
>>> In pharodays presentations we explictly mentioned our strategy:
>>> - we keep NB syntax
>>> - we change the assembly generation to be able to get Spur.
>>>
>>> Stef
>>>
>>> I can tell you that if I could get a lua kind of jit now I would sign
>>> immediately and also for having pharo as a dll.
>>> Now it takes time to do soemthing.
>>>
>>> Le 15/10/15 17:35, Robert Withers a écrit :
>>>> I am reticent to invest in learning FFI that is changing without an idea
>>>> of the direction of the change. So
>>>
>
>
Oct. 16, 2015
[pharo-project/pharo-core]
by GitHub
Branch: refs/tags/50388
Home: https://github.com/pharo-project/pharo-core
Oct. 16, 2015
[pharo-project/pharo-core] 5abe81: 50388
by GitHub
Branch: refs/heads/5.0
Home: https://github.com/pharo-project/pharo-core
Commit: 5abe81f9bcbb1a9ef58ac813afeb1c94b5fbb5d8
https://github.com/pharo-project/pharo-core/commit/5abe81f9bcbb1a9ef58ac813…
Author: Jenkins Build Server <board(a)pharo-project.org>
Date: 2015-10-16 (Fri, 16 Oct 2015)
Changed paths:
R Glamour-Morphic-Theme.package/extension/UITheme/instance/backgroundColor.st
A Polymorph-Widgets.package/UITheme.class/instance/accessing colors/backgroundColor.st
R ScriptLoader50.package/ScriptLoader.class/instance/pharo - scripts/script50387.st
A ScriptLoader50.package/ScriptLoader.class/instance/pharo - scripts/script50388.st
R ScriptLoader50.package/ScriptLoader.class/instance/pharo - updates/update50387.st
A ScriptLoader50.package/ScriptLoader.class/instance/pharo - updates/update50388.st
M ScriptLoader50.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
A System-Settings-Tests.package/MockSettings.class/README.md
A System-Settings-Tests.package/MockSettings.class/class/accessing/booleanSetting.st
A System-Settings-Tests.package/MockSettings.class/class/accessing/booleanSetting_.st
A System-Settings-Tests.package/MockSettings.class/class/accessing/cacheDirectory.st
A System-Settings-Tests.package/MockSettings.class/class/accessing/cacheDirectory_.st
A System-Settings-Tests.package/MockSettings.class/class/accessing/defaultDirectoryName.st
A System-Settings-Tests.package/MockSettings.class/class/accessing/defaultDirectoryName_.st
A System-Settings-Tests.package/MockSettings.class/class/accessing/nodeSettings.st
A System-Settings-Tests.package/MockSettings.class/class/accessing/rangeSetting.st
A System-Settings-Tests.package/MockSettings.class/class/accessing/rangeSetting_.st
A System-Settings-Tests.package/MockSettings.class/class/accessing/settingTree.st
A System-Settings-Tests.package/MockSettings.class/class/accessing/storedSettings.st
A System-Settings-Tests.package/MockSettings.class/class/cleanup/cleanUp.st
A System-Settings-Tests.package/MockSettings.class/class/setting strings/changedClassStoredSettingVariable.st
A System-Settings-Tests.package/MockSettings.class/class/setting strings/notExistingClassStoredSettingSTONString.st
A System-Settings-Tests.package/MockSettings.class/class/setting strings/oneStoredSettingSTONString.st
A System-Settings-Tests.package/MockSettings.class/class/setting strings/twoStoredSettingsSTONString.st
A System-Settings-Tests.package/MockSettings.class/class/settings/booleanSettingNode.st
A System-Settings-Tests.package/MockSettings.class/class/settings/booleanSettingNodeOn_.st
A System-Settings-Tests.package/MockSettings.class/class/settings/cacheDirectorySettingNode.st
A System-Settings-Tests.package/MockSettings.class/class/settings/monticelloSettingsOn_.st
A System-Settings-Tests.package/MockSettings.class/class/settings/rangeSettingNode.st
A System-Settings-Tests.package/MockSettings.class/class/settings/rangeSettingNodeOn_.st
A System-Settings-Tests.package/MockSettings.class/definition.st
A System-Settings-Tests.package/SettingsStonReaderTest.class/README.md
A System-Settings-Tests.package/SettingsStonReaderTest.class/definition.st
A System-Settings-Tests.package/SettingsStonReaderTest.class/instance/running/setUp.st
A System-Settings-Tests.package/SettingsStonReaderTest.class/instance/tests/testBasic.st
A System-Settings-Tests.package/SettingsStonReaderTest.class/instance/tests/testEmptyStream.st
A System-Settings-Tests.package/SettingsStonReaderTest.class/instance/tests/testLoad.st
A System-Settings-Tests.package/SettingsStonReaderTest.class/instance/tests/testLoadNotExistingClassNameForRealValue.st
A System-Settings-Tests.package/SettingsStonReaderTest.class/instance/tests/testLoadTwoObjects.st
A System-Settings-Tests.package/SettingsStonReaderTest.class/instance/tests/testNonExistingStoredSettingVariable.st
A System-Settings-Tests.package/SettingsStonReaderTest.class/instance/tests/testStoredSettingsIsNil.st
A System-Settings-Tests.package/SettingsStonWriterTest.class/README.md
A System-Settings-Tests.package/SettingsStonWriterTest.class/definition.st
A System-Settings-Tests.package/SettingsStonWriterTest.class/instance/running/setUp.st
A System-Settings-Tests.package/SettingsStonWriterTest.class/instance/tests/testBasic.st
A System-Settings-Tests.package/SettingsStonWriterTest.class/instance/tests/testEmptyStream.st
A System-Settings-Tests.package/SettingsStonWriterTest.class/instance/tests/testStore.st
A System-Settings-Tests.package/SettingsStonWriterTest.class/instance/tests/testStoreTwoObjects.st
A System-Settings-Tests.package/StoredSettingsMergerTest.class/README.md
A System-Settings-Tests.package/StoredSettingsMergerTest.class/definition.st
A System-Settings-Tests.package/StoredSettingsMergerTest.class/instance/running/setUp.st
A System-Settings-Tests.package/StoredSettingsMergerTest.class/instance/tests/testEmpty.st
A System-Settings-Tests.package/StoredSettingsMergerTest.class/instance/tests/testStoredSettings.st
A System-Settings-Tests.package/SystemSettingsPersistenceTest.class/README.md
A System-Settings-Tests.package/SystemSettingsPersistenceTest.class/definition.st
A System-Settings-Tests.package/SystemSettingsPersistenceTest.class/instance/accessing/booleanSettingNode.st
A System-Settings-Tests.package/SystemSettingsPersistenceTest.class/instance/accessing/rangeSettingNode.st
A System-Settings-Tests.package/SystemSettingsPersistenceTest.class/instance/accessing/systemSettingNodeList.st
A System-Settings-Tests.package/SystemSettingsPersistenceTest.class/instance/running/setUp.st
A System-Settings-Tests.package/SystemSettingsPersistenceTest.class/instance/running/tearDown.st
A System-Settings-Tests.package/SystemSettingsPersistenceTest.class/instance/tests - loading/testStoreAndLoadAllSystemSettings.st
A System-Settings-Tests.package/SystemSettingsPersistenceTest.class/instance/tests - loading/testUpdateAllSettings.st
A System-Settings-Tests.package/SystemSettingsPersistenceTest.class/instance/tests - loading/testWriteAndReadBoolean.st
A System-Settings-Tests.package/SystemSettingsPersistenceTest.class/instance/tests - storing/testStoreIdentifier.st
A System-Settings-Tests.package/SystemSettingsPersistenceTest.class/instance/tests - storing/testStoreSettingNode.st
A System-Settings-Tests.package/SystemSettingsPersistenceTest.class/instance/tests - storing/testStoreSettingNodeTwice.st
A System-Settings-Tests.package/SystemSettingsPersistenceTest.class/instance/tests - storing/testStoreSettingNodes.st
A System-Settings-Tests.package/SystemSettingsPersistenceTest.class/instance/tests - storing/testStoreTwoSettingNodeSeparately.st
A System-Settings-Tests.package/SystemSettingsPersistenceTest.class/instance/tests/testAccessRealValues.st
A System-Settings-Tests.package/SystemSettingsPersistenceTest.class/instance/tests/testAccessibleRealValues.st
A System-Settings-Tests.package/SystemSettingsPersistenceTest.class/instance/tests/testAllStoredSettings.st
A System-Settings-Tests.package/SystemSettingsPersistenceTest.class/instance/tests/testRealValueModification.st
A System-Settings-Tests.package/SystemSettingsPersistenceTest.class/instance/tests/testRealValues.st
A System-Settings-Tests.package/SystemSettingsPersistenceTest.class/instance/tests/testSettingNodeIdentifierForChildNode.st
A System-Settings-Tests.package/SystemSettingsPersistenceTest.class/instance/tests/testSettingNodeIdentifierForRootNode.st
A System-Settings-Tests.package/SystemSettingsPersistenceTest.class/instance/tests/testStoreBooleanToSton.st
A System-Settings-Tests.package/SystemSettingsPersistenceTest.class/instance/tests/testStoredValueForSetting.st
A System-Settings-Tests.package/SystemSettingsPersistenceTest.class/instance/tests/testStoredValueForSettingNoStoredValue.st
A System-Settings-Tests.package/SystemSettingsPersistenceTest.class/instance/tests/testUniqueIdentifiers.st
A System-Settings-Tests.package/SystemSettingsPersistenceTest.class/instance/tests/testUniqueNames.st
A System-Settings-Tests.package/extension/SettingTreeBuilder/instance/mocksystemsettings.st
A System-Settings.package/AbsolutePathStoredSetting.class/README.md
A System-Settings.package/AbsolutePathStoredSetting.class/definition.st
A System-Settings.package/AbsolutePathStoredSetting.class/instance/accessing/realValue.st
A System-Settings.package/AbstractFontStoredSetting.class/README.md
A System-Settings.package/AbstractFontStoredSetting.class/definition.st
A System-Settings.package/AbstractFontStoredSetting.class/instance/accessing/emphasized.st
A System-Settings.package/AbstractFontStoredSetting.class/instance/accessing/emphasized_.st
A System-Settings.package/AbstractFontStoredSetting.class/instance/accessing/familyName.st
A System-Settings.package/AbstractFontStoredSetting.class/instance/accessing/familyName_.st
A System-Settings.package/AbstractFontStoredSetting.class/instance/accessing/fontClassName.st
A System-Settings.package/AbstractFontStoredSetting.class/instance/accessing/fontClassName_.st
A System-Settings.package/AbstractFontStoredSetting.class/instance/accessing/pointSize.st
A System-Settings.package/AbstractFontStoredSetting.class/instance/accessing/pointSize_.st
A System-Settings.package/AbstractStoredSetting.class/README.md
A System-Settings.package/AbstractStoredSetting.class/definition.st
A System-Settings.package/AbstractStoredSetting.class/instance/accessing/realValue.st
A System-Settings.package/AbstractStoredSetting.class/instance/accessing/settingNodeIdentifier.st
A System-Settings.package/AbstractStoredSetting.class/instance/accessing/settingNodeIdentifier_.st
A System-Settings.package/AbstractStoredSetting.class/instance/loading/updateSettingNode_.st
A System-Settings.package/AbstractStoredSetting.class/instance/testing/isForSettingNode_.st
A System-Settings.package/ClassStoredSetting.class/README.md
A System-Settings.package/ClassStoredSetting.class/definition.st
A System-Settings.package/ClassStoredSetting.class/instance/accessing/realValue.st
A System-Settings.package/FileLocatorStoredSetting.class/README.md
A System-Settings.package/FileLocatorStoredSetting.class/definition.st
A System-Settings.package/FileLocatorStoredSetting.class/instance/accessing/origin_.st
A System-Settings.package/FileLocatorStoredSetting.class/instance/accessing/pathSegments_.st
A System-Settings.package/FileLocatorStoredSetting.class/instance/accessing/realValue.st
A System-Settings.package/LogicalFontStoredSetting.class/README.md
A System-Settings.package/LogicalFontStoredSetting.class/definition.st
A System-Settings.package/LogicalFontStoredSetting.class/instance/accessing/fallbackFamilyNames.st
A System-Settings.package/LogicalFontStoredSetting.class/instance/accessing/fallbackFamilyNames_.st
A System-Settings.package/LogicalFontStoredSetting.class/instance/accessing/realValue.st
A System-Settings.package/LogicalFontStoredSetting.class/instance/accessing/slantValue.st
A System-Settings.package/LogicalFontStoredSetting.class/instance/accessing/slantValue_.st
A System-Settings.package/LogicalFontStoredSetting.class/instance/accessing/stretchValue.st
A System-Settings.package/LogicalFontStoredSetting.class/instance/accessing/stretchValue_.st
A System-Settings.package/LogicalFontStoredSetting.class/instance/accessing/weightValue.st
A System-Settings.package/LogicalFontStoredSetting.class/instance/accessing/weightValue_.st
A System-Settings.package/PragmaSetting.class/instance/visitor/acceptSettings_.st
A System-Settings.package/RelativePathStoredSetting.class/README.md
A System-Settings.package/RelativePathStoredSetting.class/definition.st
A System-Settings.package/RelativePathStoredSetting.class/instance/accessing/realValue.st
A System-Settings.package/SettingBrowser.class/instance/menu/loadSettings.st
M System-Settings.package/SettingBrowser.class/instance/menu/setAllToDefault.st
A System-Settings.package/SettingBrowser.class/instance/menu/storeSettings.st
M System-Settings.package/SettingBrowser.class/instance/user interface/toolBarIn_.st
A System-Settings.package/SettingDeclaration.class/instance/visitor/acceptSettings_.st
A System-Settings.package/SettingNode.class/instance/accessing/persistence.st
A System-Settings.package/SettingNode.class/instance/accessing/realValue.st
A System-Settings.package/SettingNode.class/instance/accessing/realValue_.st
A System-Settings.package/SettingNode.class/instance/accessing/storedValue.st
A System-Settings.package/SettingNode.class/instance/menu/deleteStoredValue.st
A System-Settings.package/SettingNode.class/instance/menu/loadFromDisk.st
M System-Settings.package/SettingNode.class/instance/menu/menu_shifted_.st
A System-Settings.package/SettingNode.class/instance/menu/saveToDisk.st
A System-Settings.package/SettingNode.class/instance/printing/settingNodeIdentifier.st
A System-Settings.package/SettingNode.class/instance/printing/settingNodeIdentifierOn_.st
A System-Settings.package/SettingNode.class/instance/testing/isAnotherValueStored.st
A System-Settings.package/SettingNode.class/instance/testing/isCurrentValueStored.st
A System-Settings.package/SettingNode.class/instance/testing/isNotCurrentValueStored.st
A System-Settings.package/SettingNode.class/instance/testing/isStored.st
M System-Settings.package/SettingTree.class/definition.st
A System-Settings.package/SettingTree.class/instance/accessing/persistence.st
A System-Settings.package/SettingTree.class/instance/persistence/storeSettingNodes.st
A System-Settings.package/SettingTree.class/instance/persistence/updateSettingNodes.st
A System-Settings.package/SettingsStonReader.class/README.md
A System-Settings.package/SettingsStonReader.class/definition.st
A System-Settings.package/SettingsStonReader.class/instance/accessing/storedSettings.st
A System-Settings.package/SettingsStonReader.class/instance/accessing/stream.st
A System-Settings.package/SettingsStonReader.class/instance/accessing/stream_.st
A System-Settings.package/SettingsStonReader.class/instance/loading/load.st
A System-Settings.package/SettingsStonReader.class/instance/loading/secureLoad.st
A System-Settings.package/SettingsStonWriter.class/README.md
A System-Settings.package/SettingsStonWriter.class/definition.st
A System-Settings.package/SettingsStonWriter.class/instance/accessing/stream.st
A System-Settings.package/SettingsStonWriter.class/instance/accessing/stream_.st
A System-Settings.package/SettingsStonWriter.class/instance/actions/store.st
A System-Settings.package/SettingsStonWriter.class/instance/adding/addSetting_.st
A System-Settings.package/SettingsStonWriter.class/instance/adding/addSettings_.st
A System-Settings.package/SettingsStonWriter.class/instance/initialization/initialize.st
A System-Settings.package/StoredSetting.class/README.md
A System-Settings.package/StoredSetting.class/definition.st
A System-Settings.package/StoredSetting.class/instance/accessing/realValue.st
A System-Settings.package/StoredSetting.class/instance/accessing/realValue_.st
A System-Settings.package/StoredSetting.class/instance/comparing/=.st
A System-Settings.package/StoredSetting.class/instance/comparing/hash.st
A System-Settings.package/StoredSettingsFactory.class/README.md
A System-Settings.package/StoredSettingsFactory.class/definition.st
A System-Settings.package/StoredSettingsFactory.class/instance/building/fromSettingNodes_.st
A System-Settings.package/StoredSettingsFactory.class/instance/building/from_.st
A System-Settings.package/StoredSettingsFactory.class/instance/instance creation/newAbsolutePathStoredSetting.st
A System-Settings.package/StoredSettingsFactory.class/instance/instance creation/newClassStoredSetting.st
A System-Settings.package/StoredSettingsFactory.class/instance/instance creation/newFileLocatorStoreSetting.st
A System-Settings.package/StoredSettingsFactory.class/instance/instance creation/newFileReferenceStoredSetting.st
A System-Settings.package/StoredSettingsFactory.class/instance/instance creation/newLogicalFontStoredSetting.st
A System-Settings.package/StoredSettingsFactory.class/instance/instance creation/newRelativePathStoredSetting.st
A System-Settings.package/StoredSettingsFactory.class/instance/instance creation/newStoredSetting.st
A System-Settings.package/StoredSettingsFactory.class/instance/instance creation/newStrikeFontStoredSetting.st
A System-Settings.package/StoredSettingsFactory.class/instance/instance creation/newThemeIconsStoredSetting.st
A System-Settings.package/StoredSettingsFactory.class/instance/visitor/visitAbsolutePath_.st
A System-Settings.package/StoredSettingsFactory.class/instance/visitor/visitAbstractFileReference_.st
A System-Settings.package/StoredSettingsFactory.class/instance/visitor/visitClass_.st
A System-Settings.package/StoredSettingsFactory.class/instance/visitor/visitFileLocator_.st
A System-Settings.package/StoredSettingsFactory.class/instance/visitor/visitLogicalFont_.st
A System-Settings.package/StoredSettingsFactory.class/instance/visitor/visitObject_.st
A System-Settings.package/StoredSettingsFactory.class/instance/visitor/visitPragmaSetting_.st
A System-Settings.package/StoredSettingsFactory.class/instance/visitor/visitRelativePath_.st
A System-Settings.package/StoredSettingsFactory.class/instance/visitor/visitSettingDeclaration_.st
A System-Settings.package/StoredSettingsFactory.class/instance/visitor/visitStrikeFont_.st
A System-Settings.package/StoredSettingsFactory.class/instance/visitor/visitThemeIcons_.st
A System-Settings.package/StoredSettingsMerger.class/README.md
A System-Settings.package/StoredSettingsMerger.class/definition.st
A System-Settings.package/StoredSettingsMerger.class/instance/accessing/storedSettings.st
A System-Settings.package/StoredSettingsMerger.class/instance/adding/addStoredSetting_.st
A System-Settings.package/StoredSettingsMerger.class/instance/adding/addStoredSettings_.st
A System-Settings.package/StoredSettingsMerger.class/instance/initialization/initialize.st
A System-Settings.package/StrikeFontSetStoredSetting.class/README.md
A System-Settings.package/StrikeFontSetStoredSetting.class/definition.st
A System-Settings.package/StrikeFontSetStoredSetting.class/instance/accessing/realValue.st
A System-Settings.package/StrikeFontStoredSetting.class/README.md
A System-Settings.package/StrikeFontStoredSetting.class/definition.st
A System-Settings.package/StrikeFontStoredSetting.class/instance/accessing/realValue.st
A System-Settings.package/SystemSettingsPersistence.class/README.md
A System-Settings.package/SystemSettingsPersistence.class/class/accessing/default.st
A System-Settings.package/SystemSettingsPersistence.class/class/accessing/defaultPreferenceFileReference.st
A System-Settings.package/SystemSettingsPersistence.class/class/accessing/storedValueForSettingNode_.st
A System-Settings.package/SystemSettingsPersistence.class/class/class initialization/initialize.st
A System-Settings.package/SystemSettingsPersistence.class/class/cleanup/cleanUp.st
A System-Settings.package/SystemSettingsPersistence.class/class/deleting/deleteSettingNode_.st
A System-Settings.package/SystemSettingsPersistence.class/class/instance creation/settingTree_.st
A System-Settings.package/SystemSettingsPersistence.class/class/loading/updateSettingNode_.st
A System-Settings.package/SystemSettingsPersistence.class/class/loading/updateSettingNodes.st
A System-Settings.package/SystemSettingsPersistence.class/class/loading/updateSettingNodes_.st
A System-Settings.package/SystemSettingsPersistence.class/class/storing/storeIdentifier_.st
A System-Settings.package/SystemSettingsPersistence.class/class/storing/storeSettingNode_.st
A System-Settings.package/SystemSettingsPersistence.class/class/storing/storeSettingNodes.st
A System-Settings.package/SystemSettingsPersistence.class/class/storing/storeSettingNodes_.st
A System-Settings.package/SystemSettingsPersistence.class/class/system startup/resumeSystemSettings.st
A System-Settings.package/SystemSettingsPersistence.class/class/system startup/startUp_.st
A System-Settings.package/SystemSettingsPersistence.class/definition.st
A System-Settings.package/SystemSettingsPersistence.class/instance/accessing/allStoredSettings.st
A System-Settings.package/SystemSettingsPersistence.class/instance/accessing/fileReference.st
A System-Settings.package/SystemSettingsPersistence.class/instance/accessing/fileReference_.st
A System-Settings.package/SystemSettingsPersistence.class/instance/accessing/nodeNamed_.st
A System-Settings.package/SystemSettingsPersistence.class/instance/accessing/settingTree.st
A System-Settings.package/SystemSettingsPersistence.class/instance/accessing/settingTree_.st
A System-Settings.package/SystemSettingsPersistence.class/instance/deleting/deleteSettingNode_.st
A System-Settings.package/SystemSettingsPersistence.class/instance/deleting/deleteSettingNodes_.st
A System-Settings.package/SystemSettingsPersistence.class/instance/enumerating/settingNodeForStoredSetting_.st
A System-Settings.package/SystemSettingsPersistence.class/instance/enumerating/settingsNodesFromIdentifiers_.st
A System-Settings.package/SystemSettingsPersistence.class/instance/enumerating/storedSettingForSettingNode_.st
A System-Settings.package/SystemSettingsPersistence.class/instance/enumerating/storedSettingsForSettingNodes_.st
A System-Settings.package/SystemSettingsPersistence.class/instance/loading/storedValueForSettingNode_.st
A System-Settings.package/SystemSettingsPersistence.class/instance/loading/updateSettingNode_.st
A System-Settings.package/SystemSettingsPersistence.class/instance/loading/updateSettingNodes.st
A System-Settings.package/SystemSettingsPersistence.class/instance/loading/updateSettingNodes_.st
A System-Settings.package/SystemSettingsPersistence.class/instance/storing/mergeStoredSettings_.st
A System-Settings.package/SystemSettingsPersistence.class/instance/storing/removeFileReference.st
A System-Settings.package/SystemSettingsPersistence.class/instance/storing/storeExactStoredSettings_.st
A System-Settings.package/SystemSettingsPersistence.class/instance/storing/storeIdentifier_.st
A System-Settings.package/SystemSettingsPersistence.class/instance/storing/storeIdentifiers_.st
A System-Settings.package/SystemSettingsPersistence.class/instance/storing/storeSettingNode_.st
A System-Settings.package/SystemSettingsPersistence.class/instance/storing/storeSettingNodes.st
A System-Settings.package/SystemSettingsPersistence.class/instance/storing/storeSettingNodes_.st
A System-Settings.package/SystemSettingsPersistence.class/instance/storing/storeStoredSettings_.st
A System-Settings.package/SystemSettingsPersistence.class/instance/streams/readStream.st
A System-Settings.package/SystemSettingsPersistence.class/instance/streams/writeStream.st
A System-Settings.package/SystemSettingsPersistence.class/instance/tests/testOpening.st
A System-Settings.package/ThemeIconsStoredSetting.class/README.md
A System-Settings.package/ThemeIconsStoredSetting.class/definition.st
A System-Settings.package/ThemeIconsStoredSetting.class/instance/accessing/name.st
A System-Settings.package/ThemeIconsStoredSetting.class/instance/accessing/name_.st
A System-Settings.package/ThemeIconsStoredSetting.class/instance/accessing/realValue.st
A System-Settings.package/ThemeIconsStoredSetting.class/instance/accessing/url.st
A System-Settings.package/ThemeIconsStoredSetting.class/instance/accessing/url_.st
A System-Settings.package/extension/AbsolutePath/instance/acceptSettings_.st
A System-Settings.package/extension/AbstractFileReference/instance/acceptSettings_.st
A System-Settings.package/extension/Class/instance/acceptSettings_.st
A System-Settings.package/extension/FileLocator/instance/acceptSettings_.st
A System-Settings.package/extension/LogicalFont/instance/acceptSettings_.st
A System-Settings.package/extension/Object/instance/acceptSettings_.st
A System-Settings.package/extension/RelativePath/instance/acceptSettings_.st
A System-Settings.package/extension/StrikeFont/instance/acceptSettings_.st
A System-Settings.package/extension/StrikeFontSet/instance/acceptSettings_.st
A System-Settings.package/extension/ThemeIcons/instance/acceptSettings_.st
Log Message:
-----------
50388
15460 UITheme>>#backgroundColor packaged in Glamour-Morphic-Theme
https://pharo.fogbugz.com/f/cases/15460
16681 Storing System Settings using STON
https://pharo.fogbugz.com/f/cases/16681
http://files.pharo.org/image/50/50388.zip
Oct. 16, 2015
Re: [Pharo-dev] RPackage design documentation
by Thierry Goubier
Hi Esteban,
just be carefull if you start to play with it. Endless loops, code loss and
other nasty issues may happen when RPackage (overall) is desynchronized
from the state of the system. The concept is simple, but the time needed to
get it right was very significant. It was redesigned once already.
At the same time, any time and knowledge you may gain about the RPackage
internals will be very valuable for the Pharo community.
Thierry
2015-10-16 12:47 GMT+02:00 stepharo <stepharo(a)free.fr>:
> Most my documentations are in the tests I wrote.
> I spent more time in the tests than the code
> In essence a tag is just a label you can put to a class it does not
> influence the package.
> A package is
> a list of class definition
> a list of method selectors
> Read the class comment because it explains all path I followed.
>
> Stef
>
> Where can I find documentation about how the RPackage system?
>>
>> I want to learn how RPackageOrganizer, RPackageTag/classTag and
>> similar classes are supposed to work together. :)
>>
>> Thank you!
>>
>>
>> Esteban A. Maringolo
>>
>>
>>
>
>
Oct. 16, 2015
Fwd: [GSoC Mentors Announce] Google Summer of Code 2016
by Serge Stinckwich
---------- Forwarded message ----------
From: 'Carol Smith' via Google Summer of Code Mentors Announce List
<gsoc-mentors-announce(a)googlegroups.com>
Date: Tue, Oct 13, 2015 at 11:52 PM
Subject: [GSoC Mentors Announce] Google Summer of Code 2016
To: GSoC Mentors Announce <gsoc-mentors-announce(a)googlegroups.com>
Hi GSoC mentors and org admins,
We've announced that we're holding Google Summer of Code 2016.
The GSoC calendar, FAQ, and events timeline have all been updated with
next year's important dates, so please refer to those for the
milestones for the program.
Please consider applying to participate as an organization again next
year or maybe joining as a mentor for your favorite organization if
they are selected to participate.
We rely on you for your help for the success of this program, so thank
you in advance for all the work you do!
Cheers,
Carol
--
You received this message because you are subscribed to the Google
Groups "Google Summer of Code Mentors Announce List" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to gsoc-mentors-announce+unsubscribe(a)googlegroups.com.
Visit this group at http://groups.google.com/group/gsoc-mentors-announce.
For more options, visit https://groups.google.com/d/optout.
--
Serge Stinckwich
UCBN & UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/
Oct. 16, 2015
Re: [Pharo-dev] [Vm-dev] Re: Random forest in Pharo
by Esteban Lorenzano
> On 16 Oct 2015, at 14:06, Robert Withers <robert.w.withers(a)gmail.com> wrote:
>
>
>
> On 10/16/2015 07:58 AM, Esteban Lorenzano wrote:
>>
>>> On 16 Oct 2015, at 13:53, Esteban Lorenzano <estebanlm(a)gmail.com> wrote:
>>>
>>>
>>>> On 16 Oct 2015, at 13:22, Robert Withers <robert.w.withers(a)gmail.com> wrote:
>>>>
>>>> Bonjour Stef,
>>>>
>>>> I believe the change everyone would be waiting for is a Multi-threaded VM, that supports threaded callouts and callbacks. So I suppose the questions become:
>>>
>>> multi thread ffi vm exists as a prototype, and according to its author (Eliot) needs no less than 4 months of someone skilled working on it to finish it.
>>>
>>>> - will existing NB syntax require change with the introduction of a MTVM?
>>>
>>> nothing will be equal⦠why? because you will need to provide callbacks. There is no magic here, if you want something to happen while doing something else, you need to provide a way to be called back when that thing finishes.
>>>
>>> now we have:
>>>
>>> nbCall:module:
>>>
>>> to call FFI (will change to a more generic ffiCall:module:, btw⦠but weâll keep old notation some versions to provide backward compatibility)
>>>
>>> So I can imagine an API like this:
>>>
>>> ffiAsyncCall:callback:module:
>>>
>>> So yes⦠you need change. But thatâs inevitable⦠Of course you can do a fwk forking in image and starting a continuation, etc. But well, I will let you guys to think on that (also you still will need the fork) :)
>>
>> Actually I just remembered that current prototype works attaching external call with an internal Process (with some special id inside).
>> But still, I do not expect call syntax will change at all.
>
> Are you saying all FFI callouts would become threaded or would there be an unthreaded callout and a threaded callout? I was assuming the second scenario.
Iâm saying *the syntax* will not change. That means, if you want to call memcpy, syntax will still be: #(void *memcpy ( void* dest, void *src))
what can (and will) change is the method invoking it⦠ffiCall:module: vs. ffiAsyncCall:callback:module:
Esteban
>
> Robert
>
>>
>> Esteban
>>
>>>
>>>> - to what degree will NB syntax need to be extended to support threaded callouts.
>>>
>>> as described, I suppose. No exact idea until we implement.
>>>
>>>> - what NB syntax changes are needed for callbacks.
>>>
>>> NB used some magic there. Shadow classes and etc. We do not need/want that anymore.
>>>
>>> now you have a new FFICallback api, where you can do:
>>>
>>> FFICallback
>>> signature: #(int (int handle, int *pitch, int x, int y, int w, int h))
>>> block: [ :handle :pitch :x :y :w :h |
>>> pitch signedLongAt: 1 put: (self get_stride: handle).
>>> self get_data: handle ]
>>>
>>> (I extracted that example from my ongoing port of Athens)
>>>
>>>> - timing: when is MTVM expected and can we operate on the leading edge?
>>>
>>> we are lacking resources: Is just me (in the Pharo part, of course⦠Eliot and some others work also in the exclusively VM part, but they have other agendas).
>>>
>>> So⦠my plan is:
>>>
>>> - NB to FFI port (should be ready soon)
>>> - spur32 bits (should be ready soon, we are just waiting the NB to FFI)
>>> - spur64 bits (Eliot is working on the JIT, I need to manage the migration of Pharo)
>>> - FFI 64bits (0% done here⦠just some stubs waiting for effort). But we want to move Pharo to 64bits⦠we are losing a train here...
>>> - FFI MT
>>>
>>> So⦠not very hight priority. According as how I see things now, I *think* I can have that some point of 2017⦠yes, as far as that. Also because I have a lot other stuff to do, not just the lowlevel parts.
>>>
>>> Of course this is not good and we have talked with some people to speed up this. We talked with Igor about taking the MT stuff (yes, we also believe is VERY important), but he fade in the blur⦠I didnât hear from him since 3 months (Iâm still waiting for some feedback on OSWindow work he did, he)⦠yes Iâm a bit frustrated.
>>>
>>> If *anyone* wants to collaborate in any part of this list (is a MASSIVE effort), I would be very happy and willing to provide as much assistance/guiding/peer programming as I can.
>>>
>>> hope this helps
>>>
>>> Esteban
>>>
>>>>
>>>> Personally, in SqueakElib, I have my network and session layers working for encrypted connections, so I just have the presentation layer to go. Once done, I would be very interested in working in the VM with whomever is also interested with an eye towards threading (MTVM). I am no expert here so it will be a challenge I am looking forward to.
>>>>
>>>> Regards,
>>>> Robert
>>>>
>>>> On 10/16/2015 06:59 AM, stepharo wrote:
>>>>>
>>>>> In pharodays presentations we explictly mentioned our strategy:
>>>>> - we keep NB syntax
>>>>> - we change the assembly generation to be able to get Spur.
>>>>>
>>>>> Stef
>>>>>
>>>>> I can tell you that if I could get a lua kind of jit now I would sign
>>>>> immediately and also for having pharo as a dll.
>>>>> Now it takes time to do soemthing.
>>>>>
>>>>> Le 15/10/15 17:35, Robert Withers a écrit :
>>>>>>
>>>>>> I am reticent to invest in learning FFI that is changing without an idea
>>>>>> of the direction of the change. So
Oct. 16, 2015
Re: [Pharo-dev] Random forest in Pharo
by Robert Withers
On 10/16/2015 07:58 AM, Esteban Lorenzano wrote:
>
>> On 16 Oct 2015, at 13:53, Esteban Lorenzano <estebanlm(a)gmail.com> wrote:
>>
>>
>>> On 16 Oct 2015, at 13:22, Robert Withers <robert.w.withers(a)gmail.com> wrote:
>>>
>>> Bonjour Stef,
>>>
>>> I believe the change everyone would be waiting for is a Multi-threaded VM, that supports threaded callouts and callbacks. So I suppose the questions become:
>>
>> multi thread ffi vm exists as a prototype, and according to its author (Eliot) needs no less than 4 months of someone skilled working on it to finish it.
>>
>>> - will existing NB syntax require change with the introduction of a MTVM?
>>
>> nothing will be equal⦠why? because you will need to provide callbacks. There is no magic here, if you want something to happen while doing something else, you need to provide a way to be called back when that thing finishes.
>>
>> now we have:
>>
>> nbCall:module:
>>
>> to call FFI (will change to a more generic ffiCall:module:, btw⦠but weâll keep old notation some versions to provide backward compatibility)
>>
>> So I can imagine an API like this:
>>
>> ffiAsyncCall:callback:module:
>>
>> So yes⦠you need change. But thatâs inevitable⦠Of course you can do a fwk forking in image and starting a continuation, etc. But well, I will let you guys to think on that (also you still will need the fork) :)
>
> Actually I just remembered that current prototype works attaching external call with an internal Process (with some special id inside).
> But still, I do not expect call syntax will change at all.
Are you saying all FFI callouts would become threaded or would there be
an unthreaded callout and a threaded callout? I was assuming the second
scenario.
Robert
>
> Esteban
>
>>
>>> - to what degree will NB syntax need to be extended to support threaded callouts.
>>
>> as described, I suppose. No exact idea until we implement.
>>
>>> - what NB syntax changes are needed for callbacks.
>>
>> NB used some magic there. Shadow classes and etc. We do not need/want that anymore.
>>
>> now you have a new FFICallback api, where you can do:
>>
>> FFICallback
>> signature: #(int (int handle, int *pitch, int x, int y, int w, int h))
>> block: [ :handle :pitch :x :y :w :h |
>> pitch signedLongAt: 1 put: (self get_stride: handle).
>> self get_data: handle ]
>>
>> (I extracted that example from my ongoing port of Athens)
>>
>>> - timing: when is MTVM expected and can we operate on the leading edge?
>>
>> we are lacking resources: Is just me (in the Pharo part, of course⦠Eliot and some others work also in the exclusively VM part, but they have other agendas).
>>
>> So⦠my plan is:
>>
>> - NB to FFI port (should be ready soon)
>> - spur32 bits (should be ready soon, we are just waiting the NB to FFI)
>> - spur64 bits (Eliot is working on the JIT, I need to manage the migration of Pharo)
>> - FFI 64bits (0% done here⦠just some stubs waiting for effort). But we want to move Pharo to 64bits⦠we are losing a train here...
>> - FFI MT
>>
>> So⦠not very hight priority. According as how I see things now, I *think* I can have that some point of 2017⦠yes, as far as that. Also because I have a lot other stuff to do, not just the lowlevel parts.
>>
>> Of course this is not good and we have talked with some people to speed up this. We talked with Igor about taking the MT stuff (yes, we also believe is VERY important), but he fade in the blur⦠I didnât hear from him since 3 months (Iâm still waiting for some feedback on OSWindow work he did, he)⦠yes Iâm a bit frustrated.
>>
>> If *anyone* wants to collaborate in any part of this list (is a MASSIVE effort), I would be very happy and willing to provide as much assistance/guiding/peer programming as I can.
>>
>> hope this helps
>>
>> Esteban
>>
>>>
>>> Personally, in SqueakElib, I have my network and session layers working for encrypted connections, so I just have the presentation layer to go. Once done, I would be very interested in working in the VM with whomever is also interested with an eye towards threading (MTVM). I am no expert here so it will be a challenge I am looking forward to.
>>>
>>> Regards,
>>> Robert
>>>
>>> On 10/16/2015 06:59 AM, stepharo wrote:
>>>>
>>>> In pharodays presentations we explictly mentioned our strategy:
>>>> - we keep NB syntax
>>>> - we change the assembly generation to be able to get Spur.
>>>>
>>>> Stef
>>>>
>>>> I can tell you that if I could get a lua kind of jit now I would sign
>>>> immediately and also for having pharo as a dll.
>>>> Now it takes time to do soemthing.
>>>>
>>>> Le 15/10/15 17:35, Robert Withers a écrit :
>>>>>
>>>>> I am reticent to invest in learning FFI that is changing without an idea
>>>>> of the direction of the change. So
>>>>
>>>>
>>>
>>
>
>
Oct. 16, 2015
Re: [Pharo-dev] Random forest in Pharo
by Robert Withers
(+vm-dev)
Esteban, thanks very much for your views. You write:
On 10/16/2015 07:53 AM, Esteban Lorenzano wrote:
>
> So⦠my plan is:
>
> - NB to FFI port (should be ready soon)
> - spur32 bits (should be ready soon, we are just waiting the NB to FFI)
> - spur64 bits (Eliot is working on the JIT, I need to manage the
migration of Pharo)
> - FFI 64bits (0% done here⦠just some stubs waiting for effort). But
we want to move Pharo to 64bits⦠we are losing a train here...
> - FFI MT
and of course you are buried in existing tasks, especially the
transition to 64-bits. It is my humble opinion, without really knowing,
that 64-bit would have to be redone after the MTVM completes. Kinda why
I would desire MTVM before 64-bits, then I assume less work would be
needed overall. But that's my uneducated guess.
Perhaps Eliot could shine some light for us on the progress of MTVM and
what's needed.
Because of that assumption I've made and without the responsibilities
you have, Esteban, but recognizing modernizing NB to FFI, my desired
list is:
- NB to FFI port (should be ready soon)
- spur32 bits (should be ready soon, we are just waiting the NB to FFI)
- FFI MT
- spur64 bits (Eliot is working on the JIT, I need to manage the
migration of Pharo)
- FFI 64bits (0% done here⦠just some stubs waiting for effort). But we
want to move Pharo to 64bits⦠we are losing a train here...
> If *anyone* wants to collaborate in any part of this list (is a
MASSIVE effort), I would be very happy and willing to provide as much
assistance/guiding/peer programming as I can.
Yes, please, and I appreciate you willingness to mentor.
Best,
Robert
On 10/16/2015 07:53 AM, Esteban Lorenzano wrote:
>
>> On 16 Oct 2015, at 13:22, Robert Withers <robert.w.withers(a)gmail.com> wrote:
>>
>> Bonjour Stef,
>>
>> I believe the change everyone would be waiting for is a Multi-threaded VM, that supports threaded callouts and callbacks. So I suppose the questions become:
>
> multi thread ffi vm exists as a prototype, and according to its author (Eliot) needs no less than 4 months of someone skilled working on it to finish it.
>
>> - will existing NB syntax require change with the introduction of a MTVM?
>
> nothing will be equal⦠why? because you will need to provide callbacks. There is no magic here, if you want something to happen while doing something else, you need to provide a way to be called back when that thing finishes.
>
> now we have:
>
> nbCall:module:
>
> to call FFI (will change to a more generic ffiCall:module:, btw⦠but weâll keep old notation some versions to provide backward compatibility)
>
> So I can imagine an API like this:
>
> ffiAsyncCall:callback:module:
>
> So yes⦠you need change. But thatâs inevitable⦠Of course you can do a fwk forking in image and starting a continuation, etc. But well, I will let you guys to think on that (also you still will need the fork) :)
>
>> - to what degree will NB syntax need to be extended to support threaded callouts.
>
> as described, I suppose. No exact idea until we implement.
>
>> - what NB syntax changes are needed for callbacks.
>
> NB used some magic there. Shadow classes and etc. We do not need/want that anymore.
>
> now you have a new FFICallback api, where you can do:
>
> FFICallback
> signature: #(int (int handle, int *pitch, int x, int y, int w, int h))
> block: [ :handle :pitch :x :y :w :h |
> pitch signedLongAt: 1 put: (self get_stride: handle).
> self get_data: handle ]
>
> (I extracted that example from my ongoing port of Athens)
>
>> - timing: when is MTVM expected and can we operate on the leading edge?
>
> we are lacking resources: Is just me (in the Pharo part, of course⦠Eliot and some others work also in the exclusively VM part, but they have other agendas).
>
> So⦠my plan is:
>
> - NB to FFI port (should be ready soon)
> - spur32 bits (should be ready soon, we are just waiting the NB to FFI)
> - spur64 bits (Eliot is working on the JIT, I need to manage the migration of Pharo)
> - FFI 64bits (0% done here⦠just some stubs waiting for effort). But we want to move Pharo to 64bits⦠we are losing a train here...
> - FFI MT
>
> So⦠not very hight priority. According as how I see things now, I *think* I can have that some point of 2017⦠yes, as far as that. Also because I have a lot other stuff to do, not just the lowlevel parts.
>
> Of course this is not good and we have talked with some people to speed up this. We talked with Igor about taking the MT stuff (yes, we also believe is VERY important), but he fade in the blur⦠I didnât hear from him since 3 months (Iâm still waiting for some feedback on OSWindow work he did, he)⦠yes Iâm a bit frustrated.
>
> If *anyone* wants to collaborate in any part of this list (is a MASSIVE effort), I would be very happy and willing to provide as much assistance/guiding/peer programming as I can.
>
> hope this helps
>
> Esteban
>
>>
>> Personally, in SqueakElib, I have my network and session layers working for encrypted connections, so I just have the presentation layer to go. Once done, I would be very interested in working in the VM with whomever is also interested with an eye towards threading (MTVM). I am no expert here so it will be a challenge I am looking forward to.
>>
>> Regards,
>> Robert
>>
>> On 10/16/2015 06:59 AM, stepharo wrote:
>>>
>>> In pharodays presentations we explictly mentioned our strategy:
>>> - we keep NB syntax
>>> - we change the assembly generation to be able to get Spur.
>>>
>>> Stef
>>>
>>> I can tell you that if I could get a lua kind of jit now I would sign
>>> immediately and also for having pharo as a dll.
>>> Now it takes time to do soemthing.
>>>
>>> Le 15/10/15 17:35, Robert Withers a écrit :
>>>>
>>>> I am reticent to invest in learning FFI that is changing without an idea
>>>> of the direction of the change. So
>>>
>>>
>>
>
>
Oct. 16, 2015
Re: [Pharo-dev] Random forest in Pharo
by Esteban Lorenzano
> On 16 Oct 2015, at 13:53, Esteban Lorenzano <estebanlm(a)gmail.com> wrote:
>
>
>> On 16 Oct 2015, at 13:22, Robert Withers <robert.w.withers(a)gmail.com> wrote:
>>
>> Bonjour Stef,
>>
>> I believe the change everyone would be waiting for is a Multi-threaded VM, that supports threaded callouts and callbacks. So I suppose the questions become:
>
> multi thread ffi vm exists as a prototype, and according to its author (Eliot) needs no less than 4 months of someone skilled working on it to finish it.
>
>> - will existing NB syntax require change with the introduction of a MTVM?
>
> nothing will be equal⦠why? because you will need to provide callbacks. There is no magic here, if you want something to happen while doing something else, you need to provide a way to be called back when that thing finishes.
>
> now we have:
>
> nbCall:module:
>
> to call FFI (will change to a more generic ffiCall:module:, btw⦠but weâll keep old notation some versions to provide backward compatibility)
>
> So I can imagine an API like this:
>
> ffiAsyncCall:callback:module:
>
> So yes⦠you need change. But thatâs inevitable⦠Of course you can do a fwk forking in image and starting a continuation, etc. But well, I will let you guys to think on that (also you still will need the fork) :)
Actually I just remembered that current prototype works attaching external call with an internal Process (with some special id inside).
But still, I do not expect call syntax will change at all.
Esteban
>
>> - to what degree will NB syntax need to be extended to support threaded callouts.
>
> as described, I suppose. No exact idea until we implement.
>
>> - what NB syntax changes are needed for callbacks.
>
> NB used some magic there. Shadow classes and etc. We do not need/want that anymore.
>
> now you have a new FFICallback api, where you can do:
>
> FFICallback
> signature: #(int (int handle, int *pitch, int x, int y, int w, int h))
> block: [ :handle :pitch :x :y :w :h |
> pitch signedLongAt: 1 put: (self get_stride: handle).
> self get_data: handle ]
>
> (I extracted that example from my ongoing port of Athens)
>
>> - timing: when is MTVM expected and can we operate on the leading edge?
>
> we are lacking resources: Is just me (in the Pharo part, of course⦠Eliot and some others work also in the exclusively VM part, but they have other agendas).
>
> So⦠my plan is:
>
> - NB to FFI port (should be ready soon)
> - spur32 bits (should be ready soon, we are just waiting the NB to FFI)
> - spur64 bits (Eliot is working on the JIT, I need to manage the migration of Pharo)
> - FFI 64bits (0% done here⦠just some stubs waiting for effort). But we want to move Pharo to 64bits⦠we are losing a train here...
> - FFI MT
>
> So⦠not very hight priority. According as how I see things now, I *think* I can have that some point of 2017⦠yes, as far as that. Also because I have a lot other stuff to do, not just the lowlevel parts.
>
> Of course this is not good and we have talked with some people to speed up this. We talked with Igor about taking the MT stuff (yes, we also believe is VERY important), but he fade in the blur⦠I didnât hear from him since 3 months (Iâm still waiting for some feedback on OSWindow work he did, he)⦠yes Iâm a bit frustrated.
>
> If *anyone* wants to collaborate in any part of this list (is a MASSIVE effort), I would be very happy and willing to provide as much assistance/guiding/peer programming as I can.
>
> hope this helps
>
> Esteban
>
>>
>> Personally, in SqueakElib, I have my network and session layers working for encrypted connections, so I just have the presentation layer to go. Once done, I would be very interested in working in the VM with whomever is also interested with an eye towards threading (MTVM). I am no expert here so it will be a challenge I am looking forward to.
>>
>> Regards,
>> Robert
>>
>> On 10/16/2015 06:59 AM, stepharo wrote:
>>>
>>> In pharodays presentations we explictly mentioned our strategy:
>>> - we keep NB syntax
>>> - we change the assembly generation to be able to get Spur.
>>>
>>> Stef
>>>
>>> I can tell you that if I could get a lua kind of jit now I would sign
>>> immediately and also for having pharo as a dll.
>>> Now it takes time to do soemthing.
>>>
>>> Le 15/10/15 17:35, Robert Withers a écrit :
>>>>
>>>> I am reticent to invest in learning FFI that is changing without an idea
>>>> of the direction of the change. So
>>>
>>>
>>
>
Oct. 16, 2015
Re: [Pharo-dev] Random forest in Pharo
by Esteban Lorenzano
> On 16 Oct 2015, at 13:22, Robert Withers <robert.w.withers(a)gmail.com> wrote:
>
> Bonjour Stef,
>
> I believe the change everyone would be waiting for is a Multi-threaded VM, that supports threaded callouts and callbacks. So I suppose the questions become:
multi thread ffi vm exists as a prototype, and according to its author (Eliot) needs no less than 4 months of someone skilled working on it to finish it.
> - will existing NB syntax require change with the introduction of a MTVM?
nothing will be equal⦠why? because you will need to provide callbacks. There is no magic here, if you want something to happen while doing something else, you need to provide a way to be called back when that thing finishes.
now we have:
nbCall:module:
to call FFI (will change to a more generic ffiCall:module:, btw⦠but weâll keep old notation some versions to provide backward compatibility)
So I can imagine an API like this:
ffiAsyncCall:callback:module:
So yes⦠you need change. But thatâs inevitable⦠Of course you can do a fwk forking in image and starting a continuation, etc. But well, I will let you guys to think on that (also you still will need the fork) :)
> - to what degree will NB syntax need to be extended to support threaded callouts.
as described, I suppose. No exact idea until we implement.
> - what NB syntax changes are needed for callbacks.
NB used some magic there. Shadow classes and etc. We do not need/want that anymore.
now you have a new FFICallback api, where you can do:
FFICallback
signature: #(int (int handle, int *pitch, int x, int y, int w, int h))
block: [ :handle :pitch :x :y :w :h |
pitch signedLongAt: 1 put: (self get_stride: handle).
self get_data: handle ]
(I extracted that example from my ongoing port of Athens)
> - timing: when is MTVM expected and can we operate on the leading edge?
we are lacking resources: Is just me (in the Pharo part, of course⦠Eliot and some others work also in the exclusively VM part, but they have other agendas).
So⦠my plan is:
- NB to FFI port (should be ready soon)
- spur32 bits (should be ready soon, we are just waiting the NB to FFI)
- spur64 bits (Eliot is working on the JIT, I need to manage the migration of Pharo)
- FFI 64bits (0% done here⦠just some stubs waiting for effort). But we want to move Pharo to 64bits⦠we are losing a train here...
- FFI MT
So⦠not very hight priority. According as how I see things now, I *think* I can have that some point of 2017⦠yes, as far as that. Also because I have a lot other stuff to do, not just the lowlevel parts.
Of course this is not good and we have talked with some people to speed up this. We talked with Igor about taking the MT stuff (yes, we also believe is VERY important), but he fade in the blur⦠I didnât hear from him since 3 months (Iâm still waiting for some feedback on OSWindow work he did, he)⦠yes Iâm a bit frustrated.
If *anyone* wants to collaborate in any part of this list (is a MASSIVE effort), I would be very happy and willing to provide as much assistance/guiding/peer programming as I can.
hope this helps
Esteban
>
> Personally, in SqueakElib, I have my network and session layers working for encrypted connections, so I just have the presentation layer to go. Once done, I would be very interested in working in the VM with whomever is also interested with an eye towards threading (MTVM). I am no expert here so it will be a challenge I am looking forward to.
>
> Regards,
> Robert
>
> On 10/16/2015 06:59 AM, stepharo wrote:
>>
>> In pharodays presentations we explictly mentioned our strategy:
>> - we keep NB syntax
>> - we change the assembly generation to be able to get Spur.
>>
>> Stef
>>
>> I can tell you that if I could get a lua kind of jit now I would sign
>> immediately and also for having pharo as a dll.
>> Now it takes time to do soemthing.
>>
>> Le 15/10/15 17:35, Robert Withers a écrit :
>>>
>>> I am reticent to invest in learning FFI that is changing without an idea
>>> of the direction of the change. So
>>
>>
>
Oct. 16, 2015
Re: [Pharo-dev] Random forest in Pharo
by Esteban Lorenzano
> On 16 Oct 2015, at 12:56, stepharo <stepharo(a)free.fr> wrote:
>
> Personally I do not want to be forced to deploy R or whatever when I deploy Pharo. Period.
but why would you?
now⦠if you have to use a special function, you might need to install a package+an external library.
> We have enough dependencies to external libraries dll and other.
> If for one of your project you want to use a hyper cool super hyper coool external libraries then perfect. Not for Pharo.
no one said this is going to be in Pharo, AFAIR
>
> Now we should focus on what is important for core pharo and my remark is about the core.
>
> About the FFI, would be good that people stop complaining and help.
> We supported Igor NB (Laurent wrote a tutorial that I spent time to revisit even if I never did a FFI call) so where were you?
>
> Where are you pharoers when it is about to write something for the community?
>
> For your information we are in discussion with ronie (I do not know the status of his back-end),
> esteban spent 4 months working on a new FFI front-end using NB syntax and back end using FFI. The idea is that we can plug the back-end of ronie.
>
> Our team on his **own** money will invite ronie to work with us (Now we lost the money of our of our sponsors so times will be difficult).
>
> Stef
>
>
> Le 15/10/15 14:18, Esteban Lorenzano a écrit :
>> yeah but if this is a special case there is no problems on doing FFI bindings and using an external library.
>> Precisely for that is FFI.
>>
>> not that we have to integrate everything into the image :)
>>
>> but⦠I would not be so fast in assume pharo performance will not be enough. Unique form to know it is to do it and then see how you can optimise, if needed :)
>>
>> Esteban
>>
>>> On 15 Oct 2015, at 09:51, stepharo < <mailto:stepharo@free.fr>stepharo(a)free.fr <mailto:stepharo@free.fr>> wrote:
>>>
>>> We do not want to be bound to install and maintain connection with fifteen different libs.
>>>
>>> Stef
>>>
>>> Le 14/10/15 18:01, <mailto:philippe.back@highoctane.be>philippe.back(a)highoctane.be <mailto:philippe.back@highoctane.be> a écrit :
>>>> Not sure you would get enough performance on Pharo per se. Xe may be better off leveraging a multicore enabled external lib. Like caret and doMC on R.
>>>>
>>>> Le 14 oct. 2015 17:49, "Serge Stinckwich" <serge.stinckwich(a)gmail.com <mailto:serge.stinckwich@gmail.com>> a écrit :
>>>> I don't think so.
>>>>
>>>> I followup your message on SciSmalltalk mailing-list.
>>>> This is something that might interested us ;-)
>>>>
>>>>
>>>>
>>>> On Wed, Oct 14, 2015 at 4:54 PM, Damien Cassou <damien.cassou(a)inria.fr <mailto:damien.cassou@inria.fr>> wrote:
>>>> > Hi,
>>>> >
>>>> > did anyone implement a Random Forest algorithm in Pharo?
>>>> >
>>>> > https://en.wikipedia.org/wiki/Random_forest <https://en.wikipedia.org/wiki/Random_forest>
>>>> >
>>>> > --
>>>> > Damien Cassou
>>>> > http://damiencassou.seasidehosting.st <http://damiencassou.seasidehosting.st/>
>>>> >
>>>> > "Success is the ability to go from one failure to another without
>>>> > losing enthusiasm." --Winston Churchill
>>>> >
>>>>
>>>>
>>>>
>>>> --
>>>> Serge Stinckwich
>>>> UCBN & UMI UMMISCO 209 (IRD/UPMC)
>>>> Every DSL ends up being Smalltalk
>>>> http://www.doesnotunderstand.org/ <http://www.doesnotunderstand.org/>
>>>>
>>>
>>
>
Oct. 16, 2015
Re: [Pharo-dev] Random forest in Pharo
by phil@highoctane.be
On Fri, Oct 16, 2015 at 12:56 PM, stepharo <stepharo(a)free.fr> wrote:
> Personally I do not want to be forced to deploy R or whatever when I
> deploy Pharo. Period.
> We have enough dependencies to external libraries dll and other.
> If for one of your project you want to use a hyper cool super hyper coool
> external libraries then perfect. Not for Pharo.
>
> Now we should focus on what is important for core pharo and my remark is
> about the core.
>
> About the FFI, would be good that people stop complaining and help.
> We supported Igor NB (Laurent wrote a tutorial that I spent time to
> revisit even if I never did a FFI call) so where were you?
>
Actually reading it and putting it to use in a project.
> Where are you pharoers when it is about to write something for the
> community?
>
> For your information we are in discussion with ronie (I do not know
> the status of his back-end),
> esteban spent 4 months working on a new FFI front-end using NB syntax
> and back end using FFI. The idea is that we can plug the back-end of ronie.
>
> Our team on his **own** money will invite ronie to work with us (Now
> we lost the money of our of our sponsors so times will be difficult).
>
One more reason to make money with Pharo and leverage what's out there in
terms of capabilities.
Going to use Pharo in a hackathon next monday. I'll see if I can get things
done or be buried into the ground by the people using other tech.
>
> Stef
>
>
> Le 15/10/15 14:18, Esteban Lorenzano a écrit :
>
> yeah but if this is a special case there is no problems on doing FFI
> bindings and using an external library.
> Precisely for that is FFI.
>
> not that we have to integrate everything into the image :)
>
> but⦠I would not be so fast in assume pharo performance will not be
> enough. Unique form to know it is to do it and then see how you can
> optimise, if needed :)
>
> Esteban
>
> On 15 Oct 2015, at 09:51, stepharo < <stepharo(a)free.fr>stepharo(a)free.fr>
> wrote:
>
> We do not want to be bound to install and maintain connection with fifteen
> different libs.
>
> Stef
>
> Le 14/10/15 18:01, <philippe.back(a)highoctane.be>
> philippe.back(a)highoctane.be a écrit :
>
> Not sure you would get enough performance on Pharo per se. Xe may be
> better off leveraging a multicore enabled external lib. Like caret and doMC
> on R.
> Le 14 oct. 2015 17:49, "Serge Stinckwich" <serge.stinckwich(a)gmail.com> a
> écrit :
>
>> I don't think so.
>>
>> I followup your message on SciSmalltalk mailing-list.
>> This is something that might interested us ;-)
>>
>>
>>
>> On Wed, Oct 14, 2015 at 4:54 PM, Damien Cassou <damien.cassou(a)inria.fr>
>> wrote:
>> > Hi,
>> >
>> > did anyone implement a Random Forest algorithm in Pharo?
>> >
>> > https://en.wikipedia.org/wiki/Random_forest
>> >
>> > --
>> > Damien Cassou
>> > http://damiencassou.seasidehosting.st
>> >
>> > "Success is the ability to go from one failure to another without
>> > losing enthusiasm." --Winston Churchill
>> >
>>
>>
>>
>> --
>> Serge Stinckwich
>> UCBN & UMI UMMISCO 209 (IRD/UPMC)
>> Every DSL ends up being Smalltalk
>> http://www.doesnotunderstand.org/
>>
>>
>
>
>
Oct. 16, 2015
Re: [Pharo-dev] Random forest in Pharo
by Robert Withers
Bonjour Stef,
I believe the change everyone would be waiting for is a Multi-threaded
VM, that supports threaded callouts and callbacks. So I suppose the
questions become:
- will existing NB syntax require change with the introduction of a MTVM?
- to what degree will NB syntax need to be extended to support threaded
callouts.
- what NB syntax changes are needed for callbacks.
- timing: when is MTVM expected and can we operate on the leading edge?
Personally, in SqueakElib, I have my network and session layers working
for encrypted connections, so I just have the presentation layer to go.
Once done, I would be very interested in working in the VM with whomever
is also interested with an eye towards threading (MTVM). I am no expert
here so it will be a challenge I am looking forward to.
Regards,
Robert
On 10/16/2015 06:59 AM, stepharo wrote:
>
> In pharodays presentations we explictly mentioned our strategy:
> - we keep NB syntax
> - we change the assembly generation to be able to get Spur.
>
> Stef
>
> I can tell you that if I could get a lua kind of jit now I would sign
> immediately and also for having pharo as a dll.
> Now it takes time to do soemthing.
>
> Le 15/10/15 17:35, Robert Withers a écrit :
>>
>> I am reticent to invest in learning FFI that is changing without an idea
>> of the direction of the change. So
>
>
Oct. 16, 2015
Re: [Pharo-dev] Random forest in Pharo
by stepharo
In pharodays presentations we explictly mentioned our strategy:
- we keep NB syntax
- we change the assembly generation to be able to get Spur.
Stef
I can tell you that if I could get a lua kind of jit now I would sign
immediately and also for having pharo as a dll.
Now it takes time to do soemthing.
Le 15/10/15 17:35, Robert Withers a écrit :
>
> I am reticent to invest in learning FFI that is changing without an idea
> of the direction of the change. So
Oct. 16, 2015
Re: [Pharo-dev] Random forest in Pharo
by stepharo
Personally I do not want to be forced to deploy R or whatever when I
deploy Pharo. Period.
We have enough dependencies to external libraries dll and other.
If for one of your project you want to use a hyper cool super hyper
coool external libraries then perfect. Not for Pharo.
Now we should focus on what is important for core pharo and my remark is
about the core.
About the FFI, would be good that people stop complaining and help.
We supported Igor NB (Laurent wrote a tutorial that I spent time to
revisit even if I never did a FFI call) so where were you?
Where are you pharoers when it is about to write something for the
community?
For your information we are in discussion with ronie (I do not know
the status of his back-end),
esteban spent 4 months working on a new FFI front-end using NB
syntax and back end using FFI. The idea is that we can plug the back-end
of ronie.
Our team on his **own** money will invite ronie to work with us
(Now we lost the money of our of our sponsors so times will be difficult).
Stef
Le 15/10/15 14:18, Esteban Lorenzano a écrit :
> yeah but if this is a special case there is no problems on doing FFI
> bindings and using an external library.
> Precisely for that is FFI.
>
> not that we have to integrate everything into the image :)
>
> but⦠I would not be so fast in assume pharo performance will not be
> enough. Unique form to know it is to do it and then see how you can
> optimise, if needed :)
>
> Esteban
>
>> On 15 Oct 2015, at 09:51, stepharo <stepharo(a)free.fr
>> <mailto:stepharo@free.fr>> wrote:
>>
>> We do not want to be bound to install and maintain connection with
>> fifteen different libs.
>>
>> Stef
>>
>> Le 14/10/15 18:01, philippe.back(a)highoctane.be a écrit :
>>>
>>> Not sure you would get enough performance on Pharo per se. Xe may be
>>> better off leveraging a multicore enabled external lib. Like caret
>>> and doMC on R.
>>>
>>> Le 14 oct. 2015 17:49, "Serge Stinckwich"
>>> <serge.stinckwich(a)gmail.com <mailto:serge.stinckwich@gmail.com>> a
>>> écrit :
>>>
>>> I don't think so.
>>>
>>> I followup your message on SciSmalltalk mailing-list.
>>> This is something that might interested us ;-)
>>>
>>>
>>>
>>> On Wed, Oct 14, 2015 at 4:54 PM, Damien Cassou
>>> <damien.cassou(a)inria.fr> wrote:
>>> > Hi,
>>> >
>>> > did anyone implement a Random Forest algorithm in Pharo?
>>> >
>>> > https://en.wikipedia.org/wiki/Random_forest
>>> >
>>> > --
>>> > Damien Cassou
>>> > http://damiencassou.seasidehosting.st
>>> <http://damiencassou.seasidehosting.st/>
>>> >
>>> > "Success is the ability to go from one failure to another without
>>> > losing enthusiasm." --Winston Churchill
>>> >
>>>
>>>
>>>
>>> --
>>> Serge Stinckwich
>>> UCBN & UMI UMMISCO 209 (IRD/UPMC)
>>> Every DSL ends up being Smalltalk
>>> http://www.doesnotunderstand.org/
>>>
>>
>
Oct. 16, 2015
Re: [Pharo-dev] RPackage design documentation
by stepharo
Most my documentations are in the tests I wrote.
I spent more time in the tests than the code
In essence a tag is just a label you can put to a class it does not
influence the package.
A package is
a list of class definition
a list of method selectors
Read the class comment because it explains all path I followed.
Stef
> Where can I find documentation about how the RPackage system?
>
> I want to learn how RPackageOrganizer, RPackageTag/classTag and
> similar classes are supposed to work together. :)
>
> Thank you!
>
>
> Esteban A. Maringolo
>
>
Oct. 16, 2015
About a Palette concept
by stepharo
Hi
I will study the palette as defined in Roassal and extract a Palette
class to be used in Pharo.
My goal is not to do the perfect thing first but to gain some knowledge.
Pointers are welcome.
Stef
Oct. 16, 2015