News for hackers. Stuff that matters.
Re:Google Docs will now use canvas based rendering by breck on Wednesday May 12, 2021 @12:40PM (#27132276)
> The way to fix this trend would be to reimagine the presentation layer of the browser as something other than a stack of hacks over hypertext, but so far nobody seems to have a good solution.

About a decade ago I had the start of a Eureka moment on how to do this (back then — https://medium.com/space-net/spacenet-51aca95d49a2, nowadays https://treenotation.org/). It seems to me we've missed a sort of fundamental universal notation of the universe, which you can think of as "two-dimensional binary". I predict we will soon see a Cambrian Explosion of new formats and languages that are simpler and more interoperable with each other, and some will have the opportunity to build new great languages for rendering stacks.

Re:Google Docs will now use canvas based rendering by lambda on Wednesday May 12, 2021 @02:29PM (#27133541)
Hey, nice! I have a notes file experimenting with a similar tree-style minimalist data notation; it's definitely an area that needs more exploration.

I like what you've done with it, I'll need to take a closer look.

While I was thinking about it, I also decided to take a look into prior art, which took me all the way back to Landin's "The Next 700 Programming Languages" from 1966 which introduced the hypothetical language ISWIM, which was the first to introduce indentation based syntax and inspired the ML and Haskell family of languages (https://www.cs.cmu.edu/~crary/819-f09/Landin66.pdf)

It wasn't exactly what I was looking for, but it's fascinating to see how long we've been thinking about these kinds of issues.

Re:Google Docs will now use canvas based rendering by breck on Wednesday May 12, 2021 @02:43PM (#27133687)
Yes, and surprisingly there are not too many that use any indentation based syntax (about 1 in 50). However, of the ones that do (abc, aldor, boo, buddyscript, cobra, coffeescript, csl, curry, elixir, f-sharp, genie, haml, haskell, inform, iswim, literate-coffeescript, livescript, madcap-vi, madcap, makefile, markdown, miranda, nemerle, net-format, nim, occam, org, promal, python, restructuredtext, sass, scss, spin, stylus, xl-programming-language, yaml) there are some real gems.

Some more interesting read's in this space:

2003 - Egil Möller's I-expressions - https://srfi.schemers.org/srfi-49/srfi-49.html

1984 - Alan Kay's 3-D spreadsheet - http://worrydream.com/refs/Kay%20-%20Computer%20Software%20-...

1972 - Mark Wells' A Review of Two-Dimensional Programming Languages - http://sci-hub.cc/10.1145/942576.807009

Re:Google Docs will now use canvas based rendering by lambda on Wednesday May 12, 2021 @03:06PM (#27133952)
Cool! Thanks for some more reading and inspiration.

Here's what I have in my notes buffer; I hadn't gotten much further than this.

  Ssn: /([0-9]{9})|([0-9]{3})-([0-9]{2})-([0-9]{4})/\1\2\3/
  People: Table
      first: String
      last: String
      dob: Date
      ssn: SSN

  Csv
      headings: True
      load people.csv
          as: People
      select first last dob
      filter dob.age > 21
Well, I had some discussion, alternate forms of the syntax, links to prior art, etc, but not much else worth sharing.

Will have to add your TreeNotation and Ohayo to that list, as well as these other links you've shared.

Re:Google Docs will now use canvas based rendering by breck on Wednesday May 12, 2021 @03:26PM (#27134184)
Very nice! The nice thing about these kinds of notations is that they last. Simplicity is timeless. I can immediately grok exactly what you are doing here. :)
Re:Google Docs will now use canvas based rendering by ImprobableTruth on Wednesday May 12, 2021 @01:30PM (#27132890)
How is this not just S-expressions with indentation instead of parentheses? What makes it different from say Sweet Expressions?
Re:Google Docs will now use canvas based rendering by breck on Wednesday May 12, 2021 @01:47PM (#27133111)
Common question. You cannot do column and matrix operations natively against S-Expressions (You need to parse the whole thing). This turns out to be very important and useful. S-Expressions need to be transversed in 1-D linear order.

When you two-dimensionalize S-Expressions and remove the parens, you get Tree Notation.

Re:Google Docs will now use canvas based rendering by jamiek88 on Wednesday May 12, 2021 @12:52PM (#27132414)
Wow that tree notation looks super interesting!

Bookmarked for a later in-depth read but my interest is piqued!

Re:Google Docs will now use canvas based rendering by zepto on Thursday May 13, 2021 @11:04AM (#27142896)
Do you have a more formal documentation for treenotation? The idea is intriguing but I couldn’t find the actual rules specified on the site.
Re:Google Docs will now use canvas based rendering by breck on Thursday May 13, 2021 @01:13PM (#27144632)
The rules for the basic notation are really simple. It's just basically a grid (visualize a spreadsheet), where each line is a row and each word is a cell. Indent a line to indicate a child node/row.

An updated spec: https://faq.treenotation.org/spec/

Re:Google Docs will now use canvas based rendering by zepto on Thursday May 13, 2021 @01:22PM (#27144726)
Thanks - that’s what I was looking for! Looks like a potential improvement on s-expressions to me in terms of a readable syntactic kernel.

For what it’s worth, I have been interested in the concept of 2d languages for quite some time, and I’m not sure what your definition is.

To me this seems to have a 1d topology - I.e. it’s still left to right top to bottom, and there are no loops or semantics that require reading in other directions.

I contrast this with something like a circuit diagram or labview program.

I may be missing something though.