As the title says, regarding a part of functional programming I have yet to see anyone discuss or answer areas of applications which isn't possible to write pure functions. I feel that it is indeed impossible to write applications with pure functions if there are dependencies on operations outside the control of the actual application.
Examples of this would be:
- User permissions of the user starting the application
- Ports already being used by other applications on machine
- Hard drive being full
- Files not being able to be written to due to file in use by other applications
- Network issues
These are just a few that spring to mind.
I would like to believe that writing code which could never be pure should be grouped and written in a way to maximize other parts of code to fulfill pure function status. So the question is: Is it possible for an application to be built by only pure functions and if not what are things that can stop this and how would we approach these matters?