Hello Stefan,
nice to hear that you are willing to work on modernizing the
databinding framework.
I have also been playing around with the generified http://git.eclipse.org/c/e4/org.eclipse.e4.databinding.git/
version and it seems to be working quite well.
I think the best approach is to enhance the e4 repo, since the
generics issue has already been done here.
Let me know, if I can help with some issue. At least I could review
your changes.
Simon
On 16.05.2015 00:10, Stefan Xenos
wrote:
So it looks like most of the work to convert to
generics has already been done in that repository. How come it
was never pushed to the main repository?
FYI, that repository contains some dangerous code --
particularly the fix for bug 425704. That bit definitely
shouldn't go to the main repo, but most of the rest looks
pretty good.
Is there something that's still incomplete or broken?
On Fri, May 15, 2015 at 2:37 PM Tom
Schindl < tom.schindl@xxxxxxxxxxxxxxx>
wrote:
On my doubts on realm i reply later on.
Tom
Von meinem iPhone gesendet
Do you have the repo/branch name for the
e4 git repo where people tried to add generics to the
databinding project?
Regarding realms: a realm is essentially the same
thing as an actor in http://www.ponylang.org/
-- AFAIK, it's a standard primitive for lock-free
multithreading. When you say it's broken, what
specifically do you mean?
On Fri, May 15, 2015 at 2:24 PM
Tom Schindl < tom.schindl@xxxxxxxxxxxxxxx>
wrote:
On generics - there is a version in the e4
git repo where people tried to add generics - at
least you could get inspired by that.
On reactive: very welcome having this added
On thread sync: if you ask me the realm
concept is totally broken and i don't think the
databinding lib should be dealing with it
Tom
Von meinem iPhone gesendet
I'm starting to use the
org.eclipse.core.databinding.observable
plugin for one of my projects, but I see it
hasn't had any love for about 5 years. I was
thinking of updating the plugin but figured
I'd discuss the changes here first, since
they'd be fairly sweeping.
1. I notice the plugin has been updated
to java 1.7, but the code is still written
in 1.4 style.
- Most of the IObservable
implementations were designed to be
generics but they haven't been converted
to actually use generics yet.
- Many of the methods are supposed to
be annotated with @TrackedGetter, but the
annotation is currently in comments rather
than actual code.
2. It hasn't been updated to use modern
algorithms for reactive programming
frameworks. The whole library still uses
listeners for change propogation, which
are subject to event storms and degenerate
in the repeated diamond shape.
Reference:
I know a good algorithm that addresses
this quite efficiently and can deep-dive
on it if anyone wants details.
3. Each async event currently gets
executed as a separate asyncExec. This
allows paints to get interleaved with the
events, possibly causing flicker and
triggering multiple layouts. I plan to put
all pending updates in a queue and process
them as a batch, ensuring that only one
paint or layout pass occurs at the end.
Thoughts?
- Stefan
_______________________________________________
platform-ui-dev mailing list
platform-ui-dev@xxxxxxxxxxx
To change your delivery options, retrieve your
password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/platform-ui-dev
_______________________________________________
platform-ui-dev mailing list
platform-ui-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or
unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/platform-ui-dev
_______________________________________________
platform-ui-dev mailing list
platform-ui-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/platform-ui-dev
--
---
Trainer, Consultant and Developer
vogella GmbH
Haindaalwisch 17a, 22395 Hamburg
Amtsgericht Hamburg: HRB 127058
Geschäftsführer: Lars Vogel, Jennifer Nerlich de Vogel
USt-IdNr.: DE284122352
Tel (040) 78804360, Fax (032) 221739404, Email: simon.scholz@xxxxxxxxxxx, Web: http://www.vogella.com
|