swift
swift copied to clipboard
[v3] Implement new Concept Exercise: reduce
This issue describes how to implement the reduce concept exercise for the Swift track.
Getting started
Please please please read the docs before starting. Posting PRs without reading these docs will be a lot more frustrating for you during the review cycle, and exhaust Exercism's maintainers' time. So, before diving into the implementation, please read the following documents:
- The features of v3.
- Rationale for v3.
- What are concept exercises and how are they structured?
Please also watch the following video:
Goal
This concept exercise should convey a basic understanding of how to use reduce in Swift.
Things to teach
- What is
reduce
? - Sequence.reduce
- Sequence.reduce(into:_:)
Things not to teach
- Other higher-order functions
Concepts
-
reduce
Prerequisites
-
functions
-
higher-order-functions
-
closures
-
loops
Resources to refer to
Hints
After
Representer
TBD
Analyzer
TBD
Implementing
See the Swift track implementation guide for guidance.
Help
If you have any questions while implementing the exercise, please post the questions as comments in this issue.
Considering merging this and flat-map into map
, especially if compactMap
gets moved to filter. The concepts are all related, so I am trying to come up with the best arrangement that doesn't overload the student but also that doesn't make the exercise too thin.