Functional programming promises to help with the difficulties of parallel and concurrent programming. Frege - a Haskell for the JVM - approaches this aspiration with purity. It uses only pure functions concurrently. These functions are guaranteed to have no side effects and to work solely on the immutable arguments.
Frege is the only JVM language that can guarantee purity through the type system at compile time - even if we call into Java methods!
With this guarantee we can safely go parallel and even employ advanced concepts like software transactional memory (STM) in a safe manner.
If this sounds too good to be true, this session will show you how it works and how you can use it yourself in your Java projects.