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:53 UTC
Re: scheme-script organization created Lassi Kortela 26 Jun 2021 12:02 UTC
Re: scheme-script organization created Marc Nieper-Wißkirchen 26 Jun 2021 12:17 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:27 UTC
Re: scheme-script organization created Marc Nieper-Wißkirchen 26 Jun 2021 13:39 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:49 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:19 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:01 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:19 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:27 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:20 UTC
Re: Script semantics and declarations Marc Nieper-Wißkirchen 28 Jun 2021 20:41 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:51 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.