{"id":22514612,"url":"https://github.com/marioariasc/funktionale","last_synced_at":"2025-04-13T02:10:09.571Z","repository":{"id":7731909,"uuid":"9098277","full_name":"MarioAriasC/funKTionale","owner":"MarioAriasC","description":"Functional constructs for Kotlin","archived":false,"fork":false,"pushed_at":"2019-12-19T10:53:13.000Z","size":332,"stargazers_count":915,"open_issues_count":12,"forks_count":72,"subscribers_count":31,"default_branch":"master","last_synced_at":"2025-04-13T02:09:57.086Z","etag":null,"topics":["functional-programming","kotlin"],"latest_commit_sha":null,"homepage":null,"language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MarioAriasC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-03-29T12:49:05.000Z","updated_at":"2024-12-18T13:38:38.000Z","dependencies_parsed_at":"2022-06-26T00:34:54.404Z","dependency_job_id":null,"html_url":"https://github.com/MarioAriasC/funKTionale","commit_stats":null,"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarioAriasC%2FfunKTionale","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarioAriasC%2FfunKTionale/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarioAriasC%2FfunKTionale/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarioAriasC%2FfunKTionale/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MarioAriasC","download_url":"https://codeload.github.com/MarioAriasC/funKTionale/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248654090,"owners_count":21140236,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["functional-programming","kotlin"],"created_at":"2024-12-07T03:19:24.794Z","updated_at":"2025-04-13T02:10:09.428Z","avatar_url":"https://github.com/MarioAriasC.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"funKTionale\n===========\n\nFunctional constructs and patterns for [Kotlin](http://kotlin-lang.org)\n\n*NOTE: Development of this project is frozen*, as it will eventually be made obsolete by \n[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.\n\n## Modules\n\n| Module | Description | Internal Dependencies | Size(KB) |\n|---|---|---|---| \n|`funktionale-all`| GOTY edition. Every other module content is included but not Experimental module|N/A|1372|\n|`funktionale-collections`|Collections related extensions such as `tail`, `prependTo` and others|N/A|4|\n|`funktionale-complement`|Extension functions for predicates to generate complement functions|N/A|36|\n|`funktionale-composition`| Extensions `andThen` (`forwardCompose`) and `compose` for functions|N/A|8|\n|`funktionale-currying`|Extension `curried` and `uncurried` for functions|N/A|348|\n|`funktionale-either`|Either and Disjuntion (right-biased Either) types|`funktionale-option`|44|\n|`funktionale-experimental`|Playground and examples. **Not to be used on production**|`funktionale-all`|116|\n|`funktionale-memoization`|Memoization for functions|N/A|108|\n|`funktionale-option`|Option type|`funktionale-collections` and `funktionale-utils`|20|\n|`funktionale-pairing`|Transformations for functions with arity 2 or 3 to one parameter of type `Pair` or `Triple` respectively |N/A|8|\n|`funktionale-partials`|Partial applied functions|N/A|688|\n|`funktionale-pipe`|`pipe` operator|N/A|36|\n|`funktionale-reverse`|Extension `reverse` for functions|N/A|32|\n|`funktionale-state`|`state` monad|N/A|20|\n|`funktionale-try`|Try computation type|`funktionale-either`|16|\n|`funktionale-utils`|`identity` and `constant` functions and Partial Functions |N/A|20|\n|`funktionale-validation`|Validation types and functions with Disjunctions|`funktionale-either`|12|\n\n## Documentation\n\nRead the [Wiki](https://github.com/MarioAriasC/funKTionale/wiki)\n\n## Conference and talks\n\nFunctional 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))\n\n## Maven (and Gradle)\n\nYou must configure your `pom.xml` file using JCenter repository\n\n```xml\n\u003crepository\u003e\n    \u003cid\u003ecentral\u003c/id\u003e\n    \u003cname\u003ebintray\u003c/name\u003e\n    \u003curl\u003ehttp://jcenter.bintray.com\u003c/url\u003e\n\u003c/repository\u003e\n```\n\nThen you can use any funKTionale module to your library\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003eorg.funktionale\u003c/groupId\u003e\n    \u003cartifactId\u003efunktionale-all\u003c/artifactId\u003e\n    \u003cversion\u003e1.2\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n## How to contribute?\n\nRise your PR against Experimental module (`funktionale-experimental`). Once it gets approved I'll move it to a proper module \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarioariasc%2Ffunktionale","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarioariasc%2Ffunktionale","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarioariasc%2Ffunktionale/lists"}