Giter Club home page Giter Club logo

ezno's Introduction

A JavaScript compiler and TypeScript checker written in Rust with a focus on static analysis and runtime performance.

Try the checker in Oxc today!

project lines of code

What Ezno is

  • A type checker for JavaScript, usable as a library or with optional compiler infrastructure (parser, CLI, LSP, etc)
  • Fully typed programs, guaranteeing type safety (as long as definitions are sound)
  • Types aimed at soundness and tracing for better static analysis
  • A imperative type system, with event tracing and evaluating function side effects. Equivalent to an interpreter, but with types rather than values.
  • A collection of experiments of types
  • Written in Rust

What Ezno is not

  • eNZo, Z goes before the N (pronounce as 'Fresno' without the 'fr') ๐Ÿ˜€
  • 1:1 / parity with TSC, it has different behaviors but should work in existing projects using TSC (check out stc that is aimed at 1:1)
  • A binary executable generator. It compiles JavaScript (or TS/Ezno superset) to JavaScript. The process is compiler rather than transpiler. Although you could use its event IR to generate a lower level format
  • Usable, still a long way to go to usability

Read some more detailed posts


This project is a workspace consisting of a few crates:

Crate Lines Of Code Contains
checker checker lines of code Stores for types and contexts, type checking logic and optional synthesis over the parser AST
parser parser lines of code AST definitions, logic for parsing, AST to string and visiting

Also checkout oxc_type_synthesis, a crate which allows using the type checker through oxc!

Experimental

This is an experimental compiler. If you are looking for a stable compiler, Ezno is not the right choice at the moment.

Help contribute

Check out issues and comment on discussions! Read CONTRIBUTING.md for more information.

ezno's People

Contributors

kaleidawave avatar jasikpark avatar addisoncrump avatar markthree avatar nathanbabcock avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.