CivilCode Playbook
  • The CivilCode Playbook
  • Method
    • Engagement
      • Qualification
      • Introductory Meeting
    • Onboarding
      • Roles and responsibilities
      • Product Owner Role
    • Discovery
    • Iteration Zero
      • Kickoff
    • Development
      • Develop an Object Model
      • Build a Feature List
  • Guides
    • Operations
      • Setup the VPN
      • Developer Setup Guide
      • Maintain Virtual Machine
    • Practices
      • Pair Programming Practice
      • Friday Practice
      • Project Retrospective
      • Daily Practices
  • Education
    • Trails
      • Elixir
      • Domain-Driven Design and CQRS/ES
      • Event Storming
      • Feature-Driven Development
      • Functional Programming
      • GraphQL
      • Object Design
      • Object Modeling
      • Specification by Example
      • Story Mapping
      • Testing
      • Type Classes
Powered by GitBook
On this page
  1. Education
  2. Trails

Type Classes

PreviousTesting

Last updated 6 years ago

Although Elixir is not a strongly typed language, we do think in terms of Types. We lean on Dialyzer to enforce contracts and to enforce types for inputs and outputs. Our thinking on Types are heavily influenced by ML style functional programming languages.

Type Classes enable Domain-Driven Design.

  • Watch:

  • Short Read:

  • Long Read:

Domain Modeling Made Functional
The "Designing with types" series
Domain Modeling Made Functional