Context
The language repo currently contains substantial OS-level code that doesn't belong here:
| Package |
LOC |
packages/kernel |
43,741 |
packages/bootloader |
2,087 |
packages/iommu |
1,814 |
packages/syslog |
1,553 |
packages/coredump |
1,396 |
packages/dtb |
1,384 |
packages/usb |
1,356 |
packages/modsign |
1,240 |
packages/tpm |
1,198 |
packages/syscall |
634 |
| Total |
~56k LOC |
That's roughly 40% of the repo by package count and a huge chunk by LOC. Consequences:
- Clone time and disk usage are inflated for everyone working on the language
- Scope is muddled — contributors can't tell whether they should be reading kernel code to understand the compiler
- Two audiences (language users, OS users) collide in one issue tracker / docs site / CI
Proposal
Risks / open questions
- Do any compiler packages currently
@import the OS packages? If so we need to invert the dependency cleanly
- CI for OS code is heavier (qemu, kernel boot tests) — splitting it out should actually speed up language CI
Context
The language repo currently contains substantial OS-level code that doesn't belong here:
packages/kernelpackages/bootloaderpackages/iommupackages/syslogpackages/coredumppackages/dtbpackages/usbpackages/modsignpackages/tpmpackages/syscallThat's roughly 40% of the repo by package count and a huge chunk by LOC. Consequences:
Proposal
home-lang/home-oshome-lang/homeas a language toolchain (the way the linux kernel depends on gcc/clang)memory,volatile,intrinsics)Risks / open questions
@importthe OS packages? If so we need to invert the dependency cleanly