Skip to main content
Test Double company logo
Services
Pragmatic Services Overview
Holistic software investment consulting
Acccelerate Software Delivery
Balance efficiency and quality
Improve Product Impact
Drive results that matter
Upgrade Rails Seamlessly
Update Ruby and Rails versions
Scale DevOps
Dev experience and infrastructure
Technical Recruitment
Build tech & product teams
Case Studies
Solutions
Legacy Modernization
Renovate legacy software systems
Pragmatic AI
Solve business problems without hype
Technical & Product Assessments
Uncover root causes & improvements
About
About
What's a test double?
Approach
Meeting you where you are
Founder's Story
The origin of our mission
Culture
Culture & Careers
Double Agents decoded
Great Causes
Great code for great causes
EDI
Equity, diversity & inclusion
Insights
All Insights
Hot takes and tips for all things software
Leadership
Bold opinions and insights for tech leaders
Developer
Essential coding tutorials and tools
Product Manager
Practical advice for real-world challenges
Say Hello
Test Double logo
Menu
Services
BackGrid of dots icon
Services Overview
Holistic software investment consulting
Software Delivery
Accelerate quality software development
Product Impact
Drive results that matter
Cycle icon
DevOps
Scale infrastructure smoothly
Upgrade Rails
Update Rails versions seamlessly
Technical Recruitment
Build tech & product teams
Case Studies
Solutions
Solutions
Legacy Modernization
Renovate legacy software systems
Pragmatic AI
Solve business problems without hype
Technical & Product Assessments
Uncover root causes & improvements
About
About
About
What's a test double?
Approach
Meeting you where you are
Founder's Story
The origin of our mission
Culture
Culture
Culture & Careers
Double Agents decoded
Great Causes
Great code for great causes
EDI
Equity, diversity & inclusion
Insights
Insights
All Insights
Hot takes and tips for all things software
Leadership
Bold opinions and insights for tech leaders
Developer
Essential coding tutorials and tools
Product Manager
Practical advice for real-world challenges
Say hello
Developers
Developers
Developers
Software tooling & tips

Tame the frontend with Elm

Discover the benefits of Elm such as no runtime exceptions and helpful compiler error messages. Learn some of Elm's syntax and how to structure applications with the Elm Architecture.
Jeremy Fairbank
|
July 19, 2017
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

The video above was recorded at Fluent Conf 2017.

We’re excited about Elm at Test Double. Elm is a functional programming language that compiles to JavaScript and promises robust frontend web apps by preventing runtime exceptions. Elm’s type system helps you thoughtfully design applications, and its compiler guides you confidently through refactors with helpful error messages.

In this talk, I share the benefits of building applications with Elm while also diving into its syntax and functional programming concepts. In addition to no runtime exceptions, Elm touts:

  • Being as fast as the big JavaScript frameworks such as React and Angular
  • Safer null handling with the built-in Maybe type
  • No JavaScript fatigue with one standard framework for building applications, the Elm Architecture
  • Pure functions that are predictable and easy to test
  • Immutable data types for data safety and consistency

Finally, I top off the talk by explaining how the Elm Architecture sanely organizes code and then demonstrating how to build applications and interact with HTTP APIs.

Overall, we’re delighted with Elm and look forward to using it more in the future! I am also writing a book on Elm, so follow me on Twitter for future updates about the book. If you’re attending Elm Conf, say hi to me there too!

[Note: You can purchase Jeremy's book through the Pragmatic Bookshelf.]

Related Insights

No items found.

Explore our insights

See all insights
Developers
Developers
Developers
Horizontal Progression for Software

More capable AI doesn't automatically make better software. A longtime WoW player explores what horizontal progression could teach us about building products people love.

by
Dave Mosher
Developers
Developers
Developers
AI tooling may have solved coding, but not solutions delivery

AI made writing code faster, and software delivery didn't speed up to match. The Theory of Constraints predicted exactly this outcome forty years ago, and it also tells you what to do about it: measure your own end-to-end flow before you name the constraint or buy the tooling.

by
River Lynn Bailey
Developers
Developers
Developers
Defend your downtime to improve agentic output

With agentic tools writing code, it feels natural to fill the waiting time by reaching for the next task. Before you do, though, have you considered what you might be losing by trying to parallelize more work? River Bailey digs into the question to understand why we should protect that downtime instead of filling it with more activity.

by
River Lynn Bailey
Letter art spelling out NEAT

Join the conversation

Technology is a means to an end: answers to very human questions. That’s why we created a community for developers and product managers.

Explore the community
Test Double Executive Leadership Team

Learn about our team

Like what we have to say about building great software and great teams?

Get to know us
Test Double company logo
Improving the way the world builds software.
What we do
Services OverviewSoftware DeliveryProduct StrategyLegacy ModernizationPragmatic AIDevOpsUpgrade RailsTechnical RecruitmentAssessments
Who WE ARE
About UsCulture & CareersGreat CausesEDIOur TeamContact UsNews & AwardsN.E.A.T.
Resources
Case StudiesAll InsightsLeadership InsightsDeveloper InsightsProduct InsightsPairing & Office Hours
NEWSLETTER
Sign up hear about our latest innovations.
Your email has been added!
Oops! Something went wrong while submitting the form.
Standard Ruby badge
614.349.4279hello@testdouble.com
Privacy PolicyTerms & Conditions
© 2020 Test Double. All Rights Reserved.