Update README.
This commit is contained in:
parent
7a61760344
commit
ecbdb92fe9
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue