Email list hosting service & mailing list manager

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)

Re: Portable S-expressions elf 20 Apr 2021 12:14 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.
>