What is Eden
Eden is a Python library that, amidst other things, makes available to the application developer the central classes
Node and View.
Nodes
Nodes are lightweight data containers, just like variables.
The special thing about nodes is that their values functionally depend upon each other.
Programming application logic and data manipulation boils down to defining these dependencies.
In other words: programming in Eden is functional, declarative programming.
But since the underlying language is Python, this mixes well with algorithmic, imperative programming.
Views
Views are a thin wrapper around the controls of a GUI library, in this case WinForms.
The special thing about views is that they connect to nodes.
This means that the views implicitly behave according to the observer pattern.
Views have dynamic layout management specified in code, rather than a fixed, pre-drawn layout.
Some experiences
Using Eden in everyday practice has proven a pleasure.
Using Eden
Eden has been in use for over a year now by four people working on two engineering projects.
Both resulting applications involve dozens of modules, most of them with dozens of nodes,
some nodes carrying many megabytes of data.
A characteristic of both projects is that requirements rapidly evolved during the project.
With Eden it proved remarkably easy to follow the changing requirements.
In spite of the fact that requirements changed frequently and deeply,
application structure has remained lean and clean.
Learning Eden
Although the tutorial examples are simple for anyone to comprehend,
they by far don't cover all the features.
Moreover they are too small to reveal issues of overall program organisation.
Using Eden in an effective way for a non-trivial app has a steep (but short) learing curve.
It has proven feasible to get a "fresh" developer upto speed in a few days of side by side tutoring.
What is the status of Eden
The code is suitable for serious development.
The API is largely stabilized, although still bound to grow.
A hypertext tutorial with embedded working examples is present, but incomplete.
Narrative and reference documentation are currently sorely lacking.
What are the system requirements to develop and run Eden applications
Eden-0.1-beta-1 works best with IronPython 1.0, Python 2.5, DotNet 2.0 and Windows XP.