Live data from Hacker News

Recto – A Truly 2D Language

masatohagiwara.net

51–60 of 72 posts

Re: Recto – A Truly 2D Language

#51
post #49
post #44

Earlier quoted context omitted.

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).

Yet that maps to MIDI, which is a linear sequence of events

No, MIDI is absolutely not isomorphic to sheet music.

Re: Recto – A Truly 2D Language

#52
post #44

Earlier quoted context omitted.

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)

I do not understand what point you are trying to make.

Re: Recto – A Truly 2D Language

#53

>Virtually all the languages we humans use—spoken, written, or artificial (such as programming languages)—are fundamentally one-dimensional. 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 n…

"Virtually all" about covers it, though.

Re: Recto – A Truly 2D Language

#54
post #48

In the very early 2000s, a coworker of mine, who was frequently banned from the Something Awful forums, shared with me a language, which I think was called “Path”, that was 2D. IIRC, execution of code followed a textual path through the file. I seem to remember it being sort of like a 2D brainfuck. You essentially drew a map to compute. When I look at Orca ( https://100r.co/site/orca.html ) I’m reminded of it, but it…

A very simple query "PATH programming language" with SearXNG returns [1]. I think it matches your description perfectly.

> 2003

> PATH is a programming language that is similar to Brainfuck. This intuitive language requires a simple grasp of two dimensional space, one requirement that almost no other programming languages have.

[1] https://sourceforge.net/projects/path/

[2] https://pathlang.sourceforge.net/

Re: Recto – A Truly 2D Language

#55

>Virtually all the languages we humans use—spoken, written, or artificial (such as programming languages)—are fundamentally one-dimensional. 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 n…

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.

Re: Recto – A Truly 2D Language

#56
Upvoted for the likelihood of producing interesting conversations on HN. But fundamentally this Recto language looks 1D, not 2D. As IsTom said below, it looks like "braces/parens with extra steps."

If there were any actual "in-game effect" of the rectangles — e.g. a "rotate rectangle" primitive that would change the order in which atoms were evaluated; or some meaning given to overlapping rectangles as in OgsyedIE's comment — then it would be much more interesting, because it would no longer be exactly isomorphic to Lisp/Scheme.

Re: Recto – A Truly 2D Language

#58
post #45

Earlier quoted context omitted.

>sheet music isn't a language 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 regul…

> 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.)

Post reply on HN