elixir icon indicating copy to clipboard operation
elixir copied to clipboard

Implement new Concept Exercise: `dynamic-dispatch`

Open angelikatyborska opened this issue 4 years ago • 4 comments

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:

Goal

The goal of this exercise is to replace rpn-calculator-output as the exercise that teaches dynamic dispatch (https://elixir-lang.org/getting-started/typespecs-and-behaviours.html#dynamic-dispatch). rpn-calculator-output should be modified to depend on dynamic-dispatch instead of teaching it. Make sure to reuse part of that exercise's introduction.

Learning objectives

  • Know that you module names are just atoms
  • Know that you can call a function on a module even if its stored in a variable
  • apply
  • Know how to concatenate module names? e.g. https://hexdocs.pm/elixir/Module.html#safe_concat/1

Out of scope

?

Concepts

  • dynamic-dispatch

Prerequisites

Depends on the story.

Exercises

Add dynamic-dispatch as a prerequisite of forth.

Resources to refer to

https://elixir-lang.org/getting-started/typespecs-and-behaviours.html#dynamic-dispatch

Implementing

Since dynamic dispatch depends on the existence of a few modules with the same function, we might want to provide that in the boilerplate instead of having the student implement those too.

Help

If you have any questions while implementing the exercise, please post the questions as comments in this issue.

angelikatyborska avatar Jan 28 '21 18:01 angelikatyborska

Hi is issue still open to pick?

apoorv-2204 avatar Aug 14 '23 08:08 apoorv-2204

@apoorv-2204 Yes, nobody started working on this yet.

angelikatyborska avatar Aug 14 '23 08:08 angelikatyborska

Hello!

The link under resources leading not to where it expected. Is there still a thing in Elixir such as dynamic-dispatch?

zxdsc avatar Jul 06 '24 06:07 zxdsc

@zxdsc This link https://hexdocs.pm/elixir/Kernel.html#apply/3 ? Yes, that's exactly the function that allows you to do dynamic dispatch in Elixir

angelikatyborska avatar Jul 06 '24 06:07 angelikatyborska