Live data from Hacker News

Recto – A Truly 2D Language

masatohagiwara.net

1–10 of 72 posts

Re: Recto – A Truly 2D Language

#8
post #5

There is a whole category of multiple dimension languages on esolang [1]... Nothing you'd really want to use other than to impress someone. No languages captures time as a dimension, yet. [1] https://esolangs.org/wiki/Esolang:Categorization#Dimensions

I think emiT [1] comes quite close!

A time paradox from [2]:

  create x = 10;
  time point;
  print x; //prints 10 in first timeline, and 20 in the next

  create traveler = 20;
  traveler warps point{
      x = traveler;
      traveler kills traveler;
  };
[1] https://esolangs.org/wiki/EmiT, https://github.com/nimrag-b/emiT-C

[2] https://www.reddit.com/r/ProgrammingLanguages/comments/1golf...

Re: Recto – A Truly 2D Language

#10
post #5

There is a whole category of multiple dimension languages on esolang [1]... Nothing you'd really want to use other than to impress someone. No languages captures time as a dimension, yet. [1] https://esolangs.org/wiki/Esolang:Categorization#Dimensions

It's worth mentioning Orca[0] by Hundredrabbits, a 2-dimensional esolang which does incorporate time (and thus distance) and so is really 3-dimensional.

It's also worth checking out Extempore[1] by Andrew Sorensen and Ben Swift, which grants you have incredibly precise timing semantics at the sample level.

"Each extempore process has a scheduling engine built-in, allowing tasks to be scheduled for execution at a precise time in the future. Unlike threading constructs such as sleep() or wait(), which don’t provide strong guarantees about temporal accuracy (i.e. the time they’ll sleep/wait for), Extempore's scheduling engine is guaranteed to execute its tasks at the requested time (the number of audio samples since Extempore was started). This temporal guarantee is significant for time critical domains such as audio and graphic, and real-time systems programming."

What's cool about this is that you're able to modify the program while it's running, and only update sections of it at a time, using the editor as a scratchpad, and it supports networking so you can precisely synchronize a herd of non-local devices and do things you'd have an extremely hard time doing in other languages. The applications extend far beyond just audio and visual programming.

What both of these languages have in common is that they are designed for live coding, or as Sorensen says, cyberphysical programming. I am very interested in the marriage of these technologies and recent transformer models.

[0] https://100r.co/site/orca.html

[1] https://extemporelang.github.io/docs/overview/time/

Post reply on HN