Hi, On Saturday, February 26, 2022 9:26:29 AM EST Liliana Marie Prikler wrote: > Am Samstag, dem 26.02.2022 um 09:20 -0500 schrieb Philip McGrath: > > On Saturday, February 26, 2022 8:47:45 AM EST Liliana Marie Prikler > > > > wrote: > > > First, can we simplify "make-installation-layer.rkt" to "make- > > > installation-layer"? I don't think the file extension conveys much > > > meaning here, or does it? > > > > To me (I don't know about anyone else), the ".rtk" extension tells me > > that I have to pass the file as an argument to `racket`, i.e. that > > the file is not a launcher from `raco exe` or a script with a shebang > > that I could `invoke` directly. > > 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? In particular, not to be dense, but B is not a function. 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 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. Other than potentially doing something about "make-installation-layer.rkt", I'd plan to squash the WIP/FIXUP commits in and send it as v6. -Philip