Hi! Author here. You're right that music and speech carry more than just raw symbols such as intonation, pitch, dynamics, etc. all add important information. But in the framework I'm using, both are still fundamentally “1D” because their core structure unfolds sequentially in time: notes in a score, words and phrases in speech. Even when additional features like accent or dynamics are present, they're layered onto a linear stream.
Recto, by contrast, makes two dimensions part of the syntax itself: elements and rects can expand horizontally or vertically, and they can nest recursively. That's the difference I wanted to highlight.
I find it quite intriguing to introduce "language-native" matrices and 2d blocks (which I still find difficult to wrap my head around.)
The reason why most people would more intuitively consider a music score as multidimensional has to do with parallelism or concurrency.
In theory, nothing is stopping you from creating a hyperarray language a la BQN++ (or dare I say QRP). Maybe I glossed over an example, but having proper pointwise application to hyperscalars feels like a must-have.
Second idea is to introduce process parallelism, which could actually make this form of syntax into an execution graph of sorts--could be quite promising!
sheet music isn't a language, it's a notation. it's just a concise way to represent a waveform (a song). and it's certainly one dimensional because you either play the song forwards or backwards.
of course not a language in the same way English or Spanish are languages, but certainly a language in the same way mathematical formula, Lisp, or Java are languages.
>certainly one dimensional
The X axis represent time and the Y axis represent pitch. Moreover, you can have multiple pitches at the same time. I'm not a musician nor a geometrician but it does seems 2D to me, in a way regular text is not.
> of course not a language in the same way English or Spanish are languages, but certainly a language in the same way mathematical formula, Lisp, or Java are languages.
It is mostly certainly not - the defining feature of all languages (human, formal, mathematical, programming) is that you can define new words/concepts/primitives. Sheet music is notation.
Then regex, HTML, YAML, and so on are not languages either according to your definition.
Yet they are languages according to formal language theory, a definition which I’d say is a bit more widespread than yours. Indeed what you propose roughly maps to (a subset of) context-sensitive languages in particular.
Defining new primitived isn’t really essential. What matters is what you can express with the existing primitives and grammar rules. And sheet music has been quite successful at expressing incredibly complex musical concepts just fine.
(Also there’s the fact that sheet music can contain arbitrarily complex instructions to the performer in natural language, and define new notations too. But composers usually refrain from doing that for the same reason that people don’t go around inventing new idiosynchratic words in English unless they’re SF authors.)
> Yet they are languages according to formal language theory, a definition which I’d say is a bit more widespread than yours. Indeed what you propose roughly maps to (a subset of) context-sensitive languages in particular.
I love when people talk down to me as if I don't have a PhD in this shit lol. No actually what I'm talking about is Recursive languages.
> Then regex, HTML, YAML, and so on are not languages either according to your definition.
Do you see the M before the L there in both HTML and YAML? Do you know what it stands for? Markup. Markup is a funny word that colloquially means the same thing as annotate which bears a strong relationship to the word notation hmmmmmmmm.
Let me put it simply: if the force of the original comment is that context free languages can be 2d then I would say..... no duh.
written language isn't a language, it's a notation. it's just a concise way to represent a waveform (a spoken sentence). and it's certainly one dimensional because you either read forwards or backwards
It's all about semantics and representation. All data is (can be represented as) one dimensional. Musical scores are definitely on the one dimensional side of the spectrum however (e.g., see Lilypond).
Music notation is definitely not one-dimensional because it encodes simultaneous occurrence and simultaneous time-progression of independent pitches (e.g. a sequence of cords played legato).
And text encodes multiple bits per character. That's a meaningless distinction (or it means as much as you want it to mean in a subjective semantic debate)
Not necessarily true; this depends entirely on which music notation you’re talking about. Chord charts handle simultaneous pitches easily using a 1D flow of text along the timeline. Most music notations, including standard staff notation, use a layout that has a primary linear time axis, with lines that wrap, just like written text. Staff notation is different, but not that different from text. You can think of pitch as a secondary embedded dimension, but it’s certainly not necessary. You can also notate pitches and pitch combinations symbolically. The resulting audio, whether spoken or played musically, is 1-dimensional (in time) with respect to an idealized single point listener. So at some level, using anything more than one dimension is a type of feature expansion - it’s useful for notation and control, but adds new dimensions that are over-specified and unnecessary to the final result.
Anyone having a look at a musical score can conclude this is wrong.
Even when it comes to spoken language, intonation is conveying a lot, even in languages which are not classified as tonal.
All that said, that's nice to see an exploration of exotic expression form. It doesn't need to down other approach to make shine its own.