From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eshel Yaron Newsgroups: gmane.emacs.devel Subject: Re: [NonGNU ELPA] New package: sweep Date: Tue, 27 Sep 2022 19:32:46 +0300 Message-ID: References: <877d1qlynt.fsf@posteo.net> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="13920"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (darwin) Cc: emacs-devel@gnu.org, Jan Wielemaker To: Philip Kaludercic Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Sep 27 19:12:00 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1odE7j-0003Ni-7I for ged-emacs-devel@m.gmane-mx.org; Tue, 27 Sep 2022 19:11:59 +0200 Original-Received: from localhost ([::1]:34638 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1odE7h-0000L1-Vs for ged-emacs-devel@m.gmane-mx.org; Tue, 27 Sep 2022 13:11:58 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:43958) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1odDW6-0004jC-Rg for emacs-devel@gnu.org; Tue, 27 Sep 2022 12:33:07 -0400 Original-Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]:38746) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1odDVu-0007kY-KY for emacs-devel@gnu.org; Tue, 27 Sep 2022 12:32:57 -0400 Original-Received: by mail-wr1-x435.google.com with SMTP id m4so1508700wrr.5 for ; Tue, 27 Sep 2022 09:32:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date; bh=hm7IaVhClMLVy+Tqe64gFBni6oJkuhMCLV8xEe+x77w=; b=OhS2c5/rG742zTb6Yp+eVaqoDXxqKCNg1EpipPXjxiAb8erEEgTNrr0vfzDuhm1iMr jxLD8GPILTVKQrAKSKW2YKKnvvC1AF+q8mIV/zNEcgHPxgmodZVoSsFWaqE8z5vVV1Mm x3FaPQAKtEz7XRJpquhT9cMPR6ohVZzyF3j/gljoKEW2SwzcGRXSOVoJiQxr1beYroPg 2vXMfibNJu2U0J2P7REGjeTP2WvFW3Q75SYRkj6K3AcNaZ3VIm+ny0MPfDQ16sCEkawU g2PZ4Uq0HmB0PnN+aEspDjvdbpKJWrCDBzYszZE6JLz3K7tRZtcr9ao+AkFCsxu6R9+H gXkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date; bh=hm7IaVhClMLVy+Tqe64gFBni6oJkuhMCLV8xEe+x77w=; b=nA2cpz4nLcKxhpTl0sVzHfTdKxT3yfoQE2MTLf9JsZRXyogx5b0hkOyAOb1uKdx/oi cWfSo29c0Xh8ofMKZo6G0IVhjehA0ySCZ2+hDWE0yqQbWlf6VuGf0Rf9zhRNgC0yx8Sk E9ZX8KplaC0LvqdX1eh9ctVOcO7ujHpuQaDhxzBOQ5kkbwlh7JNF9fNVpj05DiHiy9WE LwGti2O5e45NbS3bo/AwT0vb9r6RJa8Gw5B+zV+CBkdrfVl99A2Cm7RFuc7bf0Zt0FUa maO22gCNXwg9j/nooW7ZaWbCn3gFwA08KlfY3GMSuQl8zNwW8cfVBIAQ5AHq/5zSQY3u XMbg== X-Gm-Message-State: ACrzQf36aXcYDZHVqTCFrDvCxf88xTBGzAc/U7gQTcZ24z8umzWXAqqi X8P9rfR5DhTHTpWQuUyRF/E= X-Google-Smtp-Source: AMsMyM48LtYU0WDGICIx1E8UfU5Q/GCZSu+UUU89DWR/8IImC/6hahesJQNM4PvAMrClyNMf93u+rA== X-Received: by 2002:a05:6000:2aa:b0:22b:1dd4:f72d with SMTP id l10-20020a05600002aa00b0022b1dd4f72dmr18602075wry.616.1664296370596; Tue, 27 Sep 2022 09:32:50 -0700 (PDT) Original-Received: from esmac.lan ([2a0d:6fc0:bef:7b00:8462:a4f8:723:ac83]) by smtp.gmail.com with ESMTPSA id iv6-20020a05600c548600b003a5f54e3bbbsm16882254wmb.38.2022.09.27.09.32.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Sep 2022 09:32:49 -0700 (PDT) In-Reply-To: <877d1qlynt.fsf@posteo.net> (Philip Kaludercic's message of "Mon, 26 Sep 2022 19:32:22 +0000") Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=eshelshay.yaron@gmail.com; helo=mail-wr1-x435.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Tue, 27 Sep 2022 13:07:05 -0400 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:296355 Archived-At: Philip Kaludercic writes: >> I would like to submit a new package to NonGNU ELPA, called "sweep": > > May I ask what the name is supposed to mean? Of course, but there's not a lot of depth to it, basically its derived from "SWI-P(rolog)", with the "I" replaced with two "e"s for "Emacs-Embedded". So a possible backronym may be "SW(I) Emacs-Embedded Prolog". > This sound very interesting! Thank you! > From briefly skimming through the code I see that you define a new major > that doesn't inherit from the default `prolog-mode'. Is there a reason > not to do so, or even implement sweep as a minor mode? I am not opposed to building on top of `prolog-mode`, but since `sweep-mode` has access to the actual SWI-Prolog runtime including notably its parser, we can (and do) provide better implementations for many of the features of `prolog-mode`, at the cost of targeting only SWI-Prolog where `prolog-mode` is more implementation agnostic. For example, `sweep-mode` defines an `indent-line-function` which takes into account the dynamic operator definitions that may occur in Prolog code. So currently I'm not sure what will be the benefits of inheriting from `prolog-mode`, but I'll gladly revisit it as missing features in `sweep-mode` pop up. Does that make sense? >> The dynamic module ("sweep-module") is distributed and built as part of >> the latest SWI-Prolog version, so the only files that need to be >> distributed via the ELPA package are the Elisp package sweep.el and the >> user manual. > > What happens if someone doesn't have a recent version of SWI Prolog? Currently you would get an error while loading `sweep.el` because `sweep--ensure-module` is executed on load which tries to find and load the dynamic module. This is probably not ideal. I wonder if it would be preferable to suggest fetching and building the dynamic module, or just to fail more gracefully... > Also, I am guessing this is the reason you want to add it to NonGNU ELPA > instead of GNU ELPA, right? Yes, as I would currently prefer not to require SWI-Prolog contributors to assign copyrights in order to contribute to this project. >> sweep is licensed under the BSD-2 license, similarly to the rest of >> SWI-Prolog. Its source code is available at >> https://git.sr.ht/~eshel/sweep and at >> https://github.com/SWI-Prolog/packages-sweep. > > I see you've added Sourcehut as the "official" URL in the package > header, do you plan to use your mailing list > (https://lists.sr.ht/~eshel/dev) too? If so, I recommend adding the > mailing list as the "maintainer" email address so that people can easily > send you a "public" message. Thanks, I'll do that! Eshel