The compiler uses monomorphization to resolve generic types at compile time, so there's no runtime overhead. The type system supports structural typing, interfaces, and generics. It's still in alpha, but here's what's available so far:
GitHub: https://github.com/we-data-ch/typr
Binaries (Windows/Mac/Linux): https://github.com/we-data-ch/typr/releases
Online playground: https://we-data-ch.github.io/typr-playground.github.io/
VS Code extension with LSP: https://marketplace.visualstudio.com/items?itemName=wedata-c...
Docs (WIP): https://we-data-ch.github.io/typr.github.io/
Known limitations: the standard library is minimal so the user need to type some existing functions/variables with signatures, error messages need work, and the LSP is basic. Positron and Neovim support are in progress.
Would appreciate feedback on the type system design or ideas for use cases that would make this useful in practice.