Open ErikSchierboom opened 4 years ago
I'm working on this.
@ErikSchierboom Hello, as I understand this is this open for implementation? Can I take it? Does any post on forum required?
Yes, that is correct! A forum post would be a good idea, as we can then discuss the implementation strategy there.
This issue describes how to implement the
options
concept exercise for the F# 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 up on the following documents:
Please also watch the following video:
Goal
The goal of this exercise is to teach the student the basics of the Concept of Options in F#.
Learning objectives
Option<T>
type and when to use it.Option
module (likeOption.map
) to modify options.null
.Out of scope
<*>
).Concepts
The Concepts this exercise unlocks are:
options
: know of the existing of theOption<T>
type and when to use it; know how to define an optional value; know of some basic functions in theOption
module (likeOption.map
) to modify options; know how options differ fromnull
; know how to use pattern matching with options.generic-types
: know what generic types are.Prerequisites
This exercise's prerequisites Concepts are:
discriminated-unions
: know that an option is implemented as a DU and know how to do pattern matching on a DU.higher-order-functions
: how to use higher-order functions.Any data types used in this exercise (e.g.
strings
) should also be added as prerequisites.Resources to refer to
Hints
After
Representer
This exercise does not require any specific representation logic to be added to the representer.
Analyzer
This exercise does not require any specific logic to be added to the analyzer.
Implementing
To implement this exercise, please follow these instructions.
Help
If you have any questions while implementing the exercise, please post the questions as comments in this issue.