Separate but related to Twinjo, I'd like to specify a portable
S-expression syntax covering the essentials:
- Integers and reals.
- Symbols using a safe character set.
- Double-quoted strings with Unicode escapes.
- Vertical-bar symbols using the same escapes as the strings.
- Proper lists, including the empty list. No dotted lists.
- Line comments starting with semicolon.
Missing:
- Booleans (because no agreement among Lisps; can use true/false or t/f).
- Vectors, bitvectors, homogeneous numeric vectors.
- Sets and maps.
- Fancy comments (multiline comments, datum comments).
- Directives #!
Open questions:
- Do bytevectors belong in a bare-bones portable S-expression syntax?
- Do rational numbers belong?
- Should underscores be supported in numbers?
The file name extension could be `.pose` which doesn't appear to be used
by any common program (I checked several file extension sites). A MIME
type should also be registered with IANA.
I already have code for several programming languages to read most of
the above syntax.