22. A method to provide an extensible type repository environment, comprising: providing a plurality of type systems, wherein each of the plurality type system is maintained in a separate type repository of a plurality of type repositories, wherein each of the plurality of type repositories is associated with a type repository interface, and wherein the type repository interface provides a set of services supported by the type repository; providing a compiler that includes a plurality of language modules wherein each one of the plurality of language modules is associated with a different programming language, wherein the compiler operates to compile one or more types defined in one of the plurality of language modules into one or more types in one of the plurality of type system, maintaining at each of the plurality of type repositories references to one or more data structures provided by the compiler, wherein each data structure is used by the type repository to determine a location of a particular type in a source code.
22. A method to provide an extensible type repository environment, comprising: providing a plurality of type systems, wherein each of the plurality type system is maintained in a separate type repository of a plurality of type repositories, wherein each of the plurality of type repositories is associated with a type repository interface, and wherein the type repository interface provides a set of services supported by the type repository; providing a compiler that includes a plurality of language modules wherein each one of the plurality of language modules is associated with a different programming language, wherein the compiler operates to compile one or more types defined in one of the plurality of language modules into one or more types in one of the plurality of type system, maintaining at each of the plurality of type repositories references to one or more data structures provided by the compiler, wherein each data structure is used by the type repository to determine a location of a particular type in a source code. 23. The method of claim 22 , wherein: the references to one or more data structures by the type repository are used to prevent the one or more data structures from being garbage collected.