On 24.06.2014, at 19:14, Santiago Bragagnolo <santiagobragagn...@gmail.com> 
wrote:

> There is actually a version of taskit for 1.4, but is not the last one. 
> Honestly, i did not tested on 1.4, then i don't know :). If you run on it, 
> make me know. i will try to run this week if not. 

Good stuff! Thanks.

> 
> 
> 2014-06-24 17:23 GMT+02:00 Max Leske <maxle...@gmail.com>:
> Looks really cool!  Everything’s an object :)
> 
> Does it run in older images? How hard, do you reckon, would it be to backport 
> TaskIT to e.g. Pharo 1.4?
> 
> Cheers,
> Max
> 
> 
> On 23.06.2014, at 00:39, Santiago Bragagnolo <santiagobragagn...@gmail.com> 
> wrote:
> 
>> 
>> 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. .
>> 
>> 
>> 
>> 
>> 
>> 
> 
> 

Reply via email to