[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#31399] [PATCH] import: elpa: Implement recursive import.
From: |
Ludovic Courtès |
Subject: |
[bug#31399] [PATCH] import: elpa: Implement recursive import. |
Date: |
Tue, 29 May 2018 16:31:54 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Hello,
Ricardo Wurmus <address@hidden> skribis:
> Ludovic Courtès <address@hidden> writes:
>
>> Oleg Pykhalov <address@hidden> skribis:
>>
>>> I stole recursive importer from ‘cran’ and made it for ‘elpa’, the patch
>>> is attached. I don't like it and want to share the code with ‘cran’
>>> importer, but I don't know how to do it without increasing complexity.
>>
>> Indeed. Ricardo and I discussed this in the past and Ricardo started
>> implementing something:
>>
>> http://lists.gnu.org/archive/html/guix-devel/2016-08/msg00381.html
>>
>> It would be great to resume work on this, especially since we have other
>> importers that would immediately benefit from it (CRAN, Go, Crates).
>>
>> The solution I proposed back then was to have importers return a SRFI-41
>> lazy stream of package definitions.
>
> The CRAN importer supports recursion and it is implemented with SRFI-41
> lazy streams and AIUI this is what this patch does for the elpa
> importer.
>
> We should move “recursive-import” to “(guix import utils)” and let it
> take the package generator procedure (e.g. “cran->guix-package”) as an
> argument. It looks like this patch copied “recursive-import” and
> changed little more than “cran->guix-package” to “elpa->guix-package”,
> so this seems like a simple change.
Sounds like a plan.
Oleg, could you factorize what’s common between the two importers in
(guix import utils) like Ricardo suggests?
Thanks,
Ludo’.