CivilCode Playbook
CtrlK
  • 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

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: Domain Modeling Made Functional

  • Short Read: The "Designing with types" series

  • Long Read: Domain Modeling Made Functional

PreviousTesting

Last updated 6 years ago