Implement new Concept Exercise: `macros`
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
Research direction
Start with the learning objectives and the linked discussion about prerequisite placement. Decide the scope of the macros concept exercise, including whether require/use belongs, then establish its place in the concept tree and connect macros as a prerequisite and practice for dot-dsl.
Written by the indexing model from the issue text.
Description
Learning objectives
defmacro- the
Macromodule - what's an AST
- when not to use macros
Out of scope
I am not sure if explaining require/use in the same exercise would be a good idea. It's a lot of difficult concepts at once. But maybe it makes sense?
Concepts
macros
Prerequisites
Come up with something that will put this concept far down the concept tree. Maybe this should depend on a non-existent yet concept of dynamically defining functions without macros? (see https://github.com/exercism/elixir/pull/583#discussion_r567406673)
Practice exercises
Those practice exercises should have macros in their prerequisites and as practices:
dot-dsl
- Dominant language
- Elixir
- Stars
- 664
- Forks
- 415
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from exercism/elixir
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
-
x:action/sync x:knowledge/intermediate x:module/practice-exercise x:size/medium x:type/content
Difficulty 4/5 3-5 days Newbie friendliness 35/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
phoenixframework/phoenix#6847 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
beyond-all-reason/teiserver#1584 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ash-project/ash#2954 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
membraneframework/boombox#149 ·