scheme-script organization created Lassi Kortela (26 Jun 2021 11:15 UTC)
Re: scheme-script organization created Vladimir Nikishkin (26 Jun 2021 11:20 UTC)
Re: scheme-script organization created Lassi Kortela (26 Jun 2021 11:26 UTC)
Re: scheme-script organization created Marc Nieper-Wißkirchen (26 Jun 2021 11:54 UTC)
Re: scheme-script organization created Lassi Kortela (26 Jun 2021 12:03 UTC)
Re: scheme-script organization created Marc Nieper-Wißkirchen (26 Jun 2021 12:18 UTC)
Re: scheme-script organization created Lassi Kortela (26 Jun 2021 12:32 UTC)
Re: scheme-script organization created Marc Nieper-Wißkirchen (26 Jun 2021 12:41 UTC)
Re: scheme-script organization created Lassi Kortela (26 Jun 2021 13:28 UTC)
Re: scheme-script organization created Marc Nieper-Wißkirchen (26 Jun 2021 13:40 UTC)
Re: scheme-script organization created Lassi Kortela (26 Jun 2021 14:16 UTC)
Re: scheme-script organization created Marc Nieper-Wißkirchen (26 Jun 2021 14:30 UTC)
Re: scheme-script organization created Lassi Kortela (26 Jun 2021 14:44 UTC)
Re: scheme-script organization created Marc Nieper-Wißkirchen (26 Jun 2021 15:50 UTC)
Re: scheme-script organization created Marc Feeley (26 Jun 2021 12:42 UTC)
Re: scheme-script organization created Lassi Kortela (26 Jun 2021 12:46 UTC)
Re: scheme-script organization created Marc Nieper-Wißkirchen (26 Jun 2021 13:05 UTC)
Re: scheme-script organization created Lassi Kortela (26 Jun 2021 13:36 UTC)
Re: scheme-script organization created Marc Nieper-Wißkirchen (26 Jun 2021 13:45 UTC)
Re: scheme-script organization created Lassi Kortela (26 Jun 2021 13:58 UTC)
Re: scheme-script organization created Marc Nieper-Wißkirchen (26 Jun 2021 14:20 UTC)
Re: scheme-script organization created Vladimir Nikishkin (26 Jun 2021 14:23 UTC)
Re: scheme-script organization created Marc Nieper-Wißkirchen (26 Jun 2021 14:31 UTC)
Re: scheme-script organization created Marc Nieper-Wißkirchen (26 Jun 2021 13:07 UTC)
Re: scheme-script organization created Marc Nieper-Wißkirchen (26 Jun 2021 19:07 UTC)
Re: scheme-script organization created Lassi Kortela (26 Jun 2021 19:26 UTC)
Re: scheme-script organization created Marc Nieper-Wißkirchen (27 Jun 2021 08:02 UTC)
Re: scheme-script organization created Lassi Kortela (28 Jun 2021 06:47 UTC)
Re: scheme-script organization created Marc Feeley (27 Jun 2021 16:36 UTC)
Re: scheme-script organization created Marc Nieper-Wißkirchen (27 Jun 2021 19:45 UTC)
Re: scheme-script organization created Marc Feeley (27 Jun 2021 21:02 UTC)
Re: scheme-script organization created Marc Nieper-Wißkirchen (28 Jun 2021 06:20 UTC)
Script semantics and declarations Lassi Kortela (28 Jun 2021 06:59 UTC)
Re: Script semantics and declarations Lassi Kortela (28 Jun 2021 07:09 UTC)
Re: Script semantics and declarations Marc Nieper-Wißkirchen (28 Jun 2021 07:20 UTC)
Re: Script semantics and declarations Lassi Kortela (28 Jun 2021 07:49 UTC)
Re: Script semantics and declarations Marc Nieper-Wißkirchen (28 Jun 2021 08:05 UTC)
Re: Script semantics and declarations Lassi Kortela (28 Jun 2021 09:16 UTC)
Re: Script semantics and declarations Marc Nieper-Wißkirchen (28 Jun 2021 09:32 UTC)
Proposed implementation Lassi Kortela (28 Jun 2021 10:28 UTC)
Re: Proposed implementation Marc Nieper-Wißkirchen (28 Jun 2021 12:10 UTC)
Re: Proposed implementation Marc Feeley (28 Jun 2021 12:15 UTC)
Re: Proposed implementation Marc Nieper-Wißkirchen (28 Jun 2021 12:21 UTC)
Re: Script semantics and declarations Marc Nieper-Wißkirchen (28 Jun 2021 20:42 UTC)
Text substitution macros and multi-file archives Lassi Kortela (28 Jun 2021 07:24 UTC)
Re: Text substitution macros and multi-file archives Marc Nieper-Wißkirchen (28 Jun 2021 07:35 UTC)
Re: Text substitution macros and multi-file archives Lassi Kortela (28 Jun 2021 08:07 UTC)
Re: Text substitution macros and multi-file archives Marc Nieper-Wißkirchen (28 Jun 2021 08:23 UTC)
Re: Text substitution macros and multi-file archives Lassi Kortela (28 Jun 2021 08:38 UTC)
Re: Text substitution macros and multi-file archives Marc Nieper-Wißkirchen (28 Jun 2021 08:52 UTC)

Re: Text substitution macros and multi-file archives Lassi Kortela 28 Jun 2021 08:38 UTC

> I think you are missing the point. There is no universal s-expression
> format. A priori, you just have text, which you have to interpret.
> Different Scheme implementations use different formats (e.g. for
> bytevector literals in R6RS and R7RS; other Schemes may have more
> complex reader macros, etc.).

Of course. The key is to decide what level of compatibility to go for,
and then write the code in the common subset of those standards /
implementations. Increasing portability usually adds some pain.
cond-expand adds pain, and a lexical-syntax-cond-expand would add even
more pain. If the latter is desired, it would be better to standardize
in the language than in a bundle file format, but I think it's
overengineering.

> There is a distinction to be made between the representation and the
> actual structure.
>
> The crucial principle is that a program should never try to parse
> another program's representation for data. This principle is much more
> important than any aesthetic considerations. It forbids that a script
> consists *solely* of s-expressions.

I find the aesthetic consideration much more important. Aesthetic
mistakes cannot be rectified later; it puts the "ecosystem" on a
downward spiral of getting more and more messy over the years.

In the case of embedding (declare-file ...) in Scheme or Lisp syntax, we
don't parse another program's representation; instead, the script writer
promises to use a syntax (in the relevant part of the file) that is
compatible with both the target Lisp standards/implementations, as well
as the (declare-file ...) spec which specifies its own lenient version
of S-expressions. Note that you need to do the same with magic comments
and the like.

You could specify that the launcher always rewrites the file, removing
the (declare-file ...), but that adds the complexity of temp files,
messes up line numbers in stack traces, etc. Nothing is gained.