Skip to content

Latest commit

 

History

History
33 lines (27 loc) · 2.03 KB

File metadata and controls

33 lines (27 loc) · 2.03 KB

Blink Language Specification

7 sections by domain experts. All blocking decisions resolved (5-0 unanimous). Compiler targets C backend.

Sections

  1. Philosophy — 7 principles, AI-first
  2. Syntax — fn, let, match, strings, keyword args, struct defaults, annotations
  3. Types — structs, enums, generics, traits, tuples 3b. Contracts — refinement types, contracts, verification, Query[C] 3c. Protocols — iterators, type conversions, numeric conversions, method resolution
  4. Effects — capabilities, handlers, concurrency, testing
  5. Memory/Compilation — GC, arenas, diagnostics
  6. Tooling — compiler daemon, LSP, formatter, package mgr
  7. Trust/Modules — FFI, modules, 15 annotations

Key decisions (detail in DECISIONS.md)

fn keyword|{ } braces|no semicolons|"double quotes" only|List[T] generics|keyword args (-- separator)|struct field defaults Result[T,E]+?|Option[T]+??|no null|no exceptions|no inheritance|Query[C] injection safety Effects ! IO,DB|fine-grained capabilities|green threads|structured concurrency|Closeable trait + with...as scoped resources Annotations standalone|15 types|canonical order in §11.1 of section 7

Rejected (detail in DECISIONS.md)

Ownership/lifetimes|gradual typing|null|exceptions|inheritance|implicit conversions Operator overloading|macros|significant whitespace|multiple string delimiters|optional keyword args (caller's choice)|mixed positional+keyword at call site Semicolons|structural typing|full dependent types|JIT|coarse effects|sigils|:= bindings|:: return|<> generics

Open (v2+ deferrals)

Information flow tracking (taint; Query[C] covers injection for v1)|row polymorphism|higher-kinded types

References