Adding the Roc language to Exercism

Ah yes, thanks @keiraville, I missed the notification and the invite has now expired, sorry about that. @ErikSchierboom, could you please send me another one, I won’t miss it this time! :pray:

If you want to review my changes, they’re in PR #3 on github (exercism/roc).

Done. You should have another.

1 Like

Thanks for the review. :pray:
I just submitted a basic roc-test-runner in PR #4, your feedback is most welcome.

2 Likes

That is a most impressive PR! Really well done. I’ve reviewed.

3 Likes

Thanks Erik, I just merged the PR, woohoo!
What would you recommend we do next?
I’m considering adapting Python’s test genator, since it looks like it would be fairly straightforward, by simply editing the template.j2 files. This would make it easier to start adding more exercises.
Wdyt?

I just submitted PR #6 to the Roc track, which adds a test generator (adapted from Python’s generator). @ErikSchierboom , could you please take a look?

Now that we have a roc-test-runner, a test generator, and a couple working exercises, I think we’re ready to start adding many exercises! :smiley:

1 Like

Hi @ErikSchierboom ,
I have 23 exercises so far in exercism/roc and a working exercism/roc-test-runner.
What’s the threshold for releasing the track on the website?

We should probably have some other maintainers look over the track for feedback especially for the docs.

There are some miscellaneous things as well. Is there a CodeMirror 6 plugin for highlighting Roc code inside the Exercism editor? We might be able to reuse Haskell’s if it has one already. If our fork of tokei (for counting lines of code under published community solutions) doesn’t support Roc, that’d be a good addition. A track icon should also be requested on our website icons repo before launch. There’s a snippet extractor repo as well which is used to remove comments and other boilerplate from the previews of published community solutions. That’d be a good place to add Roc support.

1 Like

The exercism cli TestConfigurations could be updated.

1 Like

That is a great start. There are some things left to do, including configuring some tools. See New Track | Exercism's Docs for a list of the steps.

1 Like

Thanks Erik, I knew I still had some of these steps on my to-do list, but I was wondering where to focus my efforts on. I found a section in the docs that says you can launch the track once you have “20+ exercises”, so that answers my question. So I’ll focus on the tooling now, and I’ll add more exercises later.

1 Like

I’ve added Roc support for tokei in exercism/tokei (see PR #19).
I’ve also implemented the test.yml workflow in exercism/roc.
Just a few more items to go!

1 Like

That’s great!

Thanks Erik.
I’ve also added support for Roc in the Exercism CLI, as well and in the snippet-extractor.
Oh and it looks like you’ve already merged my Tokei and Snippet-Extractor PRs, thanks! :pray:

2 Likes

Hi everyone,
We’ve tested the Roc track and it seems to be working really well! :smiley:
We now have over 40 exercises, and we’re adding new ones every day.
So I think we’re pretty much ready to launch!

Two questions:

  • I’m discussing with the Roc team about how we could best communicate about this new track on social media & blogs, etc. Any recommendations?
  • Also, when we’re all ready, is it just a matter of flipping the switch in config.json or is there something else you need to do on your end?
1 Like

That’s it.

@lpil As someone wildly successful at generating traction for Gleam, any thoughts?

1 Like

Having learning-mode helps a lot, folks really like it. It’s a lot of work though, I wouldn’t have been able to make it without external funding for it.

For Gleam we have Exercism linked on the website, at the end of the introductory language tour, and I talk about it often on social media and on stream. It all helps I presume!

(also wow I didn’t realise Gleam was wildly successful! I was happy with it but presumed the uptake was normal)

2 Likes

225,899 submissions in ~6months is pretty impressive I think! What’s most impressive to me is the student-exercises ratio. Student’s go deep into the track - that shows there’s a lot of quality there.

That said, I really meant more about how you built momentum with the language. Fundamentally the more people interested in a language, the more people who will use Exercism to learn it, etc.