swift icon indicating copy to clipboard operation
swift copied to clipboard

[v3] Implement new Concept Exercise: reduce

Open wneumann opened this issue 4 years ago • 1 comments

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.

wneumann avatar Jun 18 '20 02:06 wneumann

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.

wneumann avatar Jun 18 '20 12:06 wneumann