unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Yuchen Pei <id@ypei.org>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: Emacs Devel mailing list <emacs-devel@gnu.org>
Subject: Re: [ELPA] New package: hcel
Date: Wed, 21 Sep 2022 16:18:52 +1000	[thread overview]
Message-ID: <87leqds10z.fsf@ypei.org> (raw)
In-Reply-To: <jwvv8phrcg7.fsf-monnier+emacs@gnu.org> (Stefan Monnier's message of "Tue, 20 Sep 2022 17:26:34 -0400")

Hi Stefan,

Thanks for your reply.
On Tue 2022-09-20 17:26:34 -0400, Stefan Monnier wrote:

> Hi Yuchen, sorry I didn't get back to you earlier,
>
>> It is a Haskell codebase explorer, using the server program provided by
>> haskell-code-explorer[2], which I ported to recent GHC version[3] and
>> I named my port / fork hcel.
>>
>> [1] https://g.ypei.me/hcel.git/tree/lisp
>> [2] https://github.com/alexwl/haskell-code-explorer
>> [3] https://g.ypei.me/hcel.git/about/
>>
>> I'm not sure whether it is unusual to submit a package that relies on a
>> self-hosted free software server program,
>
> Indeed, in many cases such modes start their life alongside the
> associated tool, but it can be nicer for users if it's available in
> GNU ELPA.

One solution is to add downloading and installing the server program
hcel to the package install process.  But I'm not sure if this is a good
idea because 1) the server program is written in Haskell not elisp and I
don't hold the copyright and 2) anyone could set up a public instance
(like the reference instance by the maintainer of the original
haskell-code-explorer) for others to use.

I think the situation is similar to say a mediawiki client that talks to
any wiki including Wikipedia, or an emacs version of h-client[1] that talks
to any h-source[2] servers, including the "official" instance
h-node.org.

[1] https://savannah.nongnu.org/projects/h-client
[2] https://savannah.nongnu.org/projects/h-source

>
> Often part of the issue is co-evolution (e.g. does it make sense to use
> `hcel.el` from last year with the current `hcel` tool and vice versa).

Right.  hc.el the emacs client talks to hcel the server using http
requests.  If the server API ever changes, hc.el could check the API
version in an API response against its supported versions and throw an
error for incompatibility.  I have not implemented that yet because the
API has not changed so far.

>
> IIUC the code you suggest we add to GNU ELPA is the one at
> https://g.ypei.me/hc.el.git, right?

Yes, I separated it out of the server program.

>
> Given the fact that this tool has a fairly narrow focus, I must admit
> that I'd prefer it doesn't eat up a two-letter file name like `hc`.
> Any chance you can rename that main file to `hcel.el`?

I applied your patch that does so.

>
> Also, I see that your package has:
>
>     ;; Package-Requires: ((emacs "28") (haskell-mode))
>
> but `haskell-mode` is currently neither in GNU ELPA nor in NonGNU ELPA
> so we can't include it in neither of them.  Is the dependency
> unavoidable (so we should first include `haskell-mode` in (Non)GNU
> ELPA), or can it be removed (and replaced with a runtime test, possibly
> allowing the use of other haskell modes such as haskell-tng-mode, which
> *is* in NonGNU ELPA)?

It seems to me haskell-mode is in NonGNU ELPA[3]?  The mode is used for
piggybacking their font-locking for the code syntax highlight.  There's
probably sufficient info in the server response for hc.el to apply its
own syntax highlighting, but it has not been a priority to implement
this functionality.  Is this needed for inclusion in ELPA?

[3] https://elpa.nongnu.org/nongnu/

Best,
Yuchen

-- 
PGP Key: 47F9 D050 1E11 8879 9040  4941 2126 7E93 EF86 DFD0
          <https://ypei.org/assets/ypei-pubkey.txt>



  reply	other threads:[~2022-09-21  6:18 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-10 15:01 [ELPA] New package: hcel Yuchen Pei
2022-09-17  0:40 ` Yuchen Pei
2022-09-19  0:15   ` How Do I submit a package to ELPA? (was Re: [ELPA] New package: hcel) Yuchen Pei
2022-09-20 21:26 ` [ELPA] New package: hcel Stefan Monnier
2022-09-21  6:18   ` Yuchen Pei [this message]
2022-09-21 12:03     ` Stefan Monnier
2022-09-20 21:42 ` Stefan Monnier
2022-09-21  5:58   ` Yuchen Pei
2022-09-21  6:21     ` Stefan Kangas
2022-09-21  7:19     ` Michael Heerdegen
2022-09-21  7:44       ` Emanuel Berg

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://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87leqds10z.fsf@ypei.org \
    --to=id@ypei.org \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /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/emacs.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).