[Rust] Add concept about macros?

So I’ve recently completed the MacroKata exercises and I’ve found them wonderful. They are the best, most systematic approach to teaching declarative macros in Rust that I’ve come across so far.

The teaching style seems to be very similar to exercism - Every piece of knowledge is taught with one exercise with an appropriately small piece of theory in the instructions. So I thought to myself, why not basically copy these exercises to exercism, to give them more exposure? Of course, some work is going to be required, to make the tests work with exercism’s test runner etc., but I think it’d be worth it. It might be perfect to wrap them in a new concept for macros and add it to the syllabus.

I asked the maintainer to add a license for this purpose, they were very kind to quickly add an MIT/Apache-2 license (link to issue).

They asked me to contact them if we want to proceed with this idea, to discuss some mechanism to keep the two versions of the exercises in sync. We should definitely honor that request.

One thing that doesn’t perfectly match the exercism-style: The exercises are pretty contrived. Exercism usually has some kind of story or description of a real problem scenario for the exercises. MacroKata doesn’t have that. I personally don’t mind at all, but maybe it’s important to the exercism teaching philosophy?

Lastly, there’s the question of who’s gonna do it. I would love to do it myself, but I’m very new to the exercism community and new contributions are kinda paused at the moment, for reasons I completely understand. So, I would also be totally fine with it if some existing maintainer wants to pick this idea up and do it themselves, because it is more efficient and fun, as described in “Freeing our Maintainers”. In that case, I would just ask to honor the request of MacroKata’s maintainer on my behalf and get in touch with them. I would also be fine with putting this idea on hold until the new “community model” of exercism is fresh out the oven :-)

Best regards, Remo


There’s another mismatch between how MacroKata does things and Exercism. MacroKata introduces small bits of new information with every exercise, where Exercism’s approach is more to have one learning exercise for a concept and the rest are practice exercises, which shouldn’t introduce too much new information themselves.

@senekor Hey! Thanks for the post. We (staff) have been off over the festive period so sorry for the slow reply! Let me discuss internally, and understand where Rust is at, and get back to you in the next day or so :slight_smile:

1 Like

I’ve had an idea about making the style of the MacroKata exercises compatible with exercism. What if the macro concept was split up into a couple concepts? Something like Macros 1, Macros 2, Macros 3

Or is it considered bad practice to have lots of small concepts, in order to teach a more difficult topic with small steps?

@iHiD any news on this?

1 Like

Hi! I think what the exercises teach are great. They slowly teach you more and more about macros. I’m not entirely sure they’d make for good concept exercises without a bit of rework, like splitting in tasks and adding a story/theme. Would that be possible?

1 Like

Yes, I agree with that. There will be some rework required to make the exercises fit the platform. I see a few options:

  • I would love to do it, if the Rust track maintainers are willing to review.
  • I’d be totally fine with the Rust track maintainers doing it themselves if that’s more fun for them and or more efficient.
  • I’m also fine with waiting on this as long as community contributions are on hold.

I’d love to hear from the Rust track maintainers what they would prefer.