@article {IOPORT.02042727, author = {Koll\'ar, J\'an and V\'aclav\'\i k, Peter and Porub\"an, Jaroslav}, title = {The classification of programming environments.}, year = {2003}, journal = {Acta Universitatis Matthiae Belii. Series Mathematics}, volume = {10}, issn = {1338-712X}, pages = {51-62}, publisher = {Matej Bel University, Bansk\'a Bystrica}, abstract = {Summary: A process functional paradigm prevents the use of assignments in programs, at the same time providing full power of both functional and imperative languages to a programmer. ${\cal P}{\cal F} {\cal L}$ -- an experimental process functional language, originally developed as a programming language, seems to be promising to integrate the implementation requirements for any language aimed to von Neumann computer architectures. As we hope, ${\cal P}{\cal F}{\cal L}$ may serve as a unified implementation language in the future. That is why the formalized definitions of environments presented in this paper are useful and constructive for further development of ${\cal P}{\cal F} {\cal L}$ as a minimal superset of programming languages currently being used in a practice. In particular, we will classify the environments dividing them into two basic categories -- external and internal environments, that may be defined in any scope of a program. Then we extend the notion of explicit and implicit environments to object and modular environments. Finally, we formulate the requirements for safe programming, which prevents the use of undefined values in programs.}, identifier = {02042727}, }