diff --git a/README.md b/README.md index 2e513d3..3e0d7fa 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/package-lock.json b/package-lock.json index 6d7efb9..187833f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,14 +1,14 @@ { - "name": "@esolangs/type-unlambda", - "version": "0.2.2", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "typescript": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.2.tgz", - "integrity": "sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw==", - "dev": true + "name": "@esolangs/type-unlambda", + "version": "0.2.2", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "typescript": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.2.tgz", + "integrity": "sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw==", + "dev": true + } } - } }