On Wed, Jul 10, 2024 at 5:51 AM Jordi Boggiano <j.boggi...@seld.be> wrote:
> > As for the rest of the thread, I feel like everyone needs to take a few > days to chill because it's getting a bit heated around here. > People are passionate about the things they love. I've been busy with work and on Iteration V. Details later this week, likely in the form of a github repo hosted markdown file that will be easier to follow, as the number of points to address is getting too lengthy to deal with in a list conversation and, more worryingly, people are glomming onto and criticizing the proposal for things already dropped. In particular - I'm not talking about ditching composer. I don't want to get in the business of building a package manager, especially when there's an existing one. Some highlights of what I am working on 1. Import Maps - These would be prepared by hand or by a package manager like composer. An internal autoloader will work with them. Unlike autoload functions, import maps get merged together so the actual seek operation can remain optimized. Given Composer already can build an optimized class map file it is already well positioned to feed information into this code. The reason to use it is that it will be able to detect symbols the autoload system cannot: functions and constants. It will also be able to load packages and modules. 2. Packages - Packages load differently and can effectively monkey-type the code of an existing package on the fly in much the same way that namespaces themselves work with symbol names as a flat string replace. Existing code can be loaded into packages, but also an outline for writing packages that have privacy modifiers to their members - i.e. protected class SomeClass {} 3. Modules - Files which are code first instead of template first. These are being prepped as at least 3 interrelated RFC drafts which can be dealt with piecemeal, and any of the three not receiving enough support for inclusion doesn't preclude the others from going forward.