Thread overview
D2 std.container ? container update events..
Mar 23, 2010
BLS
Mar 23, 2010
BLS
Mar 24, 2010
BLS
Mar 23, 2010
Robert Clipsham
Mar 23, 2010
BLS
Mar 25, 2010
Igor Lesik
March 23, 2010
Now How is it..
We had a long and interesting discussion about ranges vs java/C whatever style(d) iterators.  ... to bring in an idea.. what about
implementing update events for collections. IMHO this is a very reasonable feature.

(I am not talking about non-modifying events likewise cursor/snapshot creation-events or cursor moving-events.. Interesting though )

sample: database update events will force to pull data when needed and not just in case.
Indeed this is a high end feature, so what about
create auto structures ..say.. backup structures on events..

Our container(T) implementation can be based on a linked list implementing a forward range and will feed our UnDo container(T) (based i.e. on remove events)

It would be very interesting to see how all these necessary D2 components : ranges, std.algo, collection/container, aliases and delegates will come together.

...I think our node like stuff (the core data structure) should be implemented as structure, our container as class-interface pair where the interface describes at least the range. I agree with Steven and Andrei, hierarchic containers are over-estimated.

Bjoern
PS
D celebrates meanwhile it s 10? birthday and phobos still lacks an collection lib. Ouch

March 23, 2010
On 03/23/2010 05:58 PM, BLS wrote:
> Now How is it..
> We had a long and interesting discussion about ranges vs java/C whatever
> style(d) iterators. ... to bring in an idea.. what about
> implementing update events for collections. IMHO this is a very
> reasonable feature.

I think it's a great feature to be implemented on top of basic containers.

Andrei
March 23, 2010
On 24/03/2010 00:04, Andrei Alexandrescu wrote:
> On 03/23/2010 05:58 PM, BLS wrote:
>> Now How is it..
>> We had a long and interesting discussion about ranges vs java/C whatever
>> style(d) iterators. ... to bring in an idea.. what about
>> implementing update events for collections. IMHO this is a very
>> reasonable feature.
>
> I think it's a great feature to be implemented on top of basic containers.
>
> Andrei

--On top of-- I guess it means inheritance  Or do you think about template mixins ..pattern wise ?
March 23, 2010
On 23/03/10 22:58, BLS wrote:
> D celebrates meanwhile it s 10? birthday and phobos still lacks an
> collection lib. Ouch

Something I eagerly await :) I'm currently using tango's containers when I need them, porting them to D2... Fortunately they're all self contained so I didn't need to port the rest of tango to use them.

March 23, 2010
On 24/03/2010 00:25, Robert Clipsham wrote:
> On 23/03/10 22:58, BLS wrote:
>> D celebrates meanwhile it s 10? birthday and phobos still lacks an
>> collection lib. Ouch
>
> Something I eagerly await :) I'm currently using tango's containers when
> I need them, porting them to D2... Fortunately they're all self
> contained so I didn't need to port the rest of tango to use them.
>

The latest release of Tango was indeed a step forward.
(I never understand what fixed sized vectors in 0.97 are good for.)

However, I am convinced that Andrei and Steven (Sometimes together maybe sometimes not ...but finally as a win) are brewing an outstanding collection library.

Once we have this lib. enhancing Phobos, as well as porting C-ish software will be much easier. my 2 euro cents
March 24, 2010
On 03/23/2010 06:10 PM, BLS wrote:
> On 24/03/2010 00:04, Andrei Alexandrescu wrote:
>> On 03/23/2010 05:58 PM, BLS wrote:
>>> Now How is it..
>>> We had a long and interesting discussion about ranges vs java/C whatever
>>> style(d) iterators. ... to bring in an idea.. what about
>>> implementing update events for collections. IMHO this is a very
>>> reasonable feature.
>>
>> I think it's a great feature to be implemented on top of basic
>> containers.
>>
>> Andrei
>
> --On top of-- I guess it means inheritance Or do you think about
> template mixins ..pattern wise ?

Probably composition should suffice.

Andrei
March 24, 2010
On 24/03/2010 01:02, Andrei Alexandrescu wrote:
> On 03/23/2010 06:10 PM, BLS wrote:
>> On 24/03/2010 00:04, Andrei Alexandrescu wrote:
>>> On 03/23/2010 05:58 PM, BLS wrote:
>>>> Now How is it..
>>>> We had a long and interesting discussion about ranges vs java/C
>>>> whatever
>>>> style(d) iterators. ... to bring in an idea.. what about
>>>> implementing update events for collections. IMHO this is a very
>>>> reasonable feature.
>>>
>>> I think it's a great feature to be implemented on top of basic
>>> containers.
>>>
>>> Andrei
>>
>> --On top of-- I guess it means inheritance Or do you think about
>> template mixins ..pattern wise ?
>
> Probably composition should suffice.
>
> Andrei

Thanks Andrei. ahem   composition is a pattern <g>  ok, guess I have to wait for the sources.
March 25, 2010
"BLS" <windevguy@hotmail.de> wrote in message news:hobh22$13t4$1@digitalmars.com...
> Now How is it..
> We had a long and interesting discussion about ranges vs java/C whatever
> style(d) iterators.  ... to bring in an idea.. what about
> implementing update events for collections. IMHO this is a very reasonable
> feature.
>
> (I am not talking about non-modifying events likewise cursor/snapshot creation-events or cursor moving-events.. Interesting though )
>
> sample: database update events will force to pull data when needed and not
> just in case.
> Indeed this is a high end feature, so what about
> create auto structures ..say.. backup structures on events..
>
> Our container(T) implementation can be based on a linked list implementing a forward range and will feed our UnDo container(T) (based i.e. on remove events)
>
> It would be very interesting to see how all these necessary D2 components : ranges, std.algo, collection/container, aliases and delegates will come together.
>
> ...I think our node like stuff (the core data structure) should be implemented as structure, our container as class-interface pair where the interface describes at least the range. I agree with Steven and Andrei, hierarchic containers are over-estimated.
>
> Bjoern
> PS
> D celebrates meanwhile it s 10? birthday and phobos still lacks an
> collection lib. Ouch
>

I am not sure I understand what is the source and destination of the events
and what triggers them. But I was thinking that events could be used to
invalidate
ranges if the container changed, i.e. use events to implement "weak"
coupling between container and range. I hope it does not sound too silly.

Igor