COOL features a parenthesis-free syntax that allows any expression to serve as a rule premise, making it intuitive and easy to use.
It also supports dynamic access to program structures and dynamic generation of consequences through complicated logic. These capabilities empower programmers to articulate complex rules effortlessly across various DSL development scenarios.
With COOL, programmers can decompose the reasoning process into multiple stages and perform fine-grained control.
Specifically, programmers can modify rules with heuristic vectors, where the non-zero bits indicate the applicable stages, and their values guide the reasoning.
Besides, COOL enriches this control with keywords such as "return," "logicjump," and "abort" for stage-level operations.
With heuristic vectors and control words, COOL ensures a manageable and predictable DSL reasoning process.
COOL seamlessly implements multiple DSL collaborations in the form of library invocation.
Additionally, COOL relieves programmers from manually managing various DSLs for accurate reasoning. Instead, neural networks efficiently handle coordination, accelerating the overall development process.
Chain-of-Logic, Neural Network Feedback Control, and Pre-Execution are key innovations in COOL.
Programmers can develop efficiently based on activity diagrams even if they do not have expertise in a specific field. To implement the "activity diagram" for the DSL solver, COOL adopts the Chain-of-Logic: programmers use heuristic vectors and keywords to outline the reasoning process. Chain-of-Logic improves DSL reasoning accuracy by 70% while reducing tree operations by 91% and time by 95%.
The learning and generalization capabilities of neural networks are essential for complex reasoning tasks. COOL uses Neural Network Feedback Control (NNFC), which continuously learns reasoning data through neural networks and generates reliable feedback signals through a filtering structure to improve Chain-of-Logic adaptability. NNFC further boosts accuracy by 6%, with a 64% reduction in tree operations based on Chain-of-Logic. Additionally, as the complexity of the task increases, NNFC time-to-efficiency ratio gradually improves and, in certain cases, takes less time than pure formal solutions.
Gradual typing and DSL reasoning (grounding) are closely related to execution. COOL performs these tasks in Pre-Execution, a phase between Compilation and Execution. Specifically, by redefining some instructions, conducting a reasoning-dry running cycle, and using a unique error correction mechanism, Pre-Execution ensures type safety and verifies the correctness of reasoning in real time, ultimately generating highly reliable executable code.
Start your programming journey with COOL and explore a new realm in Domain-Specific Language development!
Engage with the COOL project to
deploy the framework and
experiment with COOL DSLs.
Explore the technologies powering
COOL by reading its
comprehensive research paper.
We are excited to announce that we are building a vibrant community around COOL! Whether you're interested in learning, using, developing, or improving COOL, we would love to hear from you.
Additionally, we're seeking laboratory support and collaborations. If your laboratory has PhD openings available, please feel free to get in touch!
Email us at: coolang2022@gmail.com