Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/marioariasc/funktionale

Functional constructs for Kotlin
https://github.com/marioariasc/funktionale

functional-programming kotlin

Last synced: 3 days ago
JSON representation

Functional constructs for Kotlin

Awesome Lists containing this project

README

        

funKTionale
===========

Functional constructs and patterns for [Kotlin](http://kotlin-lang.org)

*NOTE: Development of this project is frozen*, as it will eventually be made obsolete by
[Arrow](https://arrow-kt.io/), which merges the functionality of funKTionale and [Kategory](https://github.com/47deg/kategory-intro). If you are not yet using funKTionale, we recommend you [start with Arrow](https://arrow-kt.io/docs/) instead.

## Modules

| Module | Description | Internal Dependencies | Size(KB) |
|---|---|---|---|
|`funktionale-all`| GOTY edition. Every other module content is included but not Experimental module|N/A|1372|
|`funktionale-collections`|Collections related extensions such as `tail`, `prependTo` and others|N/A|4|
|`funktionale-complement`|Extension functions for predicates to generate complement functions|N/A|36|
|`funktionale-composition`| Extensions `andThen` (`forwardCompose`) and `compose` for functions|N/A|8|
|`funktionale-currying`|Extension `curried` and `uncurried` for functions|N/A|348|
|`funktionale-either`|Either and Disjuntion (right-biased Either) types|`funktionale-option`|44|
|`funktionale-experimental`|Playground and examples. **Not to be used on production**|`funktionale-all`|116|
|`funktionale-memoization`|Memoization for functions|N/A|108|
|`funktionale-option`|Option type|`funktionale-collections` and `funktionale-utils`|20|
|`funktionale-pairing`|Transformations for functions with arity 2 or 3 to one parameter of type `Pair` or `Triple` respectively |N/A|8|
|`funktionale-partials`|Partial applied functions|N/A|688|
|`funktionale-pipe`|`pipe` operator|N/A|36|
|`funktionale-reverse`|Extension `reverse` for functions|N/A|32|
|`funktionale-state`|`state` monad|N/A|20|
|`funktionale-try`|Try computation type|`funktionale-either`|16|
|`funktionale-utils`|`identity` and `constant` functions and Partial Functions |N/A|20|
|`funktionale-validation`|Validation types and functions with Disjunctions|`funktionale-either`|12|

## Documentation

Read the [Wiki](https://github.com/MarioAriasC/funKTionale/wiki)

## Conference and talks

Functional Programming in Kotlin with funKTionale ([video](https://www.youtube.com/watch?v=klakgWp1KWg), [presentation](https://speakerdeck.com/marioariasc/functional-programming-in-kotlin-with-funktionale-2))

## Maven (and Gradle)

You must configure your `pom.xml` file using JCenter repository

```xml

central
bintray
http://jcenter.bintray.com

```

Then you can use any funKTionale module to your library

```xml

org.funktionale
funktionale-all
1.2

```

## How to contribute?

Rise your PR against Experimental module (`funktionale-experimental`). Once it gets approved I'll move it to a proper module