refactor: consolidate the module pipeline in galfus-workspace#13
Merged
Conversation
…improve constraint method resolution
…ering to use array type instead of element type
- Improved the handling of call arguments in `DeclarationTypeChecker` to support contextual types for integer literals. - Updated expression type inference to consider expected types for literals, tuples, and struct fields. - Added tests to verify contextual type inference for integer literals in various contexts, including function calls, initializers, array elements, tuple elements, and struct fields. - Refactored the `FunctionBuilder` to streamline type resolution and specialization of generic functions, including the introduction of a mechanism to handle type substitutions. - Implemented functionality to specialize generic function calls based on provided argument types, ensuring correct type inference and binding. - Enhanced the MIR builder to support the emission of specialized functions and their corresponding types. - Added tests to validate the specialization of generic functions and the correctness of type inference in various scenarios.
…heap and IR builder
…king and error handling
…d error handling for global resolution
…expressions during type checking
…definitions into existing guides
…tation guidelines
- Added `Copy` variant to `RValue` enum in MIR to support deep copying of objects. - Implemented deep copy logic in the VM for structs, arrays, tuples, and choices, ensuring proper handling of weak references. - Updated MIR builder tests to verify correct lowering of copy expressions. - Modified validation logic to include checks for copy operands. - Enhanced error handling for out-of-bounds array access in VM. - Updated documentation to reflect changes in type parsing and the removal of `typeof`. - Improved syntax highlighting and language configuration for VSCode.
…y builtins, and clarify documentation content
…add token text retrieval to parser
…tion - Introduced `buffer::create` functionality to allow dynamic array creation with runtime lengths. - Enhanced type resolution to handle substitutions for generic parameters. - Added diagnostics for invalid buffer element types in type checking. - Implemented workspace context for function specialization across modules. - Updated the virtual machine to handle default values for array elements correctly. - Modified tests to cover new buffer creation features and edge cases for index handling.
…bility, including code cleanup and removal of unnecessary debug statements
…cialized parsing functions
…cated modules for REPL, execution, and workspace management.
…logic to a new module
…implify type checking API
… and their transitive dependents
…er logic into a unified architecture
…ric struct instances
…tic roots for the workspace
…d add module removal handling
…semantic revision checks
…and conditionally update runtime graph entries
…e directory traversal and add unit tests
…es in Cargo.toml files
…e in frontend modules
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
galfus-workspaceas the stateful façade for the source → semantic → compiled → runtime pipeline.ModuleId/revision tracking, incremental semantic and compiled module graphs, runtime module upsert/unload, and cross-module linking at execution time.galfus-compilerfrom the runner and migrates CLI, runner, and playground to useWorkspace.Linked Issues
Change Type
changelog:breakingchangelog:featurechangelog:fixchangelog:refactorchangelog:performancechangelog:docschangelog:internal(exclude from public changelog)User-facing Changelog Note
galfus-workspacefor checking, compiling, and running projects through a stateful module pipeline.Risks / Rollback
Main risks:
range/constraints inference issue.Rollback plan: