exercism / purescript

Exercism exercises in PureScript.
https://exercism.org/tracks/purescript
MIT License
37 stars 32 forks source link

Create stub files for all exercises #106

Open kytrinyx opened 5 years ago

kytrinyx commented 5 years ago

We have decided to require all file-based tracks to provide stubs for their exercises.

The lack of stub file generates an unnecessary pain point within Exercism, contributing a significant proportion of support requests, making things more complex for our students, and hindering our ability to automatically run test-suites and provide automated analysis of solutions.

We believe that it’s essential to understand error messages, know how to use an IDE, and create files. However, getting this right as you’re just getting used to a language can be a frustrating distraction, as it can often require a lot of knowledge that tends to seep in over time. At the start, it can be challenging to google for all of these details: what file extension to use, what needs to be included, etc. Getting people up to speed with these things are not Exercism’s focus, and we’ve decided that we are better served by removing this source of confusion, letting people get on with actually solving the exercises.

The original discussion for this is at https://github.com/exercism/discussions/issues/238.

Therefore, we’d like this track to provide a stub file for each exercise.

mawis commented 5 years ago

Thanks for reporting this issue. The PureScript track does have a stub file for every exercise already.

But in the referred discussion I found this:

Adding progression: Each core exercise can have a reduced stub, until we just have a blank file with the correct filename. This gives a student a bit more work to do each time, but also means they have previous exercises to refer back to.

I think this is a good point, which we haven't implemented yet. Beside changing names we are using the same stub in every exercise. At the beginning (hello-world) we might want to add the function signature … while at the end (word-count) we could maybe remove the module declaration.