Texture uses Euclidean distance to automatically wire typed values to functions, making visuospatial layout syntactically significant
Texture is a visual programming language that compiles to Haskell/Tidal. Programs are typed words placed freely on a 2D canvas; the system auto-connects the nearest type-compatible function-value pairs by Euclidean distance. Moving a value with the mouse changes which function it connects to, re-parsing the program on the fly. Colour encodes types (green = integer, blue = float, pink = Pattern). Unlike Patcher languages where placement is purely secondary notation, Texture makes spatial distance a primary syntactic feature. A small workshop (n=6) showed participants could engage quickly and appreciated the speed of live changes.
Examples
Placing 1 and 2 near + auto-connects them; moving 2 farther away may connect it to a different function. every, fmap, and rotation functions are available as typed words with their argument count visualised by branching lines.
Assessment
Compare Texture and Pure Data along three Cognitive Dimensions of Notation. Identify one dimension on which Texture is superior and one on which Pure Data is superior. What was the main usability complaint from Texture workshop participants?