Portable S-expressions
Lassi Kortela
(16 Apr 2021 09:40 UTC)
|
Re: Portable S-expressions
John Cowan
(20 Apr 2021 12:09 UTC)
|
Re: Portable S-expressions elf (20 Apr 2021 12:14 UTC)
|
Re: Portable S-expressions
Lassi Kortela
(20 Apr 2021 12:49 UTC)
|
Re: Portable S-expressions
elf
(20 Apr 2021 12:59 UTC)
|
Re: Portable S-expressions
Lassi Kortela
(20 Apr 2021 13:09 UTC)
|
Re: Portable S-expressions
John Cowan
(20 Apr 2021 19:29 UTC)
|
Re: Portable S-expressions
Lassi Kortela
(20 Apr 2021 20:55 UTC)
|
Re: Portable S-expressions
Peter Bex
(20 Apr 2021 12:22 UTC)
|
Re: Portable S-expressions
Lassi Kortela
(20 Apr 2021 13:03 UTC)
|
Re: Portable S-expressions
Peter Bex
(20 Apr 2021 13:15 UTC)
|
Re: Portable S-expressions
Lassi Kortela
(20 Apr 2021 13:27 UTC)
|
Re: Portable S-expressions
Lassi Kortela
(20 Apr 2021 13:33 UTC)
|
Don't forget that #t/'() for certain lisps, if we're talking boolean-equivalents. Is the goal here _all_ lisps, all schemes, all CLs... ? If the goal is all lisps and lisp variants, where is the line going to be drawn? Arguably, Ruby, for example, is a lisp variant, as it was first implemented in CL, and Python started out, at least, as being a lisp with tabs instead of (). If I may be so bold as to suggest, if the goal is _all_ lisps, someone should present at ELS in a few weeks to get buy-in from the CL community. (Even if it's just all schemes, it still may be a useful thing to do, as they may have thought of something the scheme community hasn't.) -elf On 20/04/2021 15:09, John Cowan wrote: > In order to evaluate this idea, we need a list of Lisps that the syntax > is to be portable to. For example: > > 1) Vertical bars are not portable to R6RS systems > > 2) #(...) vector syntax is portable to all Lisps I know of except Elisp > (square brackets) and Interlisp (no syntax). > > 3) R5RS requires support only for \\ and \" in strings. > > On Fri, Apr 16, 2021 at 5:40 AM Lassi Kortela <xxxxxx@lassi.io > <mailto:xxxxxx@lassi.io>> wrote: > > 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. >