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

Rename HelloWorld directory to hello-world #24

Closed
kytrinyx opened this issue Jul 26, 2018 · 5 comments
Closed

Rename HelloWorld directory to hello-world #24

kytrinyx opened this issue Jul 26, 2018 · 5 comments

Comments

@kytrinyx
Copy link
Member

In order to be able to add the Pharo track to the site, we need the Hello, World exercise directory to be named hello-world. The files within it can be named per the naming conventions of the language.

See more about the anatomy of exercises in https://github.com/exercism/docs/blob/master/language-tracks/exercises/README.md

@macta
Copy link
Contributor

macta commented Jul 26, 2018

@kytrinyx I don't understand - that link just says the directories have to match whats in config.json - so if the config slug says HelloWorld, why wouldn't it work?

We're trying to come up with simple mapping mechanisms to match a non-file based language (Smalltalk) to Exercism, so I was hoping to just use the Package name in smalltalk to generate that directory but in our package names "-" has a special sub package meaning, and names must being with a capital. Hence in Smalltalk we would use HelloWorld.

I can find another way, but I'm obviously missing the key documentation somehow?

@kytrinyx
Copy link
Member Author

I'll need to update the instructions, in that case.

The config slugs must be all lowercase, and hyphenated. The exercise slug is used as an identifier by the website, as well as to identify the exercise by the command-line app. Additionally, we use the slug to connect the exercise implementation in each language to the problem specification for the same exercise in https://github.com/exercism/problem-specifications.

The files themselves, or subdirectories within it could all have camel-case, but we have a lot of things that rely on the underlying assumption that the directory itself is normalized to kebab-case.

@macta
Copy link
Contributor

macta commented Jul 27, 2018

@kytrinyx ok - this where the onboarding for developers of a track is all a bit mysterious - the docs are a bit sprawling and its not obvious what is configuration and what is convention (particularly for non c-style languages that have different conventions). In retrospect it makes sense now - I'll just need to do a bit more work in our mapping-generation.

I'm hoping this is all worth while, as it seems a shame not to have languages that work a bit differently in your tracks - and give people an opportunity to learn something a bit different (I guess with common tools like exercism that they feel comfortably with).

I think we can pull it off.

@macta
Copy link
Contributor

macta commented Jul 27, 2018

This has been committed

@macta macta closed this as completed Jul 27, 2018
@kytrinyx
Copy link
Member Author

I'm hoping this is all worth while, as it seems a shame not to have languages that work a bit differently in your tracks

Yes! I definitely want to be able to support languages that work differently, it's just not come up before. I think this means you're a pioneer :)

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

No branches or pull requests

2 participants