{"id":16339115,"url":"https://github.com/phadej/free-applicative-agda","last_synced_at":"2026-02-09T15:03:27.601Z","repository":{"id":18653488,"uuid":"21860564","full_name":"phadej/free-applicative-agda","owner":"phadej","description":"Free applicatives in agda","archived":false,"fork":false,"pushed_at":"2014-12-23T11:05:50.000Z","size":152,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-27T04:09:11.813Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Agda","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/phadej.png","metadata":{"files":{"readme":"README.agda","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":"2014-07-15T13:27:17.000Z","updated_at":"2017-06-01T12:56:37.000Z","dependencies_parsed_at":"2022-08-05T00:16:18.790Z","dependency_job_id":null,"html_url":"https://github.com/phadej/free-applicative-agda","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/phadej%2Ffree-applicative-agda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phadej%2Ffree-applicative-agda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phadej%2Ffree-applicative-agda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phadej%2Ffree-applicative-agda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phadej","download_url":"https://codeload.github.com/phadej/free-applicative-agda/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239412471,"owners_count":19634016,"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-10T23:53:30.826Z","updated_at":"2026-02-09T15:03:27.568Z","avatar_url":"https://github.com/phadej.png","language":"Agda","funding_links":[],"categories":[],"sub_categories":[],"readme":"module README where\n\n-- Free applicatives and related\n\n-- Defined as in Haskell's free package\n--\n-- Harder to define in Agda\n-- Easier to reason about, if you want to prove some facts\nimport Free\n\n-- More dynamic languages like definition\n--\n-- Applicative functor is functor from monoidal category to another together\n-- with natural transformation η (pure) and morphism φ : F A × F B → F (A × B)\n--\n-- As product (×) is monoid operation, it is natural to \"remember\" φ using\n-- free monoid structure, i.e. list.\n--\n-- Though in this case we need heterogenous list, it is easy with dependent types.\n--\n-- Not requiring F to be functor itself, is quite natural.  We use similar\n-- construction as with Coyoneda.  We could use the fact F is a functor, but\n-- using this fact will only make implementation more complex.\n--\n--\n-- Definition is very natural after machinery is introduced\n-- Yet proving anything (e.g. interchange or composition law) about this variant\n-- is tedious\nimport Monoidal\n\n-- Which is (kind of) extension of Coyoneda from kan-extensions package\nimport Coyoneda\n\n-- And we are using own definition of well-founded recursion in Free module\n-- More universe polymorphism, we can define recursive functions using measures\n-- IMHO more flexible than sized-types.\nimport WellFounded\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphadej%2Ffree-applicative-agda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphadej%2Ffree-applicative-agda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphadej%2Ffree-applicative-agda/lists"}