👋 Welcome to r/luckyLang - Introduce Yourself and Read First!
Lucky is a programming language derived from Go, aimed at high-performance applications, games, cross-platform GUIs and private AI. It keeps Go's syntax, modules and cross-compilation, and replaces the garbage collector with ownership, regions and explicit deallocation, checked statically wherever possible.
>Status: pre-alpha. The language, runtime and SDK are not implemented yet. This repository currently holds the reproducible upstream baseline the work starts from (task LUCKY-001). The goals below are design commitments, not features you can use today.
Goals
- No garbage collector, in any profile. Lucky programs, the runtime and bundled libraries contain no tracing or cycle collector. There is no GC fallback, hybrid runtime or legacy GC mode.
- Go compatibility under that rule. .go files keep Go's grammar, and .lk files (proposed) enable the Lucky edition. Each dependency is certified, covered by verified contracts, ported without GC, or rejected with a diagnostic.
- Memory control in the language. Single owners and borrows, regions, generational handles, explicit allocators, stack and allocation contracts, and predictable layout for FFI and GPU.
- Expressive types. Enums with payloads and exhaustive matching, and Result with ? propagation alongside Go's (T, error).
- Controllable concurrency. async/await and goroutines, with native, hosted and freestanding runtime profiles.
- Games, GUI and AI. Data-oriented design (SoA, ECS), a GUI built on Fyne for desktop, mobile and the browser (WebGL), and tacScript, built on TAC Lang, for typed private-AI workflows.
Foundations
|Component|Upstream|Pinned version|
|:-|:-|:-|
|Compiler, runtime and tools|golang/go|go1.27.3|
|GUI|fyne-io/fyne|v2.8.2|
|tacScript|TacFlow/tac-language|v0.5.0|
|Design reference for ownership, types and async|rust-lang/rust|1.99.1 (reference only)|
Thanks for being part of the very first wave. Together, let's make r/luckyLang amazing.
Mentions
👋 Welcome to r/luckyLang - Introduce Yourself and Read First! Lucky is a programming language derived from Go, aimed at high-performance applications, games, cross-platform GUIs and private AI. It keeps Go's syntax, modules and cross-compilation, and replaces the garbage collector with ownership, regions and explicit deallocation, checked statically wherever possible. >Status: pre-alpha. The language, runtime and SDK are not implemented yet. This repository currently holds the reproducible upstream baseline the work starts from (task LUCKY-001). The goals below are design commitments, not features you can use today. Goals - No garbage collector, in any profile. Lucky programs, the runtime and bundled libraries contain no tracing or cycle collector. There is no GC fallback, hybrid runtime or legacy GC mode. - Go compatibility under that rule. .go files keep Go's grammar, and .lk files (proposed) enable the Lucky edition. Each dependency is certified, covered by verified contracts, ported without GC, or rejected with a diagnostic. - Memory control in the language. Single owners and borrows, regions, generational handles, explicit allocators, stack and allocation contracts, and predictable layout for FFI and GPU. - Expressive types. Enums with payloads and exhaustive matching, and Result with ? propagation alongside Go's (T, error). - Controllable concurrency. async/await and goroutines, with native, hosted and freestanding runtime profiles. - Games, GUI and AI. Data-oriented design (SoA, ECS), a GUI built on Fyne for desktop, mobile and the browser (WebGL), and tacScript, built on TAC Lang, for typed private-AI workflows. Foundations |Component|Upstream|Pinned version| |:-|:-|:-| |Compiler, runtime and tools|golang/go|go1.27.3| |GUI|fyne-io/fyne|v2.8.2| |tacScript|TacFlow/tac-language|v0.5.0| |Design reference for ownership, types and async|rust-lang/rust|1.99.1 (reference only)| Thanks for being part of the very first wave. Together, let's make r/luckyLang amazing.