Functional Groovy

  • 60 minute session

Groovy doesn't claim to be a fully-fledged functional programming language but it does provide the Java or Groovy developer with a whole toolbox of features for doing functional style programs. This talk looks at the key Groovy features which support a functional style. Topics covered include using closures, currying and partial evaluation, closure composition, useful functional-centric AST macros, useful functional-centric runtime meta-programming tricks, trampolining, using Java functional libraries, immutable data structures, lazy and infinite lists, using Groovy 2's static typing and approaches for moving beyond Java's type system.


Dr Paul King is an entrepreneur, an international speaker and has broad experience in both technical and managerial roles across the telecommunications and information technology industries. He holds a BSc Computer Science, a BEng Electrical Engineering, and a PhD Formal Specification of Communication Protocols from the University of Queensland, Australia. Dr King has provided architectural, technical and strategic advice to nearly 100 organizations in the USA, Europe and the Asia Pacific region.
He has a passion for innovation and often assists organizations in bringing new technologies or processes into their development practices. He has been contributing to open source projects for more than twenty years, has contributed to international standards, has won prizes for his research, and is a frequent speaker at international conferences. His special interest areas are Agile and lean methodologies, devops techniques, Java, Java EE, lightweight frameworks such as Spring, testing approaches and open source testing tools, Web service and cloud technologies, and dynamic languages and frameworks such as Groovy and Grails.

The OSDC 2014 team is dedicated to providing a friendly, safe and welcoming conference environment for everyone. We have a code of conduct to clearly outline our expectations. Our goal is to create a safe and harassment-free conference experience for all involved, regardless of gender, sexual orientation, disability, ethnicity, religion, preferred operating system, programming language or text editor.