ENTERPRISE TIC-TAC-TOE - Scott Wlaschin
In which I ridiculously over-engineer a simple game to demonstrate how functional programming can be used to create an "enterprise-ready" application.
Topics covered include: encoding business rules into types, data hiding with parametric polymorphism, using functions for capability-based security, logging, message queues, and high scalability with immutable data.