Abstract: Functional validation is one of the gateway drugs to general functional programming. Very commonly in Java we express procedural logic with annotations, exceptions, and even more exotic constructs. In the validation realm this is exhibited in Java with Spring interceptors and validation annotations (e.g., @NotNull, etc). Functional programming uses only strongly-typed objects and simple functions to accomplish the same effects, usually yielding code that is much more "WYSIWYG", easier to reason about, parallelize/distribute, and easier to unit test. In this talk we'll walk through the development of a simple validation framework in Java -- and briefly survey some production grade O/S validation libraries. We will visit some functional concepts along the way, comparing and contrasting against more common Java procedural techniques.
Biography: Brian is the CTO of Hashtracking and Juiced Social, start-up companies he helped found. More importantly for this talk, he's a long-time Java developer who spends a large portion of time developing in Scala and Kotlin. He occasionally creeps out of his lair in southern Orange County to share thoughts and ideas with digital comrades in LA and San Francisco.