This makes it difficult in some cases for the compiler to determine what is actually being asked to be done. Ada Every control structure ends with the word end followed by the control structure name such as if or loop . An exception mechanism is found in Ada and can handle error conditions without loading up code with error checking. The behaviour of these parameter passing modes is separate from how they are implemented. Pass by reference can be used for the in parameter mode making it potentially more efficient, by preventing the parameter from being assigned to.
Parameters can be postion independent or dependent.
A parameter list that is very long, may make difficult to remember the order of the parameters. By allowing position independent parameters the ordering doesn't need to be remembered. The languages covered to this point are called imperative or procedural languages. LISP is a functional or applicative language. The functional paradigm is very different from the imperative languages.