I encouraged and mentored a bunch of my students to learn Haskell and Rust by re-implementing csvkit (https://csvkit.readthedocs.io/en/1.0.2/). They started in late February 2020 and amidst all the lock down, college academic work, they have made decent progress.<p>Here is the link to their work:
https://gitlab.com/russell27<p>My aim in posting is to encourage all others to try and stretch themselves, by undertaking something reasonably large.
A bit of my background: I am a programming trainer who focuses on helping students to learn core programming principles and practices. I have been coding professionally since mid-80's and teaching/training/mentoring, from 90's. I prefer to teach using multiple languages. My usual choices are Python/C++/Haskell. (I have no development experience in Haskell; just love its spartan elegance). So my help to these students was mostly encouraging them, doing code reviews to help themselves to clarify the code and to identify the odd built-in function they were replicating in their code.