Open Issues Need Help
View All on GitHubAI Summary: Add labels to workloads in the Enumo project to improve performance tracking. This involves modifying the workload processing code to include a name for each workload and logging the execution time for each named workload, allowing for better analysis of scalability issues.
AI Summary: The task requires replacing all hardcoded instances of "assume" in the Enumo codebase with the generic `L::assumption_label()`, where `L` represents a language-specific type. This involves a find-and-replace operation across the codebase, ensuring the change maintains functionality.
AI Summary: Implement a type checker for predicates within a domain-specific language (DSL) for programmable theory exploration. The current type checking is insufficient, allowing ill-typed predicates. The solution involves recursively checking the structure of predicates, potentially by converting them to an S-expression representation or traversing the Abstract Syntax Tree (AST) to ensure type correctness.
AI Summary: Create an integration test for the Enumo program that verifies the correct inference of `min` and `max` rules. The test should use a minimal workload involving `min`, `max`, and `+` operators and check for the presence of expected rules and the absence of undesired rules as specified in the issue description. This will involve writing a test case within the Enumo project's test suite, likely using the existing testing framework and workload generation capabilities.
AI Summary: Optimize the `run_workload` function in the Enumo project by pre-computing predicate maps for different sizes instead of recomputing them in each iteration of the loop. This involves modifying the code to build a vector of predicate maps upfront, populating them by traversing the conditional workload's egraph once, and then using these pre-computed maps in the main loop. The goal is to improve performance by avoiding redundant computations.