Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Part 6: Intentional Limitations

udewy deliberately omits features to keep the compiler simple and auditable:

  • No indexing syntax (arr[i]): Would require type information to know element size
  • No runtime array literal syntax: square brackets remain available in prelude metadata, ignored type declarations, and bracketed type annotations
  • No value casts (as): Would require type-aware conversion
  • No string interpolation: Strings are simple byte sequences
  • No closures or nested functions: Functions only at top level
  • No function overloading: Each function name has exactly one definition
  • Expression and/or are bitwise: Both sides are always evaluated; only if/loop conditions short-circuit
  • No floating-point: Everything is 64-bit integers (with the caveat that float-bit helpers exist for extern ABI interop)
  • No garbage collection: Manual memory management via syscalls