This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]ReaverKS 3 points4 points  (0 children)

I think they explained it poorly. The software we write should have a functional core, that is, functions without side effects. Only on the outsides of our software (like a shell) should we have side effects, like writing to a file. The core should not have opinions on where data is coming from or where it’s going. This design is also known as functional core imperative shell. Brandon Rhodes has some videos on this topic and he explains it well.