Alejandro Serrano at Lambda World 2017

 

Going Higher

In functional programming we often use phrases starting with ‘higher’. Each higher thingy generalizes the notion of thingy, allowing more abstractions and thus more code reuse. In this talk we shall look at three different ‘higher’s:

  • Higher-order functions, which gives us the power of treating a function from values to values as yet another value. From simple functional patterns such as map and folds, to more complex ones such as catamorphisms, all rely on this secret sauce.

  • Higher-kinded types, which gives us the power of speaking of a type constructor, such as List, in the same way as we talk of a ground type such as List. Talking about functors and monads intrinsically uses this ability from our languages.

  • Higher-rank (and impredicative) polymorphism, which gives us the power of using quantification anywhere in our types. As crazy as it sounds, higher-rank types are basic to model lenses in a nice way.

Subscribe to the Lambda World YouTube channel to be updated when new videos are added.

blog comments powered by Disqus

Ensure the success of your project

47 Degrees can work with you to help manage the risks of technology evolution, develop a team of top-tier engaged developers, improve productivity, lower maintenance cost, increase hardware utilization, and improve product quality; all while using the best technologies.