## Hacktoberfest 2018 Wrap-up

Wow, what an exciting month it was! The open-source world completely took our minds, hearts and time. But in exchange, it gave us 31 wonderful days of collaboration with a lot of awesome people and we would like to thank them all! Hacktoberfest 2018 is over, but it’s not the time to be sad or to say goodbye, it’s only a time to collect all statistics and to share it with everyone else:

• 37 amazing volunteers contributed
• 96 outstanding pull requests in total were submitted
• 72 issues of various difficulty were resolved
• 5173 additions and 1646 deletions were bravely committed

## Highlights

If you like the statistics as much as we do or just would like to see more detailed information about the changes, we have prepared the following sections with the main highlights for each of the participating project and some numbers to show our joint effort during the last month.

### relude

Our alternative prelude underwent several useful changes. The main ones: reexporting Contravariant functors from base, various improvements to the custom HLint rules, documentation enhancements and more convenient functions to work with Validation, Typeable, tuples and much more.

### summoner

This project received various improvements to the configuration settings and several bugfixes of different parts of project scaffolding. Also, the internals of summoner were significantly refactored, improved and became more type safe.

### co-log

Our logging library received very generous contributions! Among them multithreading logger actions based on the bounded channels, various improvements to the interface that make it more convenient and the doctest checks to the core modules.

### tomland

Tomland is our bidirectional TOML conversion library. It hasn’t been publicly announced yet, but a lot of people were helping us to achieve the 1.0.0 milestone in a very short time. Our amazing volunteers added a lot of improvements to the parser, bidirectional converters for various types, golden tests for pretty-printing, benchmarks with other libraries and much more! This really moves this library to a stable state.

### containers-backpack

A lot of people did a great job on improving Backpack interface for containers: faster implementations of functions using smart techniques, implementation of a basic polymorphic test-suite with the property-based tests for laws and an initial version of benchmarks using the Backpack signatures.

### typerep-map

Our fast dependent map now has benchmarks for the insert functions and the work on speed boost of this function is in progress.

### smuggler

GHC Source Plugin that automatically removes unused imports now can remove trailing commas in imports! This was a problem because trailing commas in imports lists leads to the compilation error, but now it works smoothly. Also, the performance of the plugin was improved and more tests were added.

## Acknowledgment

This is a huge amount of work, and we are really proud that so many wonderful people come to help our small organization to produce better libraries.

We would like to thank everyone personally who submitted improvements to our repositories. Here are the names of our heroes:

## Future

This was a challenging month for us as for maintainers as well. To be honest, we didn’t expect that many amazing contributions by a lot of awesome people! We are really happy that people did so many useful and helpful things. We were trying to spend all our time to make the PR submitting/reviewing process as clear, easy and fun as possible. We tried our best to provide good feedback through help and code review, we devoted this whole month to Hacktoberfest and we hope that people really enjoyed working with us and learning new stuff 😊

Anyway, if you have some feedback or thoughts on how to improve participants experience in the future, let us know! We’re always open for ideas that help to make the world better 😃