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) [![MIT License][]](LICENSE)
@ -37,8 +37,9 @@ type-unlambda:
To write loops in TypeScript's type system, we have to use recursions, 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 like we do in other purely functional programming languages. Meanwhile, we use
[CPS][] to implement continuations, which also introduces heavy recursion. [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 In [src/compiler/checker.ts][TSC checker], there is a hard-coded limit for
type instantiation: 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 [MIT License]: https://img.shields.io/badge/license-MIT-blue.svg
[Unlambda]: http://www.madore.org/~david/programs/unlambda/ [Unlambda]: http://www.madore.org/~david/programs/unlambda/
[CPS]: https://en.wikipedia.org/wiki/Continuation-passing_style/ [CPS]: https://en.wikipedia.org/wiki/Continuation-passing_style/
[Tail Call]: https://en.wikipedia.org/wiki/Tail_call/
[TSC checker]: [TSC checker]:
https://github.com/microsoft/TypeScript/blob/v4.1.2/src/compiler/checker.ts https://github.com/microsoft/TypeScript/blob/v4.1.2/src/compiler/checker.ts
[PR 29602]: https://github.com/microsoft/TypeScript/pull/29602 [PR 29602]: https://github.com/microsoft/TypeScript/pull/29602

22
package-lock.json generated
View File

@ -1,14 +1,14 @@
{ {
"name": "@esolangs/type-unlambda", "name": "@esolangs/type-unlambda",
"version": "0.2.2", "version": "0.2.2",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {
"typescript": { "typescript": {
"version": "4.3.2", "version": "4.3.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.2.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.2.tgz",
"integrity": "sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw==", "integrity": "sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw==",
"dev": true "dev": true
}
} }
}
} }