faml
A simple and clear dynamic configuration language
Clean and Easy-to-Use Syntax
Compatible with TOML syntax style, using square brackets to define configuration blocks, assignment with equals sign, maintaining the same readability and writability as TOML, with a low learning threshold
Powerful Dynamic Expressions
Supports embedding expressions in configurations, allowing references to other configuration items, arithmetic operations, logical judgments, and other operations to achieve truly dynamic configuration
Conditional Configuration Control
Control whether configuration items take effect based on conditions through the @if directive, facilitating configuration management in different environments
Support for Special Data Types
Built-in support for special data types such as duration and distance, which can be used directly in configurations (such as 5 minutes, 100 MB)
Rich Expression System
Supports rich expression operations including arithmetic operations, comparison operations, logical operations, ternary conditional operators, and function calls
Runtime Dynamic Modification
Configurations can be dynamically modified by programs at runtime and automatically recalculate other configuration items that depend on these values, achieving true dynamic configuration updates
Intelligent Computation Tracing
Provides powerful trace functionality to track each step of complex expression computations, quickly locating the root cause of configuration calculation errors
Template-based Configuration Management
Supports the combined application of template and custom configurations, facilitating the management of multiple similar but slightly different configuration schemes
Seamless Integration with Existing Configurations
Easily integrate FAML expression functionality into existing JSON configurations without modifying the original configuration structure to enjoy dynamic computation capabilities