Incubated modules for Phobos

Marco Leise Marco.Leise at gmx.de
Sun Dec 18 20:00:13 PST 2011


The idea reminds me of how extensions are managed in OpenGL:  
http://www.opengl.org/resources/features/OGLextensions/
Often hardware vendors like S3, nVidia or ATi invented cool stuff, like  
texture compression and were free to add a prefixed function name to their  
drivers (S3_…, NV_…, ATI_…). Sometimes other vendors would implement those  
functions as well and they are eventually renamed to EXT_…. Then there is  
the architecture review board (ARB) that picks up these extensions and  
evaluates how they could fit into OpenGL. Often changes are necessary for  
the function to become ARB_…. I think this is all still independent of the  
specification release cycle (OpenGL is just a specification). When a new  
specification is planned, ARB_… functions make it into GL_… core  
functionality.
I believe this concept helps innovation. But who would decide which module  
is a good fit for Phobos and which one is better fetched through an  
external package manager? For example, what if I came up a complete  
containers package that has different approaches from std.containers or a  
2D drawing/image API or a D compiler front-end?
In OpenGL terminology, I think it would be an ARB_… already, if it is in a  
distribution of DMD. It would have a specification that some review board  
has accepted for inclusion into Phobos. Anything with a clear  
specification on paper or as an implementation could be accepted, but on  
the other hand, just saying that "I start writing an image handling  
module" should not be enough to be in .ext in Phobos. Otherwise some .ext  
modules will disappear suddenly or get stuck there forever, because as  
they mature the review board realizes, that the API is not going to be  
what they like to see in Phobos. That's frustrating for both the developer  
and users.

So in short: yes, but review what ends up in .ext


More information about the Digitalmars-d mailing list