{"id":31942106,"url":"https://github.com/effectfully/inference-in-agda","last_synced_at":"2025-10-14T09:26:02.100Z","repository":{"id":56664927,"uuid":"262798563","full_name":"effectfully/inference-in-agda","owner":"effectfully","description":"A tutorial on how Agda infers things","archived":false,"fork":false,"pushed_at":"2025-07-10T17:42:35.000Z","size":222,"stargazers_count":58,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-10T23:50:20.128Z","etag":null,"topics":["agda"],"latest_commit_sha":null,"homepage":"https://raw.githack.com/effectfully/inference-in-agda/master/InferenceInAgda.html","language":"HTML","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/effectfully.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}},"created_at":"2020-05-10T13:56:14.000Z","updated_at":"2025-07-10T17:42:39.000Z","dependencies_parsed_at":"2022-08-15T22:50:52.945Z","dependency_job_id":null,"html_url":"https://github.com/effectfully/inference-in-agda","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/effectfully/inference-in-agda","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/effectfully%2Finference-in-agda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/effectfully%2Finference-in-agda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/effectfully%2Finference-in-agda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/effectfully%2Finference-in-agda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/effectfully","download_url":"https://codeload.github.com/effectfully/inference-in-agda/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/effectfully%2Finference-in-agda/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279018622,"owners_count":26086404,"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","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["agda"],"created_at":"2025-10-14T09:25:57.953Z","updated_at":"2025-10-14T09:26:02.094Z","avatar_url":"https://github.com/effectfully.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Inference in Agda\n\nThis is a tutorial on how Agda infers things.\n\n## How to read\n\nThere are two ways to read the tutorial:\n\n1. [click this link](https://raw.githack.com/effectfully/inference-in-agda/master/InferenceInAgda.html) to read the rendered HTML. Simple and sufficient, if you only want to read and not play with the code or contribute\n2. if you do want to play with the code, then install Agda, clone the repo, open the `InferenceInAgda.lagda.md` file, type check it and only then read\n\n**IMPORTANT**: reading `InferenceInAgda.lagda.md` without type checking the file beforehand is a non-option as making Agda color the code is important for understanding how things get type checked. Hence reading `InferenceInAgda.lagda.md` directly on GitHub is a non-option as well as GitHub's syntax highlighting is insufficient and the file has to actually be type checked.\n\n## Contributing\n\nBuilding the HTML is a bit of a PITA as it requires several tools to be installed and several commands to be executed. So if you're going to create a PR, don't bother updating the HTML file, I'll do that myself.\n\n### Building the HTML\n\n#### Prerequisites\n\n1. install [`agda`](https://github.com/agda/agda) and its [standard library](https://github.com/agda/agda-stdlib)\n2. install [`htmlize`](https://github.com/hniksic/emacs-htmlize) for `emacs`. For example via `(use-package htmlize :ensure t)`\n3. install [`agda-html-to-md`](https://github.com/effectfully/agda-html-to-md)\n4. install [`pandoc`](https://pandoc.org/installing.html)\n5. add this to your `.emacs.d` file:\n\n```elisp\n(global-set-key (kbd \"C-x a h\") 'htmlize-buffer)\n(fset 'generate-inference-in-agda-html\n  [?\\C-x ?h ?\\C-u ?\\M-| ?a ?g ?d ?a ?- ?h ?t ?m ?l ?- ?t ?o ?- ?m ?d return ?\\C-x ?h ?\\M-| ?p ?a ?n ?d ?o ?c ?  ?- ?- ?t ?o ?c ?  ?- ?s ?  ?- ?o ?  ?I ?n ?f ?e ?r ?e ?n ?c ?e ?I ?n ?A ?g ?d ?a ?. ?h ?t ?m ?l return])\n(global-set-key (kbd \"C-x a i\") 'generate-inference-in-agda-html)\n```\n\n#### Generating the HTML\n\n**IMPORTANT**: wait for each command to finish.\n\n1. open `InferenceInAgda.lagda.md` in emacs\n2. `C-c C-l` (type check the file)\n3. `C-x a h` (initial htmlization of the buffer)\n4. `C-x a i` (generate the final `InferenceInAgda.html` file)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feffectfully%2Finference-in-agda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feffectfully%2Finference-in-agda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feffectfully%2Finference-in-agda/lists"}