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)
|
> What about Clojure, Carp and Janet? I'd like to support all of them. A reader is only 100-200 lines of code. > They use [] for vectors/arrays > like Elisp, and #() even means something completely different in > Clojure: syntax for anonymous functions a la "cut"/"cute". Indeed, [] has different meanings. Would be least ambiguous for [ and ] to be a syntax error in POSE, as well as { and }. The angle brackets < and > should be symbol-constituent characters since they are that way in most/all Lisp dialects. > It might be worthwhile to also take a look at EDN, even though it is > woefully underspecified. Yes, and yes. I agree that EDN is a bit of a rush job. E.g. things like the bignums suffix [sic!] and true/false are lifted from Java. EDN is like the YAML of Lisp -- the quest for convenience went so far that the complexity is starting to be too much of a burden. Apart from being confusing, complex parsers are now security hazards as well. John has done good work specifying the text format of Twinjo (the work-in-progress dual binary/text format) based on S-expressions. For more complex things we could rely on it. Nothing also prevents us from specifying a tower of S-expression notations of increasing complexity, such that each notation is a fully compatible superset of all the less complex ones. We should make sure Twinjo's text syntax is a superset of POSE.