Elixir Wizards cover image

Elixir Wizards

Brooklyn Zelenka on Witchcraft - Elixir Internals

Jul 11, 2019
30:15

Hey everybody and welcome back to Season 2 of the podcast! This season we will be talking about Elixir internals, libraries and the inner workings of the language. In our first episode we are very happy to be joined by Brooklyn Zelenka to start off our journey on the subject with an exploration of her very own Witchcraft.

In this episode we talk to Brooklyn about her history with Elixir, how she got started and what attracts her to it. Brooklyn explains the influence that open source philosophy has had on her career in developing and from there she gives a pretty comprehensive introduction to what Witchcraft is, expanding its key concepts. Although this is quite a high level discussion about Elixir and Witchcraft, we are confident that with Brooklyn's expert help even our most uninitiated listener can get some benefit from our conversation. We also talk about type systems, property-based checking and Dialyzer, so for all of this and more make sure to join us as we kick things off for Season 2!

Key Points From This Episode:

  • A quick introduction to Brooklyn, where she works and how she got started with Elixir.
  • The influence of open source and library contributions on Brooklyn's development.
  • Getting to grips with Witchcraft; defining monads and functors.
  • Why some of these scary terms do not need to frighten you.
  • A few little things that differentiate Witchcraft and some surprising elements.
  • The convenient guarantees that Witchcraft provides around your data structure.
  • Why there is no type system baked into Elixir; overheads, inputs and outputs.
  • Property-based checking and compile times in Witchcraft.
  • Merging of Elixir and Dialyzer; benefits and problems.
  • Getting in touch with Brooklyn and getting involved with Witchcraft and Elixir.
  • And much more!

Links Mentioned in Today’s Episode:

Smartlogic — https://www.smartlogic.io/
Brooklyn Zelenka — https://github.com/expede
Brooklyn Zelenka on Twitter — https://twitter.com/expede
Brooklyn Zelenka Email — hello@brooklynzelenka.com
Fission — https://fission.codes/
Elixir — https://elixir-lang.org/
Witchcraft — https://hex.pm/packages/witchcraft
Dialyzer — https://github.com/jeremyjh/dialyxir

Learn more about how SmartLogic uses Phoenix and Elixir.

Special Guest: Brooklyn Zelenka.

Get the Snipd
podcast app

Unlock the knowledge in podcasts with the podcast player of the future.
App store bannerPlay store banner

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode

Save any
moment

Hear something you like? Tap your headphones to save it with AI-generated key takeaways

Share
& Export

Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode