Skip to content

refactor: consolidate the module pipeline in galfus-workspace#13

Merged
Morbden merged 101 commits into
mainfrom
refactor/fix-merge-workspace
Jul 18, 2026
Merged

refactor: consolidate the module pipeline in galfus-workspace#13
Morbden merged 101 commits into
mainfrom
refactor/fix-merge-workspace

Conversation

@Morbden

@Morbden Morbden commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Introduces galfus-workspace as the stateful façade for the source → semantic → compiled → runtime pipeline.
  • Adds stable ModuleId/revision tracking, incremental semantic and compiled module graphs, runtime module upsert/unload, and cross-module linking at execution time.
  • Extracts galfus-compiler from the runner and migrates CLI, runner, and playground to use Workspace.
  • Removes the legacy runner-owned check, graph, compilation, and execution paths.
  • This was needed to decouple hosts from compiler internals and enable incremental updates and runtime hot reload by module.

Linked Issues

  • Closes #

Change Type

  • changelog:breaking
  • changelog:feature
  • changelog:fix
  • changelog:refactor
  • changelog:performance
  • changelog:docs
  • changelog:internal (exclude from public changelog)

User-facing Changelog Note

  • Hosts now use galfus-workspace for checking, compiling, and running projects through a stateful module pipeline.
  • Legacy runner compilation and module-loading APIs were removed.

Risks / Rollback

  • Main risks:

    • This removes legacy runner internals and is intentionally not backward compatible for consumers of those APIs.
    • The playground showcase remains blocked by the known generic range/constraints inference issue.
    • Incremental generic specialization and implicit builtin dependency propagation need follow-up hardening.
  • Rollback plan:

    • Revert this PR as one unit to restore the previous runner-owned pipeline.

Morbden added 30 commits June 29, 2026 18:05
…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.
- 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
…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
…cated modules for REPL, execution, and workspace management.
Morbden added 16 commits July 15, 2026 20:10
…and conditionally update runtime graph entries
@Morbden
Morbden merged commit 6b48cb5 into main Jul 18, 2026
2 checks passed
@Morbden
Morbden deleted the refactor/fix-merge-workspace branch July 18, 2026 00:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant