Overloading - aceto/aceto GitHub Wiki

This is a list of all context-dependent commands and for what they are defined right now. For the most part, there are two contexts: numeric, and string.

Defined for every context are commands that don't do anything to the stack, among other commands:

  • all numeric commands, all literal commands, movement commands (<>v^NSWE?)
  • comparison operators: m, w (within a context), =
  • some arithmetic operators: +, *, I, D, !
  • number pushing: P, e, R, t (and T)
  • I/O: p, r, ,, B, n
  • mode switches: \\, k, K, X, u, .
  • conditionals: _|#`
  • error handling: $&@
  • value-agnostic stack operations: sdh)(}{][UxClqQML
  • casting operations: ibf
  • jumps: O, ;
  • sorting: gGY
  • overloaded commands: F, ~, -, :, %, /, a

Some of the above aren't completely context-independent, but they don't fully belong in one of the contexts described below:

Commands that are only defined for numeric values on the stack:

  • c, j, A, V, H, z, Z, y

Commands that are only defined for stringy values on the stack:

  • o, J