Skip to content

A statically typed language influenced by Rust and Typescript

Notifications You must be signed in to change notification settings

eckertliam/nebula

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nebula

🚧 WIP 🚧

Nebula is a learning project I am working on. Nebula is a programming language influenced by Rust and TypeScript. It is a statically typed, compiled language, with a syntax similar to Rust. Where Nebula differs from Rust is in its memory management model. Nebula will use a runtime garbage collector. This allows for a more flexible and expressive language without a borrow checker stepping in the way.

Roadmap

This is a rough roadmap of the features I want to implement in Nebula.

  • Give the AST full parser coverage:
    • Comments
    • Arithmetic expressions
    • Logical expressions
    • Comparison expressions
    • Assignment expressions
    • Function calls
    • Struct literals
    • Enum literals
    • Block expressions
    • Control flow
    • Function declarations
    • Variable declarations (const and let)
    • Type declarations
    • Struct declarations
    • Enum declarations
    • Trait declarations
    • Impl blocks
    • Export statements
    • Import statements
  • Implement NIR (Nebula Intermediate Representation)
  • Implement transformation from AST to NIR
  • Implement type checking
  • Implement optimization passes
  • Implement code generation
  • Implement runtime garbage collector
  • Implement runtime
  • Implement standard library
  • Implement build system
  • Implement package manager?

About

A statically typed language influenced by Rust and Typescript

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages