Global key-value metadata storage for Scryer Prolog
4 months ago
- #Global State Management
- #Key-Value Storage
- #Prolog
- 为Scryer Prolog提供全局环境/上下文管理系统,支持键值元数据存储
- 同时提供全局持久化存储(回溯时保留修改)和可回溯的局部存储(回溯时撤销修改)
- 包含类型安全的物化谓词,通过if_/3实现无截断的条件逻辑
- 支持一次性初始化机制,防止意外重复初始化
- 采用AVL树实现,键存在性检查效率达O(log n)
- 功能包括:设置全局/局部键值对、获取值、检查标志、删除键等
- 典型应用场景:配置管理、功能开关、计数器、条件执行等
- 通过term_expansion/2初始化,在global_context黑板下创建空关联树
- 使用library(reif)的物化谓词实现纯声明式编程
- 采用BSD-2-Clause许可证,兼容Scryer Prolog标准库