Skip to content

Repository files navigation

Adept3x

Work-in-progress compiler that will become Adept 3.x

func main {
    println("Hello World")
}

Why Adept 3.x?

Adept 3.x is an attempt at creating a Next-Gen Programming Language.

It will have a comprehensive set of features that no other language fully offers:

  • Easily Run Code at Compile-Time (no function annotations or separate file requirements)
  • Easily Generate Arbitrary Functions, Structures, etc. at Compile-Time (even within same file - no ordering/annotation requirements)
  • Easily Reference Values Safely with Borrow Checking & Move Semantics
  • Easily Manage Data Variants with Pattern Matching & Sum Types
  • Consider Goto Unharmful, Since They Are Safe and Structured in Adept
  • Import C Headers and Source Files with First-Class Support
  • Easily Cross-Compile to Other Platforms
  • Compile Your Code Blazingly Fast (with or without Incrementatal Compilation)
  • Receive Intelligent Language Server Completions/etc. even for Generated Symbols

Thank you for sponsoring Adept ❤️

  • Spoiledpay

Roadmap

Start Date Feature Time Budget
... Proof of Concept
2024-08-14 Type Aliases
2024-09-01 Pointer Operators and Destinations
2024-09-14 Simple Type Casting
2024-10-01 Modules and Namespaces
2024-11-01 Generics
2024-11-01 - Milestone 0 -
2024-12-01 Built-in Traits
2024-01-27 User-Defined Traits
2025-01-27 User-Defined Trait Implementations
2025-01-30 Standard Type Casting Trait
2025-03-30 C Expressions Support (Group 1)
2025-04-15 C Statements Support (Group 1)
2025-09-15 New Compilation System 2nd Iteration
2025-10-15 Conditional Compilation
2025-11-01 Arbitrary Compile-Time Evaluation
2025-11-01 - Milestone 1 -
2025-11-21 Incremental Compilation Architecture
2025-12-01 Incremental Parser POC
2025-12-07 Background Compilation Daemon POC
2025-12-14 Language Server Integration POC
2026-01-21 Better Import System Design
2026-01-28 Syntax Redesign for Dependent Types
2026-01-31 Language Server Incremental Parser
2026-03-31 Integrate Compilation into Daemon
2026-05-01 Dependent-Types Codegen Design
2026-05-10 Algebraic Effects Codegen Design
2026-05-17 Dependent-Types Codegen POC 30 days
2026-06-17 Algebraic Effect Codegen POC 15 days
2026-07-31 - Milestone 2 -
2026-07-31 LLVM for Dependent Function Types 30 days
2026-08-31 LLVM for Dependent Record Types 30 days
2026-09-31 LLVM for Algebraic Effects 30 days
2026-10-31 - Milestone 3 -
2026-10-31 Implement Abstract Modules/Interfaces 60 days
2026-12-31 - Milestone 4 -
2026-12-31 Mini Standard Library 14 days
2026-12-14 Pattern Matching 60 days
2027-02-14 - Milestone 5 -
2027-02-14 C Expressions Support (Group 2) 60 days
2027-06-14 C Constructs Support (Group 2) 30 days
2027-07-14 - Milestone 6 -
2027-07-14 Async I/O w/ Algebraic Effects Demo 30 days
2027-08-14 - Milestone 7 -
2027-08-14 Borrow Checking, RAII, Origins 90 days
2027-11-14 - Milestone 8 -

About

A language designed to help maximize developer productivity and safety

Resources

Stars

8 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages