Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

First range exercise #98

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

maxhaton
Copy link
Contributor

None of the exercises currently utilise any D more unique features or idioms, so I made one that does (ranges)

@maxhaton
Copy link
Contributor Author

Forgot to update config, will do

@amscotti
Copy link
Contributor

Hi @maxhaton, thank you for your contribution.

Please let me know if I'm wrong, but all the exercises used on Exercism for all language tracks are found in the problem-specifications repository. This helps with consistency from language to language by supplying the exercise details along with valid inputs and outputs.

I don't see any for First Range, but let me know if I'm missing it. If this is an exercise you would want on Exercism, I would suggest creating a pull request into the Problem Specifications repository that could be use for all language tracks.

Thanks!

@maxhaton
Copy link
Contributor Author

I have absolutely no idea how exercism manages exercises, but this one is basically specific to the D programming language e.g. no other language understands ranges to the same level (C++ kind of does but no). I was assuming that it just loads the exercises straight from a git clone.

@petertseng
Copy link
Member

A reminder that even if this exercise were to be applicable to other tracks, according to exercism/problem-specifications#1560:

If you would like to add a new exercise to your track, please do it as a track-specific exercise for now, and we can discuss generalising it into this repository further down the line.

Therefore, this PR should proceed as a track-specific exercise.

@amscotti
Copy link
Contributor

@petertseng Thanks for pointing that out to me, I missed that posting.

Are there details on what an "track-specific exercise" is anywhere? I never seen this before on the tracks I have worked on.

@petertseng
Copy link
Member

Here are two places to look for the details.

  1. Here is the existing documentation about a track-specific exercise: https://github.com/exercism/docs/blob/master/you-can-help/make-up-new-exercises.md#custom-problem-specifications
  2. If you prefer to look at an existing example rather than read documentation, see the list of currently existing track-specific exercises, generated with https://github.com/petertseng/exercism-problem-specifications/blob/list-tracks/track-specific.rb

sml: ["bracket-push"]
elm: ["bracket-push"]
swift: ["bracket-push"]
objective-c: ["bracket-push"]
ballerina: ["hello-world-service", "greeting-service", "service-invocation", "legacy-service-client", "calculator-service", "order-management", "service-composition", "echo-service"]
rust: ["luhn-from", "luhn-trait", "fizzy", "macros", "decimal", "doubly-linked-list"]
r: ["fizz-buzz"]
elixir: ["bracket-push"]
erlang: ["bracket-push"]
purescript: ["bracket-push"]
pharo-smalltalk: ["die"]
coq: ["tautology"]

(The inclusion of bracket-push in this list is not a mistake; since the bracket-push -> matching-brackets rename was already performed in problem-specifications, every track that still has yet to perform that rename now has bracket-push as a track-specific exercise. All other exercises in the list of course are also track-specific exercises and were never subject to a rename.)

@amscotti
Copy link
Contributor

@petertseng thanks for the link, very helpful!

@maxhaton Base on reading the about Custom Problem Specifications this PR also needs a description.md and a metadata.yml file to be under an .meta folder of the exercise folder.

Take a look at the Implementing a Completely New Exercise page for details on the format of the files. Let me know there is anything I can help with.

@maxhaton
Copy link
Contributor Author

I will do that when I'm back at my computer

Base automatically changed from master to main January 28, 2021 19:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants