the scary thing about is when in file formats it has stuff like:

file: refers to a file
some-special-string: does a special thing

and that just invites the problem of someone using some-special-string as a file name

pls, anyone who does
do not ever do anything like this
keep your formal grammars unambiguous

if you do not, Ada Lovelace will come down from Programmer Heaven and smite you

@Shamar idk, read it in some manpage the other day, not sure which
but similar problems apply to a lot of the system, eg. how basically nothing can handle spaces in file names

(hot take, $ifs should only contain tab and newline, or better yet, there should be no $ifs)

@Shamar this isn't really a Plan 9 specific problem, but it's one of those things that mess up an otherwise nice system

@Shamar @xj9
I mean, you can use Lua in Acme and it's like... fine. Having a proper encoding just makes things easier.

eg. linear TSV is pretty nice and simple and you don't need to fully parse it to split fields, because tabs are always escaped


@Shamar @xj9

Like, just having a standard lightweight container format would be enough, so you don't end up writing a parser for every tool.

TSV is nice because you can write an en/decoder in an hour (at most, if your C is rusty. more like 15 minutes otherwise) and it gets you enough structure without sacrificing readability

pure S-expressions are also super easy to parse, just need like... a way to do recursion??? i think? it's been a while since I wrote one (in Lua) but that too only took like 20 m.

Sign in to participate in the conversation

Cybrespace is an instance of Mastodon, a social network based on open web protocols and free, open-source software. It is decentralized like e-mail.