I'm an experienced software engineer, and have experience in a range of languages from PHP, Ruby, C#, Java - the last few years I've primarily worked in Java.I'm now learning Scala, and it's my first real foray into functional programming.I understand that my methods should not have side affects, and that I should favour immutability.I am trying to build a small project which I've previously built in Java and Python, as an exercise. The application does the following:Talk to a REST service to retrieve a set of configurations.Maintain a copy/cache of those configurations, so they can be references in other areas of the software.Listen for user input, and make calls to RESTful services again using the user's input as the command and the configurations we retrieved at startup.It seems to me that since my class which deals with the RESTful API won't be referentially transparent (the output could differ for any number of reasons, it's an external API over which I have no control), I have to have some kind of state (the configurations), that maybe this software isn't as suited to a FP paradigm.Am I thinking about this the wrong way?Thankyou
Help me to understand 'stateless' software in functional programming
functional programming;scala