LanguageEtudes
所属分类:编程语言基础
开发工具:OCaml
文件大小:0KB
下载次数:0
上传日期:2024-02-29 22:34:49
上 传 者:
sh-1993
说明: 编程语言的组件,全部在独立文件中实现
(Components of programming languages, all implemented in self-contained files)
文件列表:
ocaml/
scala/
.ocamlformat
.scalafmt.conf
# Language etudes
Repository accomodating a bunch of single-file typechecker/interpreter/compiler implementations.
## Table of contents
### Interpreters
| File | Description |
|------|-------------|
| [scala/nbe.sc](https://github.com/RiscInside/LanguageEtudes/blob/master/scala/nbe.sc) | Plain and CPS-transformed NbE lambda calculus interpreters in Scala, along with a performance comparison. Run with `scala-cli run nbe.sc -- 1000 5`. |
| [ocaml/nbe.ml](https://github.com/RiscInside/LanguageEtudes/blob/master/scala/nbe.sc) | NbE interpreters for LC in Ocaml. Run with `ocamlbuild ocaml/nbe.native --`. |
### Typecheckers
| File | Description |
|------|-------------|
| [scala/holes.sc](https://github.com/RiscInside/LanguageEtudes/blob/master/scala/holes.sc) | Basic typechecker for a bare bones dependently typed language using NbE. Based on [elaboration-zoo/03-holes](https://github.com/RiscInside/LanguageEtudes/blob/master/https://github.com/AndrasKovacs/elaboration-zoo/tree/master/03-holes). Has no frontend yet, but you can run some examples with `scala-cli run scala/holes.sc` |
## Resources
- [Elaboration Zoo](https://github.com/RiscInside/LanguageEtudes/blob/master/https://github.com/AndrasKovacs/elaboration-zoo)
- [Checking Dependent Types with Normalization by Evaluation: A Tutorial (Haskell Version)](https://github.com/RiscInside/LanguageEtudes/blob/master/https://davidchristiansen.dk/tutorials/implementing-types-hs.pdf)
近期下载者:
相关文件:
收藏者: