Operation Amethyst - Exercism

Operation Amethyst


Operation Amethyst - YouTube

This is the first operation on the Crystal track, operations aim to deliver bigger content pieces compared to our ongoing work (like fixes, adding exercises etc).

Crystal exercises on Exercism

It is an operation since this will be released over a period (likely 1-2 weeks).

Summery:

  • Crystal 1.8
  • Representer
  • Fixes

Crystal 1.8.1

Note: This may lead to some current solutions to break

This update has been needed for a while and work has been going on the last few months to make the move to 1.8 as smooth as possible, this mostly includes a lot of new ci scripts. Among other things does this include version-specific tests on our exercises repo and our brand new ci scripts which will test our test runner on all exercises.

This upgrade makes it so you can use the latest tools and hopefully brings some speed improvements.
Other planned changes are also dependent on this version changes.

Representer

The representer has been in development since February and the first version is now ready. It allows us to be able to normalize solutions which involves sorting and generalizing names. This together allows us to give feedback on one solution which we can apply to multiple solutions which works the same way.

This will be a tool for our mentors mainly and their feedback will be able to give to students.

My aim is to have 2nd iteration with various improvements and fixes. Mainly a focus will be to improve macro support (likely to release with the next operation).

Fixes

For some time has test cases with Int128 been giving warnings due to that a writing style introduced in 1.3 wasn’t available in 1.2. In later Crystal updates a warning was introduced for numbers that is bigger than int32 not being marked as int128. WIth 1.8 we can now write that marking for those exercises so the warning can go away.

Syllabus (Sneak Peak)

The syllabus is still being worked on and isn’t just ready yet.
The content stop was initialized today which means no new concepts will be added until after the first release.
2 Concepts are merged in and another one shall likely be merged this week and work is ongoing.
But hopefully, a release can occur soon.
But here are some sneak peeks of the syllabus:


17 Likes

This looks really awesome :heart: :clap:

Thanks for your incredible work on the Crystal track. I’m sure it helps many people get acquainted with the language.

3 Likes

Hi Carl,

Thanks on getting started already with the Crystal exercisms track, your first activity as an official Crystal ambassador :slight_smile: . This is truly amazing and very inspiring for all of Crystal community.

I think I can help. I mean, I’m so shockingly bad at this that I’ve been stuck on Exercism’s second Crystal exercise for a while.

If the operation needs the proverbial ‘dumb users’, I’m it.

Hi, thanks for all of your kind words.

The tooling is now updated to 1.8 and it seems to run smoothly. The representer and fixes will likely arrive next week.

There are some really hard exercises on the track so, my tip is to move on to another one and avoid getting stuck at a specific exercise.

Contributions are welcome, currently a big continuous work is to review the currently written concepts, other than that I have some more minor issues that have to be solved which are pretty good starting issues.

And if there is something you feel like doing that isn’t marked as an issue, you can either send me a message and have a discussion or open an issue on the GitHub repo

2 Likes