-
-
Notifications
You must be signed in to change notification settings - Fork 160
Description
This issue describes how to implement the Higher-order functions concept exercise for the Clojure 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 how to use higher-order functions in Clojure.
It can be a simple port of elyses-transformative-enchantments from the JavaScript Track.
Learning objectives
The student will gain a general understanding of:
- First Class Functions
- Functions that take one or more functions as arguments
- Functions that return a function as its result
Out of scope
- This is a general overview of the concept, not in-depth usage of specific functions.
Concepts
higher-order-functions
Prerequisites
basics
Resources to refer to
Clojure guide - Higher Order Functions
Representer
The Clojure Representer is currently being implemented and contributions are welcome.
Analyzer
The Clojure Analyzer is currently being implemented and contributions are welcome.
Implementing
To implement a concept exercise, the following files must be created:
languages
└── clojure
└── exercises
└── concept
└── <SLUG>
├── .docs
| ├── instructions.md
| ├── introduction.md
| ├── hints.md
| └── after.md (optional)
├── .meta
| |── design.md
| └── Example.clj
├── <NAME>.clj
└── <NAME>_test.clj
Help
If you have any questions while implementing the exercise, please post the questions as comments in this issue.