Skip to content

chadc1050/Hermes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

Hermes aims to be a drop in replacement and extension for JS to allow for seamless opt in for WASM targeting. It will be a super set of JS, with additional opt in features to improve performance. With Hermes, you will be able to take any existing JS package and easily compile it with minimal overhead. The benefit of this is ultimatley that the developer will be able to access the existing massive ecosystem of JS packages, whilst being able to write JS interopable code.

Roadmap

Emulated JS Compiler

  1. AST Lowering
    • Reader
    • Lexer
    • Parser
  2. HLIR Lowering
    • Structural Type Inferencing and Checking
  3. MLIR Lowering
  4. LLVM Lowering
    • CodeGen

Feature Enhanced Compiler

  • Traits
  • Explicit References
  • Structural Type Inferencing

StdLib

  • JS Interpreter Runtime Standard Library Compatibility
    • NodeJS
    • BunJS
    • Deno
    • Just
    • Txiki
    • Napa
    • Elsa
    • Window
    • Additional Features

Built-In Testing Library

  • Syntactic similarity to Jest

Package Manager

  • API Compatibility with existing JS Package Managers (NPM, Yarn, ect...)
  • API for accessing Hermes-first packages

Toolchain Extensions

  • Conversion tool (TS -> JS -> Hermes)

Documentation

Links

WASM

Javascript

LLVM

About

Javascript Superset Targeting WASM Compilation

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Languages