kaleidawave / ezno

A JavaScript compiler and TypeScript checker written in Rust with a focus on static analysis and runtime performance
https://kaleidawave.github.io/posts/introducing-ezno/
MIT License
2.3k stars 42 forks source link

Add cache back in, for-in and many other improvements #110

Closed kaleidawave closed 4 months ago

kaleidawave commented 5 months ago

Now passes 180 specification tests 🎉

kaleidawave commented 5 months ago

Currently doing some research in contravariance and covariance with respect to explicit generics. Not impossible but generics and structural type systems don't mix nice. Especially as my implementation tries to collect generics at the same time as subtyping of arguments against parameters (rather than two passes). We will get there!

kaleidawave commented 4 months ago

https://www.youtube.com/watch?v=fKMwsRUwWzI

image

kaleidawave commented 4 months ago

Just seen the date and diff count of this PR. Still lots to do but to prevent this dragging on forever (it was originally just to add the cache back), will merge now and open issues for the leftovers.