The environment loads the specified file of functions definitions, verifying correct syntax and translating the functions into a convenient internal form. The environment then allows the user to specify expressions which should be evaluated. An expression, of course, must be written in terms of functions which the interpreter knows about. Of course it is unreasonable to expect the user to define all functions which will be used. Instead, each functional programming environment will somehow provide a collection of pre-defined functions which are either automatically loaded when the environment is run or already built into the structure of the environment.
Many interpreters have both characteristics.
The most basic functions, such as the arithmetic functions, are built in. Other commonly used functions are provided by the environment as a standard startup file. This startup file has become known as a prelude . One of the most difficult aspect of programming in any language is input and output. So it is important for you to remember as you go through this tutorial that, though functional programming may seem a bit strange, that any program you have written in Pascal or can also be written using the functional paradigm.