{"id":13828115,"url":"https://github.com/munusphp/munus","last_synced_at":"2026-01-16T00:32:51.999Z","repository":{"id":35425142,"uuid":"217350491","full_name":"munusphp/munus","owner":"munusphp","description":"Power of object-oriented programming with the elegance of functional programming in PHP.","archived":false,"fork":false,"pushed_at":"2024-12-08T18:00:52.000Z","size":527,"stargazers_count":168,"open_issues_count":2,"forks_count":12,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-11-01T08:16:07.846Z","etag":null,"topics":["functional-programming","hacktoberfest","immutable-collections","immutable-objects","object-functional","php","stream"],"latest_commit_sha":null,"homepage":"https://munusphp.github.io/","language":"PHP","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/munusphp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2019-10-24T17:01:26.000Z","updated_at":"2025-09-17T22:08:34.000Z","dependencies_parsed_at":"2024-01-08T21:50:53.653Z","dependency_job_id":"937c6f60-eed6-41fb-9e82-3c98ed9e524c","html_url":"https://github.com/munusphp/munus","commit_stats":{"total_commits":97,"total_committers":6,"mean_commits":"16.166666666666668","dds":"0.061855670103092786","last_synced_commit":"1c866a3e674f0bcd7bd02b60486741725c72ac4b"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/munusphp/munus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/munusphp%2Fmunus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/munusphp%2Fmunus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/munusphp%2Fmunus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/munusphp%2Fmunus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/munusphp","download_url":"https://codeload.github.com/munusphp/munus/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/munusphp%2Fmunus/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28421218,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T13:30:50.153Z","status":"ssl_error","status_checked_at":"2026-01-14T13:29:08.907Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","hacktoberfest","immutable-collections","immutable-objects","object-functional","php","stream"],"created_at":"2024-08-04T09:02:32.821Z","updated_at":"2026-01-16T00:32:51.983Z","avatar_url":"https://github.com/munusphp.png","language":"PHP","readme":"# Munus\n\n[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%208.1-8892BF.svg)](https://php.net/)\n[![github action](https://github.com/munusphp/munus/workflows/build/badge.svg)](https://github.com/munusphp/munus/actions?query=workflow%3Abuild)\n[![Latest Stable Version](https://poser.pugx.org/munusphp/munus/v/stable?format=flat)](https://packagist.org/packages/munusphp/munus)\n[![codecov](https://codecov.io/gh/munusphp/munus/branch/master/graph/badge.svg)](https://codecov.io/gh/munusphp/munus)\n[![Total Downloads](https://poser.pugx.org/munusphp/munus/downloads?format=flat)](https://packagist.org/packages/munusphp/munus)\n![GitHub](https://img.shields.io/github/license/munusphp/munus)\n\nPower of object-oriented programming with the elegance of functional programming.\nIncrease the robustness with reduced amount of code.\n\nAt the moment, in the experimental phase.\n\n**[Documentation](https://munusphp.github.io/docs/start)**\n\nDue to the lack of generic types, Munus achieves genericity with the help of [PHPStan](https://phpstan.org/blog/generics-in-php-using-phpdocs) `template` annotation.\n\nStream example: find the sum of the first ten squares of even numbers\n```php\nStream::from(1)\n    -\u003efilter(fn($n) =\u003e $n%2===0)\n    -\u003emap(fn($n) =\u003e $n**2)\n    -\u003etake(10)\n    -\u003esum();\n```\n\nOther examples:\n```php\n/** @var Stream\u003cint\u003e $stream */\n$stream = Stream::range(1, 10)-\u003emap(function(int $int): int {return $int * 5});\n\n/** @var Option\u003cSuccess\u003e $option */\n$option = Option::of(domainOperation());\n\n/** @return Either\u003cFailure,Success\u003e */\nfunction domainOperation(): Either {}\n\n/** @var TryTo\u003cResult\u003e $result */\n$result = TryTo::run(function(){throw new \\DomainException('use ddd');});\n$result-\u003egetOrElse(new Result())\n```\n\nThe goal is to help achieve:\n**Psalm was able to infer types for 100% of the codebase**\n\n### Features\n\n**Values:**\n - TryTo\n - Either\n - Option\n - Lazy\n\n**Collections:**\n - Set\n - Stream (implemented as lazy linked list)\n - GenericList (implemented as immutable linked list)\n - Iterator\n\n**Other:**\n - Tuple\n\n### Roadmap\n\n - Pattern matching\n - Property checking\n\n\n## Inspiration\n\nThis library is inspired by [vavr.io](https://www.vavr.io/)\n\n## License\n\nMunus is released under the MIT Licence. See the bundled LICENSE file for details.\n\n## Author\n\n[@ArkadiuszKondas](https://twitter.com/ArkadiuszKondas)\n","funding_links":[],"categories":["PHP"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmunusphp%2Fmunus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmunusphp%2Fmunus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmunusphp%2Fmunus/lists"}