Skip to main content
thoughtbot thoughtbot
  • Live on Twitch!

    thoughtbot is livestreaming

    Work alongside the thoughtbot team as we collaborate with each other and our clients, live. Ask us anything, we're live right now!

  • Case Studies
  • Blog
  • Let’s Talk
Live on Twitch!

thoughtbot is livestreaming

Work alongside the thoughtbot team as we collaborate with each other and our clients, live. Ask us anything, we're live right now!

Let’s get started!
View all Services
Development
  • Ruby on Rails
  • Hotwire
  • AI and Machine Learning
  • Maintenance
  • Mobile
Design
  • Discovery Sprints
  • UX, UI, and Product Design
  • Design Systems
Product
  • MVP
  • Product Management
  • Accessibility
Team and Processes
  • Team Augmentation
  • Fractional Leadership
View all Services
View all Resources
Development
  • Tech Leadership Resources
  • Open Source
  • Books
  • The Bike Shed Podcast
  • Live Streaming on YouTube
  • Conference Talks
The business of great software
  • Playbook
  • Purpose Built
  • Giant Robots Smashing Into Other Giant Robots Podcast
  • Design Sprint Guide
  • Live Streaming on LinkedIn
View all Resources

Functional Programming Articles

Written by thoughtbot, your expert partner for design and development.

    • All Topics
    • Design
    • Development
    • Product
    • More topics
  1. Do you break your Elixir eggs on the big end or the little end?

    From big-endian to little-endian through unsigned integers. A tale of two ends, and Elixir shines again.

    German Velasco
    December 25, 2018
    • Elixir
    • Endianess
    • Functional Programming
  2. Is Elixir a scripting language?

    Elixir is known for being a language made for building distributed applications that scale, are massively concurrent, and have self-healing properties. But is Elixir good enough for the mundane scripts of this world?

    German Velasco
    October 15, 2018
    • Elixir
    • Functional Programming
    • Code
  3. Organize your functional code

    When coming to a functional language, I often hear people ask, “How do I organize my code?” Let’s take a look at some ways in which data can tell us how to organize our modules and functions.

    German Velasco
    March 19, 2018
    • Elixir
    • Functional Programming
    • Good Code
    • Code
  4. Problem Solving with Maybe

    Write more confident code to avoid viral Maybe taking over your project.

    Joël Quenneville
    February 12, 2018
    • Elm
    • Functional Programming
    • Good Code
    • Web
  5. The Mechanics of Maybe

    Leverage the core mechanics of Maybe to clean up your nested cases.

    Joël Quenneville
    February 9, 2018
    • Elm
    • Functional Programming
    • Web
  6. Two ways of looking at map functions

    Map functions are hard to “get” in the abstract. This looks at two mental models that helped me understand them better.

    Joël Quenneville
    November 20, 2017
    • Elm
    • Web
    • Functional Programming
  7. "Tell, Don't Ask" in Elixir: A Story of Pattern-Matching

    Write declarative Elixir code by applying “Tell, Don’t Ask”.

    Josh Clayton
    December 21, 2016
    • Web
    • Phoenix
    • Functional Programming
    • Elixir
  8. Rolling Random Romans

    A dive into functional random generators.

    Joël Quenneville
    April 18, 2016
    • Elm
    • Functional Programming
  9. Maybe Thinking

    By understanding Maybe, you begin to see code in a new light.

    Josh Clayton
    April 15, 2016
    • Functional Programming
    • Elm
    • Ruby
  10. Introducing Argo 1.0: More Power, More Fun

    Argo 1.0 puts more power in your hands!

    Tony DiPasquale
    May 26, 2015
    • News
    • iOS
    • Swift
    • Argo
    • Functional Programming
  11. Sign up to receive a weekly recap from thoughtbot

    Looking for even more ways to stay connected?
    RSS feed icon Check out our feeds
« First ‹ Prev 1 2 3 Next › Last »

Footer

thoughtbot
  • Services
  • Case Studies
  • Resources
  • Let's Talk
  • Our Company
  • Careers
  • Purpose
  • Blog
  • Sponsor
  • Mastodon
  • Bluesky
  • GitHub
  • YouTube
  • Twitch
  • Feeds
© 2025 thoughtbot, inc.

The design of a robot and thoughtbot are registered trademarks of thoughtbot, inc.

  • US: +1 (877) 9-ROBOTS
  • UK: +44 (0)20 3807 0560
  • Beware of fraudulent thoughtbot job listings Learn more
  • Code of Conduct
  • Accessibility Statement
  • Privacy Policy