GOTO 2019 • Achieving Functional Programming in Java • John Napier

210 Просмотры
Издатель
This presentation was recorded at GOTO Chicago 2019. #GOTOcon #GOTOchgo
http://gotochgo.com

John Napier - Works with Developers on Software Fundamentals for DRW

ABSTRACT
For years, the conventional wisdom around attempting pure functional programming in Java has been "don't", and for plenty of good reasons: lambdas weren't supported until the eighth major release of the language specification, creating value types is a verbose, ceremony-riddled exercise devoid of any first-class syntax, and neither are the majority of the data structures shipped in the JDK immutable, nor are interfaces a proper substitute in general for type classes.
Still, it's a shame for developers to have to seemingly choose between the myriad benefits of functional programming and the maturity of the java compiler, the investments made into the ecosystem by major organizations, and the ease of hireability especially when some of these short-comings can be addressed externally.

In this talk I'll present Lambda, a Java library that offers:

• A first-class model for functors, applicative functors, monads, coproducts, and more algebraic and category theoretic structures
• Lazy evaluation
• Profunctor optics
• Semigroups and Monoids
• Type-safe heterogeneous structures like HLists and HMaps
• and more...

The goal of this talk is to present this library as a viable option for experienced Java development teams that wish they could use some of the functional programming capabilities [...]

Download slides and read the full abstract here:
https://gotochgo.com/2019/sessions/830

https://twitter.com/GOTOchgo
https://www.facebook.com/GOTOConference
https://www.linkedin.com/company/goto-
http://gotocon.com
#Java #FunctionalProgramming #HLists #HMaps #Lambda

Looking for a unique learning experience?
Attend the next GOTO Conference near you! Get your ticket at http://gotocon.com

SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily.
https://www.youtube.com/user/GotoConferences/?sub_confirmation=1
Категория
Язык программирования Java
Комментариев нет.