{"id":17691784,"url":"https://github.com/antalsz/coqc-expand-errors","last_synced_at":"2026-05-18T19:43:12.654Z","repository":{"id":94435148,"uuid":"154281923","full_name":"antalsz/coqc-expand-errors","owner":"antalsz","description":"Run `coqc` and print out colorized Coq error location information","archived":false,"fork":false,"pushed_at":"2018-10-24T19:08:56.000Z","size":342,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-06T04:11:18.122Z","etag":null,"topics":["coq","coqc","development"],"latest_commit_sha":null,"homepage":null,"language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/antalsz.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"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":"2018-10-23T07:25:47.000Z","updated_at":"2018-10-24T19:13:03.000Z","dependencies_parsed_at":"2023-05-18T00:31:09.579Z","dependency_job_id":null,"html_url":"https://github.com/antalsz/coqc-expand-errors","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antalsz%2Fcoqc-expand-errors","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antalsz%2Fcoqc-expand-errors/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antalsz%2Fcoqc-expand-errors/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antalsz%2Fcoqc-expand-errors/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/antalsz","download_url":"https://codeload.github.com/antalsz/coqc-expand-errors/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246390857,"owners_count":20769476,"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":["coq","coqc","development"],"created_at":"2024-10-24T12:42:06.324Z","updated_at":"2026-05-18T19:43:12.622Z","avatar_url":"https://github.com/antalsz.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# coqc-expand-errors\n\nHave you ever gotten frustrated while doing batch-mode Coq development because\nyou have no idea where the errors are coming from?  `coqc-expand-errors` aims to\naddress that.  If you replace `coqc` with `coqc-expand-errors coqc`, then [your\noutput will become][coqc-expand-errors output]\n\n```coq\nFile \"./triples.v\", line 3, characters 30-36:\nError:\nIn environment\nA : Type\nB : Type\nC : Type\ntriple : A * B * C\np : A * B\nthird : C\nfirst : A\nsecond : B\nThe term \"second\" has type \"B\" while it is expected to have type \"A\".\n\n  1: Definition fst3 {A B C} (triple : A * B * C) : A :=\n  2:   match triple with\n\u003e 3:   | (first, second, third) =\u003e second\n  4:   end.\n\nError found in the definition \"fst3\"\n\n```\n\nInstead of [the more traditional][coqc output]\n\n```coq\nFile \"./test.v\", line 3, characters 30-36:\nError:\nIn environment\nA : Type\nB : Type\nC : Type\ntriple : A * B * C\np : A * B\nthird : C\nfirst : A\nsecond : B\nThe term \"second\" has type \"B\" while it is expected to have type \"A\".\n\n```\n\nAnd it even does this with color!\n![The new coqc-expand-errors output compared to the old coqc output][coqc-expand-errors vs coqc]\n\n[coqc-expand-errors vs coqc]: README/new-vs-old-coqc-expand-errors-vs-coqc-outputs.png\n[coqc-expand-errors output]:  README/new-coqc-expand-errors-output.png\n[coqc output]:                README/old-coqc-output.png\n\nFor use with a Coq-generated `Makefile`, run your Makefile as either\n\n```shell\nmake COQC='coqc-expand-errors coqc'\n```\n\nor\n\n```shell\nCOQC='coqc-expand-errors coqc' make\n```\n\n--------------------------------------------------------------------------------\n\nBe warned: `coqc-expand-errors` is very much a best-effort tool.  It won’t\nproduce perfect output in all cases.  And I’m not devoting a lot of time to it.\nBut I hope you find it helpful!\n\n--------------------------------------------------------------------------------\n\nInstallation is using [Stack](https://www.haskellstack.org/) – download Stack,\nrun `stack install`, and make sure the installation directory is on your `PATH`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantalsz%2Fcoqc-expand-errors","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fantalsz%2Fcoqc-expand-errors","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantalsz%2Fcoqc-expand-errors/lists"}