Exist is a library designed to natively handle time-dependent variables, where every variable is unique in its time-space continuum. It integrates concepts from quantum computing and dynamic systems modeling, enabling a deeper interaction with time-bound data in applications like financial modeling, quantum simulations, and real-time event systems.
- About
- Features
- Project Goals
- Installation
- Getting Started
- Usage
- Planned Features
- Contributing
- License
Exist introduces a fundamentally new approach by providing a library that treats variables as time-dependent, where the value of each variable is not only influenced by its current state but also by its position in the time-space continuum. This allows for operations on variables that dynamically change depending on time, making it ideal for financial modeling, quantum simulations, and event-driven applications.
The library allows developers to perform operations with the awareness of temporal evolution, enabling more accurate predictions, simulations, and dynamic computations. This concept draws inspiration from quantum computing, where states can be in multiple timeframes simultaneously, and extends it to real-world applications.
- Time-aware Variables: Each variable has an inherent time component that evolves over the course of its use.
- Temporal Operations: Supports mathematical and logical operations that reflect the evolution of time.
- Quantum-inspired: Leverages concepts from quantum computing, such as the idea of states existing in multiple timelines.
- Financial Modeling Focus: Built with financial applications in mind, making it ideal for dynamic asset allocation, prediction models, and more.
- Event-driven Systems: Perfect for real-time simulations and IoT systems that need to track data and actions over time.
- Differentiation & Integration: Native support for time-based calculus, allowing users to differentiate and integrate variables based on their time evolution.
- Core Library Features: Implement basic features, such as time-dependent variable handling, temporal operations, and native time-based mathematical functions.
- Documentation & Tutorials: Provide extensive documentation and tutorials to help new users understand the time-aware paradigm.
- Integration with Existing Languages: Ensure the library can easily integrate with commonly used programming languages (e.g., Python, C++).
- Community Growth: Build a community around the library, gather feedback, and iterate based on real-world use cases.
- C++ Compiler (GCC, Clang, etc.)
- CMake (version 3.15 or higher)
- Git for cloning the repository
exist/
├── CMakeLists.txt
├── include/
│ └── exist/
│ ├── Temporal.h
│ └── Math.h
├── src/
│ └── exist/
│ ├── Temporal.cpp
│ └── Math.cpp
├── examples/
│ └── basic_usage.cpp
└── tests/
└── temporal_test.cpp
-
Clone the repository:
git clone https://github.com/skatul/Exist.git cd Exist-Language -
Build the library:
cmake -B build -S . cmake --build build -
Install the library (optional):
sudo cmake --install build
For a complete tutorial on using Exist, please see our Tutorial.
Here's a quick example of using the Exist library:
#include <exist/Temporal.h>
int main() {
exist::Temporal<double> price(100, "2025-08-20T14:30:00");
std::cout << price.value() << std::endl;
return 0;
}For more examples and detailed usage instructions, refer to the Tutorial.
In Exist, time-bound variables are created using the Temporal template class. Here are some examples of time-bound operations:
- Addition/Subtraction: Adding two time-aware variables will return a result dependent on their time evolution.
- Differentiation: Differentiating a time-aware variable with respect to time will give the rate of change at that point in time.
- Integration: Integrating a time-aware variable will provide the accumulated value over a given time span.
Example of differentiation:
// Differentiate the variable price with respect to time
auto dPrice = exist::Math::differentiate(price);- Enhanced Error Handling: Robust error handling for time-dependent operations, including bounds checking for time intervals.
- Time-Based Debugging: Implement a debugger that can show the state of variables at specific points in time.
- IDE Integration: Add support for editors (VSCode, Sublime Text, etc.) with syntax highlighting and autocompletion for Exist.
- Support for Multi-Time Zones: Extend the time component to handle variables from different time zones or timelines.
- Performance Optimizations: Focus on optimizing the compiler for speed and memory efficiency, especially for complex operations like integration and differentiation.
We welcome contributions to make Exist a better library! If you want to contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature-name). - Make your changes.
- Commit your changes (
git commit -am 'Add feature'). - Push to your branch (
git push origin feature-name). - Open a pull request.
Please ensure that your code follows the existing coding style and includes tests for new features.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details. Please ensure that your code follows the existing coding style and includes tests for new features.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.