Am 23.06.2014 um 10:02 schrieb Santiago Bragagnolo <santiagobragagn...@gmail.com>:
> btw, with the default plan configuration, it will spawn a thread per > independent block (associated by & ), it will rely on the Result mechanism > (the sync on demand) to spawn a third thread that is the one that converges > both results, and executes the last block with the two previous executions. > Sounds reasonable. As long as the join points (where multiple promises are queued until one/all have a value) can be composed again this is great. Norbert > > > > 2014-06-23 10:00 GMT+02:00 Santiago Bragagnolo <santiagobragagn...@gmail.com>: > > Ok, i was thinking more for use the same async handler for all the futures, > now i read better the handler, for that kind of thing we have something > similar,what is PlanIT, you should be able to do something like > > (TKTPlan plan => ( [ 1+1 ] & [ 2+2 ]) => [ : fst :snd | fst + snd ]) run == > 6. > > PlanIT is not yet documented and is not fully developed, but it has some nice > tests that shows some of the powers > > > > > 2014-06-23 9:07 GMT+02:00 Norbert Hartl <norb...@hartl.name>: > Nice! Can you group promises? Like > > ( [ 1 + 1 ] shootIt , [ 2 + 2 ] shootIt ) onSuccess: [ :values | (values > first + values second ) = 6 ] > > ? > > Norbert > > Am 23.06.2014 um 00:39 schrieb Santiago Bragagnolo > <santiagobragagn...@gmail.com>: > >> >> Hi all, im glad to announce TaskIT. You may already knew about, after all >> it's not confidential ;) and it has documentation on-going since some months >> ago. >> >> Task IT is package that provides a cool way to deal with processes. Even >> when this version is stable, it still in design and we want to make it >> consistent and powerfull. >> >> It counts with a chapter in pharo enterprise book and some cool tests. >> >> We have moved the main distribution repo to CAR >> >> http://smalltalkhub.com/#!/~CAR/TaskIT/ >> >> >> The main easy things to do with this revision are: >> >> " closures " >> val := [ 2+2 ] shootIt. >> val isKindOf: TKTFuture. >> val onSuccess: [: rslt | rslt == 4 ] "async" >> val value == 4. " sync " >> >> rslt := [ 2+2 ] shootIt asResult. >> rslt == 4 "sync on demand" >> >> " objects " >> >> val := 2 paralellize + 2. >> val == 4 "sync on demand" >> >> >> " staying in tune " >> >> val := [ "some task" ] shootIt asStickyReference. >> >> val := nil. >> " sticky means that if this future is taken by the GC, it will kill the >> process" >> >> >> >> " looping " >> >> >> val := server paralellize looping serveOnce: anyParameter asStickyReference. >> >> "this will execute in a new process, in a loop, server serveOnce: >> anyParameter." >> >> You can stop it by doing >> val:= nil. >> >> "or using a disgusting magic variable, for that check the samples :). But do >> not rely on that kind of things, because it will not be supported " >> >> >> >> For more advanced and cool usages, check the Doc. >> >> >> FAQ: >> >> 1- Yes, the "sync" on demand is implemented with a proxy and a become. >> 2- Yes, we are changing the API of the processes that persist in time. >> >> CREDITS >> All CAR team in general was great inspiration, particularly, Guille Polito >> full operational commiter and of course is always a good idea to discuss >> with him, Nick Papoylias, is also great to discuss with him. Luc, Noury, >> Jannik: several ideas are discussed with them as well, and they always gave >> me support. >> >> and from RMOD Esteban Lorenzano, also discussing and proposing. >> >> Thanks all :). >> >> >> OTHERS: >> If you want to go to the darkside (dark because is not documented yet, but >> in the case of PoolIT, that it has some doc ) you can also add to your >> combo: >> ActIT: a simple Actor extention for taskit. >> ForkIT: an extention that runs blocks in background image (it adds a nice >> button to the test runner, letting you run all your tests in a background >> image and installing the results after the execution) >> PoolIT: it adds a pool of workers, it consumes tasks and ensure you a >> limited amount of threads. >> PlanIT: a basic and not yet full developed algebra for composing processes. >> >> >> >> I encourage you to use it, it is being used in PhaROS since a lot of time. >> And please any bug and enhancements, you can contact us. Since we are >> working on the next version is a good time to define what features are >> really needed. >> >> >> Salut. >> >> >> Santiago. . >> >> >> >> >> >> > >