From: ludo@gnu.org (Ludovic Courtès)
To: Alex Kost <alezost@gmail.com>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH] emacs: Rewrite scheme side in a functional manner.
Date: Wed, 24 Sep 2014 09:48:21 +0200 [thread overview]
Message-ID: <87y4t94fy2.fsf@gnu.org> (raw)
In-Reply-To: <878uladrhk.fsf@gmail.com> (Alex Kost's message of "Wed, 24 Sep 2014 00:14:15 +0400")
Alex Kost <alezost@gmail.com> skribis:
> Ludovic Courtès (2014-09-21 23:27 +0400) wrote:
>
>> Alex Kost <alezost@gmail.com> skribis:
>>
>>> Ludovic Courtès (2014-09-20 18:11 +0400) wrote:
[...]
>> I was thinking about things generic enough to be in (guix profiles),
>> things that ‘guix package’ or guix-web could use.
>>
>> That said, it’s also fine do to things incrementally: write things
>> specifically for guix.el’s need, and generalize them later when we have
>> a clearer understanding of the situation. I just thought it’s worth
>> keeping in mind.
>
> Thanks, I keep it in mind. Such incremental approach is the only way I
> can write code. I'm not able to construct a proper thing from the very
> beginning: I always make big changes when something new is added and I
> notice that a new wave of generalization is required.
Understandably, that’s pretty much the same for me.
[...]
>>> To get information about packages/outputs, different “search-types” are
>>> used (like ‘name’, ‘all-available’, ‘installed’). These “search-types +
>>> search-vals” are transformed into a list of package/output patterns.
>>>
>>> Package patterns are:
>>>
>>> - package record;
>>> - list of name, version;
>>> - list of name, version, manifest entries;
>>> - list of name, version, manifest entries, packages.
>>
>> Oh, OK. Do remove any ambiguity, an option would be to call them
>> “matches”, “search results”, “descriptors”, or “specifications”,
>> perhaps. WDYT?
>>
>> (Maybe this is just bikeshedding, so your call.)
>
> I leave a “pattern” name for now.
OK.
>>> Output patterns are:
>>>
>>> - package record;
>>> - list of package record, output;
>>> - manifest entry record;
>>> - list of manifest entry record, packages;
>>> - list of name, version, output.
>>>
>>> Then these patterns are transformed into entries (alists with
>>> parameters/values) using “pattern->entries” functions created by
>>> ‘package-pattern-transformer’ and ‘output-pattern-transformer’.
>>
>> What about s/entries/sexps/? That would make it clearer that the intent
>> is to serialize things, not to manipulate them internally.
>
> Yes, it is better, thanks. I settled to “sexp” for this thing.
OK.
> Thanks for all your recommendations, I tried to follow them.
> I'm attaching the improved patch. Is it good enough now?
Yes, please push. Thanks for taking the time!
Ludo’.
next prev parent reply other threads:[~2014-09-24 7:48 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-05 7:42 guix.el: Key bindings for a "package list" Alex Kost
2014-09-05 8:26 ` Ludovic Courtès
2014-09-05 12:37 ` Alex Kost
2014-09-05 20:22 ` Ludovic Courtès
2014-09-06 16:45 ` Alex Kost
2014-09-06 17:28 ` Taylan Ulrich Bayirli/Kammer
2014-09-06 21:11 ` guix.el & multiple outputs Ludovic Courtès
2014-09-06 22:39 ` Taylan Ulrich Bayirli/Kammer
2014-09-08 6:50 ` Ludovic Courtès
2014-09-07 16:14 ` Alex Kost
2014-09-19 6:58 ` Alex Kost
2014-09-20 14:11 ` [PATCH] emacs: Rewrite scheme side in a functional manner Ludovic Courtès
2014-09-21 10:51 ` Alex Kost
2014-09-21 19:27 ` Ludovic Courtès
2014-09-23 20:14 ` Alex Kost
2014-09-24 7:48 ` Ludovic Courtès [this message]
2014-09-21 19:28 ` ‘profile-generations’ Ludovic Courtès
2014-09-21 19:37 ` guix.el & multiple outputs Ludovic Courtès
2014-09-23 20:14 ` Alex Kost
2014-09-24 7:50 ` Ludovic Courtès
2014-09-06 21:15 ` guix.el: Key bindings for a "package list" Ludovic Courtès
2014-09-07 16:14 ` Alex Kost
2014-09-08 6:51 ` Ludovic Courtès
2014-09-05 9:11 ` Taylan Ulrich Bayirli/Kammer
2014-09-05 12:37 ` Alex Kost
2014-09-05 20:24 ` Ludovic Courtès
2014-09-06 8:17 ` Alex Kost
2014-09-06 10:55 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87y4t94fy2.fsf@gnu.org \
--to=ludo@gnu.org \
--cc=alezost@gmail.com \
--cc=guix-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).