Guilherme de Maio

Guilherme de Maio
Software Engineer at Telnyx

Coupling Data and Behaviour

Although the mystical land of functional programming preaches separation of data and behavior, keeping everything explicit, there are cases when coupling those (or dispatching based on type) are useful. This talks is about when, how and why to couple data and behavior, showcasing real code where Elixir Protocols are used to simplify and abstract common logic of different data types.


Showcase benefits and methods for coupling data and behavior (with Elixir in mind):

  • Standardize things such as:
  • Indexing data - access grant
  • Printing and serialization
  • Protocols in Elixir (inspired by Clojure)
  • Protocols vs Behaviors
  • Good practices when using Protocols

Guilherme is a software engineer with 10 years' worth of experience, focused on web applications, from ops to backend. Currently working at Telnyx, a Chicago based telecom company aiming at democratising universal communications. He has been in love with Elixir since he started working with the language in 2015, being an active member of Elixir Meetups in São Paulo, Brazil and spreading Elixir love all around :) Guilherme also loves science fiction books, movies and tv series.

Github: nirev

Twitter: @nirev

Back to conference page