Grain 🧡 Hacktoberfest!

Check out everything contributed to Grain for Hacktoberfest.

Blaine Bublitz
November 13, 2020
Photo: Wesley Tingey / Unsplash

Last month, Grain took part in DigitalOcean’s Hacktoberfest event, which is a great resource for anyone that wants to get into Open Source. Whether you need guidance on how to contribute or just need ideas for projects to help on, each October they provide a platform (and incentives!) for people to get involved.

We had some amazing developers jump in and contribute to Grain in October! And we wanted to take some time to thank everyone and highlight the work they did.


Highlighting the Contributors

Warning: Heavy use of exclamation points incoming.

@bmakuh submitted a bunch of pull requests for some long-standing improvements that needed to be made, including renaming our output filenames from .wasm to .gr.wasm and adding support for trailing commas in pretty much every data structure!

@ohana54 added many much-needed standard library methods, like flatMap/find/findIndex for Lists and filter/reject for Maps, while also cleaning up our standard library tests!

@fa7ad cleaned up a massive if-else chain with a constant pattern match (now that we support them) and wrote our isnt operator to check if two values aren’t physically equal!

@lvaniscak implemented find and findIndex methods in our Array standard library to match the List API!

@clovis1122 wrote Array.fill and Array.fillRange methods for the standard library!

@MScheibel sent a pull request for the Array.count method in the standard library… and it was their first Pull Request ever!!

@miguelcarvalho13 showed up and wrote an entire Queue implementation for our standard library. We’re lining up to use it!

@Dony477 added product methods for both Lists and Arrays to generate cartesian products of tuples! Again, this was their first pull request. Color me impressed!

@tmphey contributed List.take, List.takeWhile, and List.sub methods to the standard library, in service of future work on sorting methods. They even contributed the website documentation for these!

@ng-marcus exploded onto the scene and added language server protocol support to the Grain CLI and then went on to implement it in our VSCode extension! We now have inline errors and code lenses in VSCode, which is absolutely mind-blowing! We are also excited to have Marcus as a direct contributor on the grain-language-server project.


So Many Thanks

The amount of energy around the Grain project in October was astounding. Even though I was unavailable most of the month, I was watching the pull requests roll in while Oscar reviewed and guided everyone to get contributions merged.

When I finally had a chance to catch up, it took me a full day to review everything submitted throughout the month and my git pull actually pulled down more than 100 commits. That is mind-blowing for such an early stage project!

I can’t thank everyone enough for this, and I really hope y’all continue to contribute. Or if you haven’t contributed yet, feel free to join our Discord and we can guide you to landing some code of your own.


Version 0.2.0 - Amaranth

All of this work was instrumental in our latest release: Grain v0.2.0, codenamed Amaranth. We encourage you to clone the project and try it out today!


Blaine Bublitz
Grain core team & tooling enthusiast

Join our mailing list for periodic farm-to-desktop goodness:

This is a notification!