Eta
The Eta Programming Language, a dialect of Haskell on the JVM
... interoperate with Java. Eta has global type inference, giving you a dynamic language experience, but with a strong typing hidden underneath. Eta offers a wide range of strategies for handling concurrency including Software Transaction Memory (STM), MVars, and Fibers. Using the powerful and type-safe Servant web framework, we define our API as a type and the handler types for each endpoint are automatically generated and conversions happen automatically.