What is Uiua and its programming paradigm
mainUiua is an array programming language in the same family as APL, J, and BQN. It focuses on tacit programming, which is the practice of writing code without naming variables. This is achieved by providing multiple ways to weave the flow of data through a program.
Key Characteristics:
- Array-Centric: Arrays are the primary data structure. Operations work on entire arrays at once, often replacing traditional control flow constructs.
- Prefix Notation: Unlike APL or J which use mathematical notation (e.g.,
1 + 2), Uiua puts operators to the left of their arguments (e.g.,+ 1 2). This ensures every function takes the same number of arguments regardless of position. - Built-in Media Support: Uiua includes native functionality for working with images, audio, and GIFs.
- Machine-Sympathetic: The language is designed to leverage contiguous memory and CPU vectorization for performance.