2024-02-07 17:28:18 +03:00
|
|
|
{
|
2024-02-08 19:47:38 +03:00
|
|
|
"name": "kind2",
|
2024-02-07 17:28:18 +03:00
|
|
|
"version": "0.1.0",
|
|
|
|
"description": "",
|
giving up on bootstrapping due to parser perf
initially, I wanted Kind2 to be bootstrapped, but I'm facing
difficulties, because pure hvm parser is still much slower than the
typescript parser; a few seconds vs instant to parse the entire
codebase. I think HVM2 will need to have proper immutable strings (i.e.,
nodes that expand as if they were cons-strings, but are stored as
buffers) before it can have fast parsers. as such, I'm making the
decision to NOT bootstrap it now. that is a tough decision becase,
honestly, if we don't do it as soon as possible in the development
process, it is very unlikely we'll ever do it. but the tech isn't ready
for it, and we need to move forward, so, that's the only solution.
as such, I'll be rewritting the typescript to Rust, and we'll have a
very similar design to former Kind2, with Rust doing the parsing, IO and
error reporting, and a checker.hvm1 / checker.hvm2 file doing the actual
type-checking (and HOAS-based type-level evaluation).
also, I believe we'll not even generate .hvm from a .kind bootstrap.
while losing types is significant, being able to manually edit the HVM
is very helpful to debugging, it simplifies and accelerates the
development process and removes many complications that are bought by
bootstrapping
2024-02-23 20:28:04 +03:00
|
|
|
"main": "kind2.ts",
|
2024-02-07 17:28:18 +03:00
|
|
|
"bin": {
|
giving up on bootstrapping due to parser perf
initially, I wanted Kind2 to be bootstrapped, but I'm facing
difficulties, because pure hvm parser is still much slower than the
typescript parser; a few seconds vs instant to parse the entire
codebase. I think HVM2 will need to have proper immutable strings (i.e.,
nodes that expand as if they were cons-strings, but are stored as
buffers) before it can have fast parsers. as such, I'm making the
decision to NOT bootstrap it now. that is a tough decision becase,
honestly, if we don't do it as soon as possible in the development
process, it is very unlikely we'll ever do it. but the tech isn't ready
for it, and we need to move forward, so, that's the only solution.
as such, I'll be rewritting the typescript to Rust, and we'll have a
very similar design to former Kind2, with Rust doing the parsing, IO and
error reporting, and a checker.hvm1 / checker.hvm2 file doing the actual
type-checking (and HOAS-based type-level evaluation).
also, I believe we'll not even generate .hvm from a .kind bootstrap.
while losing types is significant, being able to manually edit the HVM
is very helpful to debugging, it simplifies and accelerates the
development process and removes many complications that are bought by
bootstrapping
2024-02-23 20:28:04 +03:00
|
|
|
"kind2": "./kind2.ts"
|
2024-02-07 17:28:18 +03:00
|
|
|
},
|
|
|
|
"scripts": {
|
|
|
|
"test": "echo \"Error: no test specified\" && exit 1"
|
|
|
|
},
|
|
|
|
"repository": {
|
|
|
|
"type": "git",
|
2024-02-08 19:47:38 +03:00
|
|
|
"url": "git+https://github.com/victortaelin/kind2.git"
|
2024-02-07 17:28:18 +03:00
|
|
|
},
|
|
|
|
"author": "VictorTaelin",
|
|
|
|
"license": "MIT",
|
|
|
|
"bugs": {
|
2024-02-08 19:47:38 +03:00
|
|
|
"url": "https://github.com/victortaelin/kind2/issues"
|
2024-02-07 17:28:18 +03:00
|
|
|
},
|
2024-02-08 19:47:38 +03:00
|
|
|
"homepage": "https://github.com/victortaelin/kind2#readme"
|
2024-02-07 17:28:18 +03:00
|
|
|
}
|