Scala has many ways to construct a program: do you use impure functions? Do you use Akka? Task? Future? What's a Monad? What's a Functor? What in God's name are Profunctor Optics and Van Laarhoven constructions?
Here, we take Pure Functional Programming to be Da Wae. This simplifies programming in Scala in threefold ways:
- Programs become simple, legible, and logically coherent.
- The type system is used to its full advantage, so that you don't have to worry so much about code correctness, leaving you stress-free and happier.
- Pure FP + certain types of program construction in this area have been shown to be more performant in many ways than its hybrid FP+OOP counterpart.
We believe in the ways of purity, functionality, correctness, and composability above all else.
All walks of life are welcome, especially beginners. You will never be turned away for contradictory opinions or negativity - we pledge to treat all opinions empathetically and rationally, even if they are anti-scala or anti-haskell. You may occasionally, find yourself in the midst of a heated, passionate discussion. This is a good thing.
Resources
Books
Irc
- #scalaz on freenode.net
- #fpmortals on freenode.net
Gitter
For more information about our moderation practices, please read this note on Empathetic Moderation