Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

CodeSignal

Custom Types and Interactive Programs in Haskell

via CodeSignal

Overview

Build a small interactive command-line task manager. Define domain types, use `Maybe` and `Either` for absence and failure, separate pure logic from `IO`, and handle validated user input.

Syllabus

  • Unit 1: Naming Your Domain
    • Naming the Parts of a Task
    • Describing Tasks in Your Vocabulary
  • Unit 2: Defining Custom Data Types
    • Building Your First Custom Type
    • Bundling Data into a Task
  • Unit 3: Pattern Matching on Constructors
    • Labeling Every Status Choice
    • Unpacking Tasks into Readable Text
  • Unit 4: Modeling Absence with Maybe
    • Searching Tasks Without Crashing
    • Reporting Results Without Crashing
  • Unit 5: Reporting Errors with Either
    • Reporting the Reason for Failure
    • Routing Outcomes Through One Pipeline
  • Unit 6: Building Interactive Programs
    • Bringing Your Task Manager Alive
    • Looping Until the Input Ends
  • Unit 7: Building Complete Interactive Programs
    • Threading State Through the Loop
    • Listing Tasks with Recursive Joins
    • Growing State with New Tasks

Reviews

Start your review of Custom Types and Interactive Programs in Haskell

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.