Update README.

This commit is contained in:
CismonX 2021-06-07 03:41:45 +08:00
parent 7a61760344
commit ecbdb92fe9
Signed by: cismonx
GPG Key ID: 3094873E29A482FB
2 changed files with 16 additions and 14 deletions

View File

@ -1,4 +1,4 @@
# README
# type-unlambda
[![MIT License][]](LICENSE)
@ -37,8 +37,9 @@ type-unlambda:
To write loops in TypeScript's type system, we have to use recursions,
like we do in other purely functional programming languages. Meanwhile, we use
[CPS][] to implement continuations, which also introduces heavy recursion.
However, TypeScript's type system is not meant for general purpose programming,
and recursion has its limits.
However, TypeScript's type system is not meant for general purpose programming.
There is no [TCE][Tail Call], and recursion has its limits.
In [src/compiler/checker.ts][TSC checker], there is a hard-coded limit for
type instantiation:
@ -64,6 +65,7 @@ in `node_modules`, until the error no longer applies. Changing
[MIT License]: https://img.shields.io/badge/license-MIT-blue.svg
[Unlambda]: http://www.madore.org/~david/programs/unlambda/
[CPS]: https://en.wikipedia.org/wiki/Continuation-passing_style/
[Tail Call]: https://en.wikipedia.org/wiki/Tail_call/
[TSC checker]:
https://github.com/microsoft/TypeScript/blob/v4.1.2/src/compiler/checker.ts
[PR 29602]: https://github.com/microsoft/TypeScript/pull/29602