https://github.com/azdavis/hatsugen
A small programming language formally defined with a series of blog posts and Lean code.
https://github.com/azdavis/hatsugen
Last synced: about 2 months ago
JSON representation
A small programming language formally defined with a series of blog posts and Lean code.
- Host: GitHub
- URL: https://github.com/azdavis/hatsugen
- Owner: azdavis
- License: mit
- Created: 2021-03-27T08:32:22.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2023-04-28T23:42:12.000Z (about 2 years ago)
- Last Synced: 2025-01-28T03:29:26.665Z (4 months ago)
- Language: Lean
- Homepage: https://azdavis.net/posts/define-pl-01
- Size: 150 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Hatsugen (発言)
A small programming language formally defined with a series of blog posts and [Lean][] code.
The blog posts are available in English and Japanese. (I am not a native Japanese speaker but I tried my hand at translating.)
| Part | Title | en | ja |
| ---- | --------------------- | ---------- | ---------- |
| 1 | Integers and booleans | [en][1-en] | [ja][1-ja] |
| 2 | Functions | [en][2-en] | [ja][2-ja] |
| 3 | Product types | [en][3-en] | [ja][3-ja] |
| 4 | Sum types | [en][4-en] | [ja][4-ja] |## Note about the Lean version
This uses Lean 3.4.2, even though the 'latest' version as of writing is Lean 4. This is because the docs for Lean 4 seem even more scarce than the docs for Lean 3, and I couldn't figure out how to do some stuff. In general, although Lean 4 is clearly the future, it seems like it's not totally ready for prime time yet. I'm excited for the future though!
[lean]: https://leanprover.github.io
[1-en]: https://azdavis.net/posts/define-pl-01/
[2-en]: https://azdavis.net/posts/define-pl-02/
[3-en]: https://azdavis.net/posts/define-pl-03/
[4-en]: https://azdavis.net/posts/define-pl-04/
[1-ja]: https://azdavis.net/ja/posts/define-pl-01/
[2-ja]: https://azdavis.net/ja/posts/define-pl-02/
[3-ja]: https://azdavis.net/ja/posts/define-pl-03/
[4-ja]: https://azdavis.net/ja/posts/define-pl-04/