talks | works
Uiua A Life

Uiua A Life

October 6, 2025
Kyoto, Japan
Press D to download as a PDF and F to toggle presentation mode. Navigate up and down with K and J when presenting
UIUA A LIFENoah SyrkisOctober 6, 20251 |Motivation2 |Glyphs3 |The Stack4 |Examples1 |MotivationFor legacy reasons, ALife research tend to use Python. This talk presents an alternative: Uiua, astack based array language written in Rust, inspired by APL. Uiua’s array orientedness and visualcompactness makes it a winner (for me), and it’s already been used for neuroevolutiuon [1](lambda x, y, z: x + y + z)+ +PythonUiuaListing 1: Two implementations of an anonymous function that adds three numbers1 of 82 |GlyphsUiua uses special symbols (glyphs). In the context of LLMs, glyph-based languages could become veryefficient since the same code can be generated with much fewer tokens. A few common glyphs are:.:duplicateflippowerrandomrangeshapefloorabsmapListing 2: A few common glyphs2 of 82 |GlyphsSome glyphs are more high-level. To visualize points, you could use (under), which transforms,applies a function, and undoes transform, on an 𝑛×𝑛 array of zeros, by selecting the index of theparticles in the array (transform), adding 1 (function), and putting the values back in the array.∧ fold⍜ under≡ rowsApply a function to aggregatearraysOperate on a transformed array, then undo transformApply a function to each rowof an array∧+ [1 2 3] 10 16⍜+(×2) 1 5 11≡∧+ [1_2 4_5] 0 3_9Listing 3: Glyphs with descriptions and examples3 of 83 |The StackFunctions pop and push values on the stackFunctions apply seamlessly across array dims 1 2 3 # stack: 1 2 3 + + # stack: 6 ⇡ # stack: [0 1 2 3 4 5] + 1 # stack: [1 2 3 4 5 6] \+ # stack: [1 3 6 10 15 21] /+ # stack: 564 of 84 |ExamplesALife examples in Uiua include neuroevolution [1], an implementation of Lenia [2], a game engine[3], and boids [4], demonstrating its range from abstract models to interactive systems.5 of 84.1 |RHOSR ← ⁿ:e ¯÷ ×2 ⁿ2 : √ /+ ⁿ2 ⌵G ← ≡₁R ⌵ - ⌊ ÷ 2 ⊸ ⧻ ⇡ ⊟ .D ← ÷ ⊸⍥/↥ 2 √ ⌵ - ⊸ ↻ 0_1Figure 1: Two works from RHOS6 of 84.2 |SortsolFigure 2: 200 steps of a simple particle simulationwith particles moving randomlyInit ← + ÷ 2 W × S - 0.5 gen N_2Step ← + × S -0.5 gen N_2Draw ← ⍜(⊡|+1) ↥ 0 ↧ -1 W ⌊ : × 0 °△ W_W7 of 8References[1]Kai Schmidt, “Evonet: Basic Evolutionary Neural Network in Uiua.” 2025.[2]donstenzel, “Lenia: Time, Space & State Continuous Cellular Automaton in Uiua.” GitHub, Sep.2025.[3]M. Cat, Omnikar, and Ronondex2009, “Iris: A Simple Game Library around Rayua.” GitHub,Sep. 2025.[4]marblecoma, “Boids in Uiua Using Iris Library.” GitHub, Sep. 2025.8 of 8