{"id":19563344,"url":"https://github.com/jpvillaisaza/cain","last_synced_at":"2025-06-30T19:33:26.408Z","repository":{"id":147743491,"uuid":"23047968","full_name":"jpvillaisaza/cain","owner":"jpvillaisaza","description":"Category theory applied to functional programming (undergraduate project)","archived":false,"fork":false,"pushed_at":"2025-05-01T14:13:57.000Z","size":943,"stargazers_count":33,"open_issues_count":2,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-06-13T01:45:16.080Z","etag":null,"topics":["agda","category-theory","functional-programming","haskell"],"latest_commit_sha":null,"homepage":"https://jpvillaisaza.github.io/cain/cain.pdf","language":"TeX","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/jpvillaisaza.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,"zenodo":null}},"created_at":"2014-08-17T19:02:32.000Z","updated_at":"2025-06-10T21:53:03.000Z","dependencies_parsed_at":"2023-04-06T05:00:59.080Z","dependency_job_id":null,"html_url":"https://github.com/jpvillaisaza/cain","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/jpvillaisaza/cain","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpvillaisaza%2Fcain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpvillaisaza%2Fcain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpvillaisaza%2Fcain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpvillaisaza%2Fcain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jpvillaisaza","download_url":"https://codeload.github.com/jpvillaisaza/cain/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpvillaisaza%2Fcain/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262838568,"owners_count":23372553,"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":["agda","category-theory","functional-programming","haskell"],"created_at":"2024-11-11T05:17:27.042Z","updated_at":"2025-06-30T19:33:26.351Z","avatar_url":"https://github.com/jpvillaisaza.png","language":"TeX","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Category theory applied to functional programming\n\n## Abstract\n\nWe study some of the applications of category theory to functional\nprogramming, particularly in the context of the Haskell functional\nprogramming language, and the Agda dependently typed functional\nprogramming language and proof assistant. More specifically, we\ndescribe and explain the concepts of category theory needed for\nconceptualizing and better understanding algebraic data types and\nfolds, functors, monads, and parametrically polymorphic functions.\nWith this purpose, we give a detailed account of categories, functors\nand endofunctors, natural transformations, monads and Kleisli triples,\nalgebras and initial algebras over endofunctors, among others. In\naddition, we explore all of these concepts from the standpoints of\ncategories and programming in Haskell, and, in some cases, Agda. In\nother words, we examine functional programming through category\ntheory.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjpvillaisaza%2Fcain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjpvillaisaza%2Fcain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjpvillaisaza%2Fcain/lists"}