{"id":20078371,"url":"https://github.com/rajasharan/java8-easy-monads","last_synced_at":"2025-06-11T15:07:57.124Z","repository":{"id":141631654,"uuid":"80495227","full_name":"rajasharan/java8-easy-monads","owner":"rajasharan","description":"Simple Monad implementations for java 8","archived":false,"fork":false,"pushed_at":"2017-02-19T10:42:19.000Z","size":69,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-13T01:09:55.936Z","etag":null,"topics":["easy-monads","either-monad","java-8","java8","monad","monads","reader-monad","writer-monad"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rajasharan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-31T05:51:13.000Z","updated_at":"2022-08-21T06:43:14.000Z","dependencies_parsed_at":"2023-03-13T10:30:49.990Z","dependency_job_id":null,"html_url":"https://github.com/rajasharan/java8-easy-monads","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rajasharan%2Fjava8-easy-monads","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rajasharan%2Fjava8-easy-monads/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rajasharan%2Fjava8-easy-monads/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rajasharan%2Fjava8-easy-monads/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rajasharan","download_url":"https://codeload.github.com/rajasharan/java8-easy-monads/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241509658,"owners_count":19974071,"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":["easy-monads","either-monad","java-8","java8","monad","monads","reader-monad","writer-monad"],"created_at":"2024-11-13T15:14:11.057Z","updated_at":"2025-03-02T13:14:07.596Z","avatar_url":"https://github.com/rajasharan.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Easy Monads in Java 8\nThe purpose of this project is to teach myself about Monads and Functors. \nAnd the best way to teach myself was by implementing some of the commonly used monads and functors.\nAs a starting step my goal is to implement `map` and `flatMap` for each monad as well as show some good usage examples.\nI'm still undecided on implementing `ap` for Applicatives but if I find a very good example to showcase then I plan to do it.\nThe examples also try to show composing monads via chaining them as method calls.\n\nThe following monads are implemented so far:\n* [Either Monad](/core/src/main/java/com/easy/monads/Either.java)\n* [Writer Monad](/core/src/main/java/com/easy/monads/Writer.java)\n* [Reader Monad](/core/src/main/java/com/easy/monads/Reader.java)\n* WIP: State Monad\n\n#### Example Usages\n* [Either Monad Examples](/examples/src/main/java/com/easy/monads/examples/EitherExamples.java)\n* [Writer Monad Examples](/examples/src/main/java/com/easy/monads/examples/WriterExamples.java)\n* [Reader Monad Examples](/examples/src/main/java/com/easy/monads/examples/ReaderExamples.java)\n\n## How to add dependency\n```\nrepositories {\n    jcenter()\n    maven { url \"https://jitpack.io\" }\n}\n\ndependencies {\n    compile 'com.github.rajasharan:java8-easy-monads:master-SNAPSHOT'\n}\n```\n\n## Run examples locally\n```sh\n$ ./gradlew :examples:run\n...\n```\n\n### [LICENSE](/LICENSE)\nThe MIT License (MIT)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frajasharan%2Fjava8-easy-monads","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frajasharan%2Fjava8-easy-monads","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frajasharan%2Fjava8-easy-monads/lists"}