[Subversion] / Trellis / test_trellis.py |
No default branch
Bookmark a link to HEAD:
(view)
(download)
(as text)
New algorithm: subjects, listeners, and links.
Begin work on new algorithm: STM history class. (Python 2.4 currently required)
Split advanced collection types into peak.events.collections. Add new "SubSet" type.
Event loops for tests, wx, and twisted. No docs, and only minimal testing so far, but much hacking was done to get these to work more-or-less correctly. wx needs some mocking, and it turns out that the Time service really needs to make next_event_time() dirty when new events are added, even if self._tick doesn't change. That'll have to be fixed later, though (as with the wx mocks issue).
Added List, Dict, and Set types with change events. We are now feature-complete for 0.5b1 (minus docs), weighing in at a modest 1066 lines of code. Woohoo!
Begin documentation/test refactoring; new intro, updated TODO.
High level API: Component class, decorators, properties. The tests are disorganized and the docs are non-existent, but it works, by golly. Docs and test re-orgs will begin next week.
Ensure that reads outside of propagation block until propagation is over. Drop EventLoop service; it was overkill for what's actually needed. I'm keeping the dependency on Contextual since Time, IO, and Signals will all be context.Service classes later. But the core doesn't need this service, and this way it'll be easier to write a C version later, if needed. There may still need to be a way to replace the runner to serve in other event loop systems, but for now I'm treating it as a YAGNI.
Rip out the old Trellis implementation and replace with a shiny new algorithm. This is nowhere near adequately tested, and Constant conversion doesn't work. The doctests are in horrible shape and don't describe the current algorithm at all. The fancy API described in my mailing list posts is nowhere to be found, and none of the new functionality is tested in the slightest. Experiment at your own risk; this is just a placeholder/proof-of-concept test to see if the new algorithm at least passes the old tests (except for Constant conversion.) And it does. :) So, everything from here on out should effectively be either documentation, tests, syntax sugar, or convenience/reference implementations of higher-level features.
Trellis: a new paradigm for event-driven programming, based on ideas from Gelernter's "Trellis" system, and Tilton's "Cells" for Lisp. Eventually, this will grow up to do the rest of the things that peak.events does now, only with deterministic updates and no need for explicit dependency management.
cvs-admin@eby-sarna.com Powered by ViewCVS 1.0-dev |
ViewCVS and CVS Help |