The Ivory System documents

Contents

Overview of The Ivory System framework

The Ivory System is a versatile software framework designed to support a declarative style of programming. Its core philosophy centers on the concept of applications as dynamic, evolving collections of data objects or entities. Instead of focusing on procedural code, the system enables developers to manage the continual transformation of objects and their properties, with logic acting as the glue to implement and manage these changes.

The framework includes ready-made components and objects for common entities such as data stores, event rules, timers, and sockets. These components provide a foundation for building robust applications efficiently. The Ivory System also supports an event-driven architecture, where every significant change in an object's life, such as creation, deletion, or property modification, can be monitored and acted upon if necessary.

Nearly all properties within the framework are implemented using flexible Name/Any bindings, enabling dynamic and type-agnostic data handling. This flexibility facilitates easy extension of applications over time. Event-based actions can be automatically triggered in response to property changes, allowing for a responsive and interactive development environment.

By abstracting low-level operations and providing reusable components, The Ivory System empowers developers to focus on high-level logic and data management. This makes it ideal for creating applications that must evolve and adapt continuously.

The Ivory System also offers the ability to operate across multiple environments, such as persistent stores created at different times. The framework automatically manages the mapping of names and types as needed, allowing for seamless integration and access across different contexts. With a unified data model, it further enhances flexibility and robustness in managing dynamic data.

IvoryScript serves as the primary programming language for The Ivory System. It is designed to align with the framework's declarative nature, offering a high degree of flexibility and control over object management and event-driven logic.

The framework is under development and the documentation will be included here when available.

home

Last update: 11 September, 2024