Concatenative language
Concatenative topics
Concatenative meta
Other languages
Meta
[[https://www.uiua.org/|Uiua]] is a stack-based array-oriented programming language created by Kai Schmidt (He/Him). It uses a [[https://www.uiua.org/docs/rtl|right-to-left top-to-bottom evaluation]] scheme. Like other array languages, the only composite data type is the multidimensional rank-polymorphic array. Operations can be applied to the whole array without needing explicit flow-control. Uiua's array model is similar to J, a language descended from APL. Uiua does not have different monadic and dyadic behaviors for each glyph, as it uses a stack. There are several other fundamental differences that are outlined on the Uiua website. Uiua features a configurable Unicode formatter that gives ASCII names to its glyphs which can assist in writing code. Uiua's glyph choices are inspired from BQN, another APL descendant. Additionally, the language has out-of-the-box support for rendering arrays as images, playing an arrays as audio, and performing [[https://github.com/uiua-lang/uiua/blob/main/examples/http_server.ua|HTTP operations]]. Uiua's website includes its [[https://www.uiua.org/pad|interactive playground]], [[https://www.uiua.org/docs|documentation]], [[https://www.uiua.org/docs/isms|examples]], and [[https://www.uiua.org/docs/tour|notes about its design]]. Its Rust source code is hosted on [[https://github.com/uiua-lang/uiua/|Github]]. == Sample Code == === The average of an array === [{Avg ← ÷⊃⧻/+ Avg 0_2_1_5}] === The first 12 numbers of the Fibonacci series === [{⇌[⍥⊃+⊙∘10 1 0]}] === The Quadratic Equation === [{Quad ← ÷⊙-⊃⊓'×2∘(⊟¯.√+×.∶×ׯ4⊙∶) Quad 1 2 0}] === Renders the Uiua Logo === [{xy ← ⍘⍉⊞⊟. ÷÷2∶ -÷2,⇡.200 rgb ← [∶⍘⊟×.xy ↯△⊢xy0.5] u ← ↥<0.2∶>0.7.+×2 ×.∶⍘⊟xy c ← <∶√/+ⁿ2 xy ⍉⊂∶-¬u c1 +0.1 ∺↧rgb c0.95}]
Describe this revision:
Save