ludic/changes/private-per-module.md
Orkuncakilkaya a09b622a1d feat(lang): a module's private names are its own
A private function, var or const no longer collides with the same
spelling in another module, in no module or in the runtime: where two
meet, each private one is renamed for its module (seed$shop), with every
reference its module writes that no local shadows. Exported names stay
one namespace. Nothing is renamed without a clash. Reseed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 07:08:05 +03:00

517 B

bump: minor type: feature A module's private names are its own. A function, var or const a module does not export no longer collides with the same spelling in another module, in a file in no module or in the runtime: each private one is compiled under its module's name (seed$shop) and its module's references follow it. Exported names are still one namespace, and two exports of one name are still refused. Records and events still share one namespace. A program with no such clash compiles exactly as before.