GNU bug report logs -
#38408
[PATCH 0/3] (WIP) Semantic version aware recusive importer for crates
Previous Next
Reported by: Martin Becze <mjbecze <at> riseup.net>
Date: Thu, 28 Nov 2019 00:14:01 UTC
Severity: normal
Tags: patch
Merged with 44560,
44694
Fixed in version 44560
Done: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Hello!
I’m not a Crate expert so I’m only commenting on non-Crate-specific
bits.
Martin Becze <mjbecze <at> riseup.net> skribis:
> * gnu/packages.scm (find-packages-by-naem*/direct)
[...]
> +(define* (fold-packages* proc init
> + #:optional
> + (modules (all-modules (%package-module-path)
> + #:warn
> + warn-about-load-error))
> + #:key (select? (negate hidden-package?)))
> + "Call (PROC PACKAGE RESULT) for each available package defined in one of
> +MODULES that matches SELECT?, using INIT as the initial value of RESULT. It
> +is guaranteed to never traverse the same package twice."
> + (fold-module-public-variables* (lambda (module symbol var result)
> + (let ((object (variable-ref var)))
> + (if (and (package? object) (select? object))
> + (proc module symbol object result)
I’m wary of exposing variable names, especially in such a central API.
> +(define find-packages-by-name*/direct ;bypass the cache
Providing an explicit cache bypassing method also sounds worrying to me:
the cache is supposed to be transparent and semantics-preserving.
More generally, I think adding new features to an importer shouldn’t
require modifications in this area, as a matter of separating concerns.
WDYT?
Thanks,
Ludo’.
This bug report was last modified 4 years and 160 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.