9 releases
new 0.0.8 | Mar 21, 2023 |
---|---|
0.0.7 | Mar 21, 2023 |
0.0.1 | Feb 26, 2023 |
0.0.0 | Jan 24, 2022 |
#71 in Programming languages
161 downloads per month
490KB
14K
SLoC
A JavaScript compiler and TypeScript checker written in Rust with a focus on static analysis and runtime performance.
This project is a workspace consisting of a few crates:
Crate | Lines Of Code |
Description |
---|---|---|
parser | Contains AST definitions, logic for parsing and serializing, and visiting |
Read some more detailed posts
Experimental
This is an experimental compiler. If you are looking for a stable compiler, Ezno is not the right choice at the moment.
Type checking
Ezno is a type checker based on TypeScript type annotations.
Features
- Declare interfaces and other type definitions
- Usage checking: property access, function parameters etc
- Effects that track mutations across functions
- Parameter constraint inference
- Powerful dependent type system
Differences to checking TSC
- The
any
type has no properties on it - Type annotations on variables are the reassignment constraint, not it's current value. Current value is inferred and is mutable
- ...
ultimately the differences shouldn't break existing code and in any case pick up more errors than TSC
Help contribute
Check out issues. Comment on discussions.
Dependencies
~1.5–6.5MB
~111K SLoC