Open Issues Need Help
View All on GitHubAI Summary: This GitHub issue reports a bug where the `echo()` built-in function is unexpectedly printing its output twice to the console. The expected behavior is for `echo()` to print only once, but it is currently duplicating its output.
AI Summary: Implement a check for division by zero in the runtime's arithmetic evaluation to prevent crashes. The runtime should throw a RuntimeError instead of crashing when a division by zero is attempted.
AI Summary: The task requires modifying the runtime component to prevent overwriting of measurement results in loops. This involves changing how measurement outcomes are stored, likely by using a unique key for each measurement instead of reusing the `MeasureExpression` pointer.
AI Summary: Initialize all boolean fields within the `VariableDeclaration` and `FunctionDeclaration` nodes of the Abstract Syntax Tree (AST) to prevent undefined behavior. This involves reviewing the AST node definitions and adding appropriate initialization to the boolean members.
AI Summary: Implement a type system for a semantic analyzer, supporting classical (int, float, string, char) and quantum (qubit, bit) types, along with user-defined types. This involves defining type enums, creating a symbol table, implementing type checking logic, enforcing restrictions on quantum functions (OpenQASM 2.0 compatibility), and adding type utilities.
AI Summary: The Bloch language parser needs to be updated to correctly handle return statements where a variable is returned without explicitly specifying the variable's name in the return statement. The current parser throws an error when encountering `return bit;` instead of `return result;` in the provided example. The fix involves modifying the parser to accept either form.
AI Summary: Debug the Bloch language compiler's semantic analyzer. The analyzer is failing to recognize functions declared with the `@quantum` attribute, resulting in a "variable not declared" error. The task involves investigating the semantic analysis component of the compiler to identify and fix the issue that prevents it from correctly recognizing and resolving function calls to quantum functions.
AI Summary: Create a basic documentation skeleton within the `/docs` folder for the grammar and compiler of the project. This involves setting up the initial file structure and potentially adding placeholder content to outline the documentation's sections.
AI Summary: Add an Apache 2.0 license file to the project. This ensures the project's open-source nature is clearly defined and legally compliant.
AI Summary: Create a CONTRIBUTING.md file for the project, outlining the contribution guidelines and process for submitting changes.
AI Summary: Create a README.md file for the Bloch language project. The README should include the project name and tagline, a short description, placeholder sections for usage and links, instructions for developers and contributors (linking to contributing.md), and an open-source license.