Hasty Briefsbeta

I'm working on implementing a programming language all my own

14 days ago
  • #functional-programming
  • #Baba-Yaga
  • #programming-languages
  • Author is developing a personal programming language named Baba Yaga, inspired by functional programming concepts.
  • Baba Yaga emphasizes immutability, functional-first approach, minimal syntax, and includes some built-in utilities.
  • The language features pattern matching as its sole control flow mechanism, replacing traditional if/else and switch statements.
  • Basic syntax includes simple variable and function declarations, with support for currying and type annotations.
  • Core data types include numbers, strings, booleans, lists, and tables (key-value structures), all immutable.
  • Error handling is done via a Result type (Ok/Err) instead of exceptions, promoting explicit error management.
  • The language supports local bindings with 'with' and mutual recursion with 'with rec'.
  • Includes array programming utilities inspired by APL, such as broadcasting, reshaping, and cumulative operations.
  • JavaScript interoperability is provided but wrapped in Result types to maintain functional guarantees.
  • Implementation focuses on performance, security, and developer experience, with detailed error messages and runtime configuration.
  • Comes with a comprehensive standard library including string, math, validation, and debugging utilities.