Subject: [bug#57050] [PATCH v3 07/14] gnu: Add Zuo.

From: "Philip McGrath" <[email-masked]>
Date: Thu, 25 Aug 2022 16:04:15 -0400

On Thu, Aug 25, 2022, at 6:30 AM, Efraim Flashner wrote:
> On Thu, Aug 25, 2022 at 04:54:09AM -0400, Philip McGrath wrote:
>> +      (synopsis "Tiny Racket for build scripts")
>> +      (description "You should use Racket to write scripts.  But what if you
>> +need something much smaller than Racket for some reason—or what if you're
>> +trying to script a build of Racket itself?  Zuo (作) is a tiny Racket with
>> +primitives for dealing with files and running processes, and it comes with a
>> +@command{make}-like embedded DSL.
>> +
>> +Zuo is a Racket variant in the sense that program files start with
>> +@code{#lang}, and the module path after @code{#lang} determines the parsing
>> +and expansion of the file content.  That's how the @command{make}-like DSL is
>> +defined, and even the base Zuo language is defined by layers of @code{#lang}s.
>> +One of the early layers implements macros.")
>> +      (license (list license:asl2.0 license:expat)))))
>
> I'm not sold on the second paragraph, but I understand it's from
> upstream so that's not too bad. For the first paragraph I'd drop the
> first two sentences and consider @acronym{symbol, Zuo} for the next
> sentence.
>

That seems reasonable. For acronym, though, the manual says that "in Texinfo, an acronym (but not an abbreviation) should consist only of capital letters and periods, no lowercase," and when I tried '@abbr{Zuo, 作}' it was rejected as "invalid Texinfo markup". I'm also not sure that the generated HTML would be semantically correct.

How does this seem?

      (description "Zuo (作) is a tiny Racket with primitives for dealing
with files and running processes.  It comes with a @command{make}-like
embedded DSL, which is used to build Racket itself.

Zuo is a Racket variant in the sense that program files start with
@code{#lang}, and the module path after @code{#lang} determines the parsing
and expansion of the file content.  That's how the @command{make}-like DSL is
defined, and even the base Zuo language is defined by layers of @code{#lang}s.
One of the early layers implements macros.")

-Philip