{"id":16678058,"url":"https://github.com/johnynek/unuhi","last_synced_at":"2025-04-09T21:31:28.727Z","repository":{"id":66746784,"uuid":"146127599","full_name":"johnynek/unuhi","owner":"johnynek","description":null,"archived":false,"fork":false,"pushed_at":"2018-09-05T02:24:11.000Z","size":43,"stargazers_count":10,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-23T23:26:02.406Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Scala","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/johnynek.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-25T20:29:33.000Z","updated_at":"2024-03-22T17:45:09.000Z","dependencies_parsed_at":"2023-03-08T12:30:50.009Z","dependency_job_id":null,"html_url":"https://github.com/johnynek/unuhi","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/johnynek%2Funuhi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnynek%2Funuhi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnynek%2Funuhi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnynek%2Funuhi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnynek","download_url":"https://codeload.github.com/johnynek/unuhi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248114684,"owners_count":21050087,"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":[],"created_at":"2024-10-12T13:28:16.201Z","updated_at":"2025-04-09T21:31:28.702Z","avatar_url":"https://github.com/johnynek.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# unuhi\n\nParsing Typeclasses for cats and scala (this could potentially graduate into a cats-parsing project). This is at a very early stage and has yet to publish any artifacts.\n\nThe main goals are:\n\n1. define ParserA an Alternative with Delay with some additional text parsing functions very similar to [Haskell's Text.Parser.Parsing](https://hackage.haskell.org/package/parsers-0.12.9/docs/Text-Parser-Combinators.html#g:2) typeclass.\n2. define ParserM a Monad with ParserA for monadic parsing.\n3. write some reusable laws for these typeclasses\n4. write instances of these typeclasses for commonly used scala parsing libraries\n5. give an internal implementations as examples.\n6. provide some example parsers using only the typeclass which are suitable for running with any instance (e.g. Json example).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnynek%2Funuhi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnynek%2Funuhi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnynek%2Funuhi/lists"}