6.1. Why Have Extensions Why do we need extensions? Well, there are a number of reasons, although not all of these are very good reasons: · Adaptations to new environments may require new functionality in order to easily interface to the operating system. · Extending the language with more power, to facilitate programming. · Sometimes, a lot of time can be saved if certain assumptions are met, so an extension might be implemented to allow programmers to take shortcuts. · When a program is ported from one platform to another, parts of the code may depend of non-standard features not available on the platform being ported to. In this situation, the availability of extensions that implement the feature may be of great help to the programmer. · The implementor had some good idea during development. Extensions arise from holes in the functionality. Whether they will survive or not depends on how they are perceived by programmers; if perceived as useful, they will probably be used and thus supported in more interpreters.