Haskell·Haskell essentials

Small program

Combine types, patterns and folds into a small report.

Advanced 10 min read Lesson 5 of 150 Challenge included
What you will be able to do
  • Model with a data type.
  • Use foldr for totals.
  • Print the result.

In plain English

Combine types, patterns and folds into a small report.

  • Model with a data type.
  • Use foldr for totals.
  • Print the result.
Report.hsHASKELL
data Lesson = Lesson String Int

total :: [Lesson] -> Int
total = foldr (\(Lesson _ m) acc -> m + acc) 0

main = print (total [Lesson "HTML" 12, Lesson "CSS" 18])
Your turn

Explain it back

Easy

Answer from memory: Which function folds a list from the right?

TEXT · starter
Your answer…
Check your understanding before moving on.
Knowledge checkQuestion 1

Which function folds a list from the right?

Select an answer to continue
Study tools

Make it yours.

Keep a private note for this lesson, then turn the key ideas into flashcards you can revisit.

Sign in to save notes and flashcards.Both are private to your account and stay with your progress.
Sign in
Finished reading?

Lock in what you just learned.

Mark this lesson complete to save your place and move one step closer to the certificate.

Lesson 5 of 150 · 0% of course