GNU bug report logs -
#53878
[PATCH 00/11] Update Racket to 8.4. Adjust Chez Scheme
Previous Next
Full log
Message #480 received at 53878 <at> debbugs.gnu.org (full text, mbox):
Hi,
Am Samstag, dem 26.02.2022 um 12:23 -0500 schrieb Philip McGrath:
> Hi,
>
> On Saturday, February 26, 2022 9:26:29 AM EST Liliana Marie Prikler
> wrote:
> > I'm not talking about the generated file, but the procedure that
> > generates it. Special characters like dots and slash are still
> > pretty special in Scheme, even if they're allowed as identifiers.
>
> Do you mean A, B, C, and/or D of these:
> a
> > (replace 'configure
> > (lambda* (#:key inputs configure-flags #:allow-other-
> > keys)
> > (let* ((racket (search-input-file inputs
> > "bin/racket")))
> > (apply invoke
> > racket
> > #$make-installation-layer.rkt ;; <--- A
> > `(,@configure-flags
> > ,(dirname (dirname racket))
> > ,#$output))
> > (invoke racket
> > "--config" (string-append #$output
> > "/etc/racket")
> > "-l" "raco" "setup"
> > "--no-user"))))
> >
> > [...]
> >
> > (define make-installation-layer.rkt ;; <--- B
> > (scheme-file
> > "make-installation-layer.rkt" ;; <--- C
> > `(module
> > make-installation-layer racket/base ;; <--- D
> > (require racket/cmdline
>
> or something else?
The name in B is confusing imo, because it implies a procedure when it
is in fact a file. Of course, that'd affect A as well. The file name
in C does not matter too much, but should probably be matched with B to
some extent (but importantly keeping the .rkt extension even if we drop
it from B). I'm not sure if D is a function call or not, but if it's a
module name perhaps we should make it match B.
Given that we pass configure-flags to this thing, how about "configure-
racket-layer", "configure-layer.rkt" or something along those lines?
> In particular, not to be dense, but B is not a function.
Yeah, that's my bad for only skimming these and not paying too close
attention to brackets. The name itself implies a function, hence my
confusion. Looking at things closely would make me see more typos like
";; workaroung Guile reader/printer:"
workaround.
> One of the reasons I particularly like being able to use `.` in
> identifiers is to refer to files by name, without some ad-hoc
> encoding.
I do admit that is helpful, but in this context, metaphors were mixed
in a way that conveyed the wrong message.
> > > > I think some way to shorten those origins would do wonders in
> > > > terms
> > > > of the number of lines this patch adds.
> > >
> > > At one point, I had abbreviated the origins as something like:
> > >
> > > (REPO-SPEC SHA256 [COMMIT])
> > >
> > > [...]
> >
> > I wouldn't do this inside of extract-package-source, but define a
> > one or two liner for adding specifically packages hosted on
> > racket's github. WDYT?
> >
> > > I wasn't sure about the trade-off between being slightly more
> > > cryptic
> > > than explicit origins, but a lot shorter.
> >
> > Note that the goal is not to code golf, but to be understandable.
> > When adding a bunch of origins as inputs, understandability suffers
> > by induced scrolling.
> >
>
> I've done this, and it was a very good idea. In particular, it helped
> find some places where I hadn't switched to using `%racket-commit`
> once the release was tagged.
That is better, but can still be improved. As hinted at in my comment
to your tree, origin snippets might be a better solution here unless
I'm missing something in the heat of the moment.
> Other than potentially doing something about "make-installation-
> layer.rkt",
> I'd plan to squash the WIP/FIXUP commits in
> <
> https://gitlab.com/philip1/guix-patches/-/tree/racket-chez-refactor-hist-28
> >
> and send it as v6.
I did have a short look at it and apart from the above comment it
appears fine, but I'll have to reevaluate it when it's a full v6
anyway.
Cheers
This bug report was last modified 2 years and 345 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.