https://github.com/jespercockx/agda-core
A work-in-progress core language for Agda, in Agda
https://github.com/jespercockx/agda-core
agda agda-backend core-language dependent-types type-checker
Last synced: 4 months ago
JSON representation
A work-in-progress core language for Agda, in Agda
- Host: GitHub
- URL: https://github.com/jespercockx/agda-core
- Owner: jespercockx
- License: unlicense
- Created: 2023-01-20T16:58:04.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2026-02-03T15:47:42.000Z (4 months ago)
- Last Synced: 2026-02-04T03:57:47.145Z (4 months ago)
- Topics: agda, agda-backend, core-language, dependent-types, type-checker
- Language: Agda
- Homepage:
- Size: 544 KB
- Stars: 64
- Watchers: 3
- Forks: 5
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Something is slowly growing here. It is still fragile so better not disturb it, but you may take a look if you'd like.
**What is this?** Agda Core is, as its name suggests, intended to be a core language for Agda.
**Why make a core language for Agda?** Because people whose opinion I value were asking for it. Also, implementing a new language from scratch is fun, so there's that.
**How is it implemented?** Agda Core is implemented in Agda, naturally. It consists of a well-scoped syntax, an environment-based evaluator, a formal definition of the typing and conversion rules, and a derivation-producing type checker.
**What can I use it for?** First of all, you can appreciate the beauty of the typing rules. Secondly, we plan to link Agda Core to the main Agda system as a backend, so you can double-check its results. Finally, this project is also intended to serve as a demonstration of how to implement a correct-by-construction type checker for dependent types.