Skip to content

Commit

Permalink
Create CONTRIBUTING.md
Browse files Browse the repository at this point in the history
  • Loading branch information
pfcoperez authored Oct 6, 2017
1 parent 1e61a5c commit e6b9e05
Showing 1 changed file with 39 additions and 0 deletions.
39 changes: 39 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
Keeping a daily feed of functional algorithm implementations is not
a task for a one-human-army. That's why contributing to this project is highly encouraged.

If these moving words haven't convinced you to loan your precious time to "the cause", you can always consider some of the following reasons:

First: Implementing algorithms in Scala, constraining yourself to functional
programming is one of the funniest puzzles you'll ever met.

Besides, from a selfish standpoint, you will:

* Get the credit in the daily tweeter feed.
* Train your problem solving skills.
* Discuss about the approaches to solve problems and learn along the way.
* **ONLY THIS MONTH!** Earn a [Hacktoberfest](https://hacktoberfest.digitalocean.com/) t-shirt by contributing to an open source project.

But, more important are some of the reasons to support the Scala & Functional Programming communities:

* Spread the word about category theory, performance, data structures and other Scala libraries.
* Demonstrate that Functional Scala can be quite a performance beast.
* Spread the knowledge on algorithmic design.

### The contributor guide to @DailyAlgorithm

Accepted contributions will:

- Be 100% [referentially transparent](https://en.wikipedia.org/wiki/Referential_transparency).
- Offer clean reusable code. Preferably generic.
- Come with clear **time complexity** upper bound, at least for the average case.
- Include a Twitter handle or other mean to refer the author in the feed.

**NOTE:** Feel free to open PRs even when those might not meet some or all of the requirements above described. The maintainer(s) will offer as much help as possible.

Find and example [here](https://github.com/pfcoperez/algorithmaday/pull/9).

Outstanding ones will:

- Show functional patterns usage. Such as category theory application.
- Introduce new technologies related to: Functional programming (and/or category theory) patterns, data structures, software testing and performance measurements.
- Include one or more diagrams explaining the contribution, they will be used in the Twitter feed.

0 comments on commit e6b9e05

Please sign in to comment.