Project structure
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 362
- Forks
- 75
- Avg merge
- 6d 9h
- Merged PRs (30d)
- 35
Description
Tracking issue for cargo workspaces, which we've already discussed internally. As a starting point something like the following seems fine?
- plc_ast (https://github.com/PLC-lang/rusty/pull/889)
- plc_parser (includes the lexer)
- plc_resolver
- plc_diagnostics (https://github.com/PLC-lang/rusty/pull/923)
- plc_index
- plc_validator
- plc_codegen
- plc_linker
- rusty-standardfunctions (https://github.com/PLC-lang/rusty/pull/836)
This will bloat up the repository itself, so maybe we can pack these workspaces into a crates folder, such that the current structure of the project looks like:
book/
crates/
examples/
scripts/
README.md
...
Feedback welcome :)
Edit: It would be cool to check how the build times have changed, once all listed workspaces have been implemented.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the Cargo workspaces documentation linked in the issue and inspecting the current repository layout. Review the listed components—plc_parser, plc_resolver, plc_index, plc_validator, plc_codegen, and plc_linker—and compare them with the already completed workspace moves. Done means the remaining workspaces follow the proposed crates/ structure and build-time changes are checked.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- build-system
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100