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

I'm a software engineer with 10 years of experience, focused on web applications, from ops to backend. Currently in love Elixir, having worked with the language since 2015, being an active member of Elixir Meetups in São Paulo, Brazil and spreading Elixir love all around :)

Before that, I've worked a lot with Java: SpringBoot and VRaptor for web apps, and Solr, Kafka and Spark for Search and Analytics. I also did some work with embedded media systems, and did my master dissertation on wireless sensor networks.

Github: nirev

Twitter: @nirev

Back to conference page