From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: "Bozhidar Batsov" Newsgroups: gmane.emacs.devel Subject: Re: Brand new clojure support in Emacs ;-) Date: Mon, 04 Sep 2023 07:16:49 +0200 Message-ID: References: <87il9kksqz.fsf@dfreeman.email> <87o7j99304.fsf@dfreeman.email> <87zg2hsyrd.fsf@dfreeman.email> <87h6ontwfv.fsf@posteo.net> <835y4ucrz3.fsf@gnu.org> <831qficgin.fsf@gnu.org> <87ttsehwab.fsf@dfreeman.email> <87fs3x6ge7.fsf@gmail.com> <87v8cthmzl.fsf@dfreeman.email> <87a5u56atj.fsf@gmail.com> <875y4t69vq.fsf@gmail.com> <90ac490a-1d95-4704-b4f8-908b16861aec@app.fastmail.com> <87fs3v44wa.fsf@gmail.com> <14c0b906-966e-4090-93b4-eba75fbe0521@app.fastmail.com> <87bkei524b.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=8950859873ef4cb58311605bfaa4dc71 Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="23185"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Cyrus-JMAP/3.9.0-alpha0-701-g9b2f44d3ee-fm-20230823.001-g9b2f44d3 Cc: "Danny Freeman" , "Eli Zaretskii" , "Dmitry Gutov" , "Richard Stallman" , "Emacs Devel" To: =?UTF-8?Q?Jo=C3=A3o_T=C3=A1vora?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Sep 04 07:18:29 2023 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 1qd1yk-0005li-JM for ged-emacs-devel@m.gmane-mx.org; Mon, 04 Sep 2023 07:18:28 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qd1xk-0002RR-4g; Mon, 04 Sep 2023 01:17:24 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qd1xf-0002Qz-BC for emacs-devel@gnu.org; Mon, 04 Sep 2023 01:17:19 -0400 Original-Received: from wout1-smtp.messagingengine.com ([64.147.123.24]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qd1xb-0002Hk-J5; Mon, 04 Sep 2023 01:17:18 -0400 Original-Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.west.internal (Postfix) with ESMTP id 96C37320090F; Mon, 4 Sep 2023 01:17:11 -0400 (EDT) Original-Received: from imap43 ([10.202.2.93]) by compute1.internal (MEProxy); Mon, 04 Sep 2023 01:17:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=batsov.dev; h=cc :cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:sender :subject:subject:to:to; s=fm3; t=1693804631; x=1693891031; bh=M5 HH6OMzM9C1cYMbvdGmvWSl9TxUoAtD/9bho1svo/M=; b=C1gLglXAMq8vCv1V5U nwBIsgnGoRI0jwkd/p9SF0YXEVRGnq1AUyHCz2SuhIiywvsLIq/fAO/UY5QjwCl/ GTXZGNLoL+GMuYdVd8uMxCkzJ7rOJmAEkAwB/VUXUR62cE7jd31rN44g4SlazmQZ zYpFk4LWNPvh3OIQbYefxnwnXff58GwlkWwgdhttvnECOuhfmCWxs1H4lY1sUT+R XUIPLBmLBxOJM3uUVz4UiDpatb7dqo6IEqlAP3FiHrvUqGlrZZOQXGy0iOrhADk7 R3qC20DL/muxHc5rvuY8qGcLADE3X+K4mdruWxgr4DZwWGYCzQf+Ye0vrByl6OM9 EUiA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; t=1693804631; x=1693891031; bh=M5HH6OMzM9C1c YMbvdGmvWSl9TxUoAtD/9bho1svo/M=; b=m5PHsaFfrIguqwT+1wq/aM1bAiczy +oqV+UTG0KE1iwroKmjSy7iNDXsJEVX+/ozAK7jY//2wVu048j2knQAeRPV4jE58 swGla9eGFi0mCJI5X6E/QugcaqZQzQYUeFCcia5xuMo8dqg7VoN3ga9w65jkbuPg 7HpIgWBV49KadpKXWISlSSsPYrq5cRaTROEYW3sbc+u8g+T5i0tgA/yC7GHC2NOO 07ULdYjb7nVKf8p0nPzEwUbcQH3hYrdx581oYglDalyvenplJ5WmE1jFo3Gj/Dlc RWNEfRPgL4Urx3J3IF+6LcuHplGzcp9jEXiF0uGv8gkQwUEItPh7BP1jg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrudegjedgleeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvfevufgtsegrtderreerreejnecuhfhrohhmpedfueho iihhihgurghruceurghtshhovhdfuceosghoiihhihgurghrsegsrghtshhovhdruggvvh eqnecuggftrfgrthhtvghrnhepvedvtdfgveevveejveelfeeuhfejffeileeufeetteei jeekkeefjeeuveegueefnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrg hilhhfrhhomhepsghoiihhihgurghrsegsrghtshhovhdruggvvh X-ME-Proxy: Feedback-ID: i025946a9:Fastmail Original-Received: by mailuser.nyi.internal (Postfix, from userid 501) id 9119E2D40092; Mon, 4 Sep 2023 01:17:10 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface In-Reply-To: <87bkei524b.fsf@gmail.com> Received-SPF: pass client-ip=64.147.123.24; envelope-from=bozhidar@batsov.dev; helo=wout1-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:310049 Archived-At: --8950859873ef4cb58311605bfaa4dc71 Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable > What hostile manner? Do we need permission from you to start discussi= ng > Clojure editing facilities here You don't need my permission to do anything. But in my book it's good ma= nners to try to get people involved in a conversation that might benefit= from their presence. One day perhaps you'll learn that things happen a = lot smoother if you put some minimal efforts to be more considerate when= you communicate with others - a point I've been trying to make in quite= a few messages.=20 I'll leave most of the other points without a response, given that at th= is point we're not really discussing anything other than who misundersto= od who, which I'm tired of.=20 On Mon, Sep 4, 2023, at 12:21 AM, Jo=C3=A3o T=C3=A1vora wrote: > "Bozhidar Batsov" writes: >=20 > > Sure I got that. And currently CIDER is strongly coupled to > > implementation details of clojure-mode. > > > > You say it like it was some design failure, >=20 > No, I didn't. You're again imagining things. I'm just stating > objective facts which are pretty relevant if one wants to add CIDER > interoperation capability to the new major mode that is the subject of > this thread. >=20 > > The APIs that are being used are things like "find the current Cloju= re > > namespace", sexp-related functions, etc. >=20 > Yes, that's what I meant by "the existing informal API between the two > realities: major mode and CIDER overlay minor mode". Those things you > mention are very similar to the coupling between SLIME/SLY and > lisp-mode. If someone wanted to make a new Common Lisp mode (say, a > TreeSitter one) and they wanted to use SLY with it, the same problem > would arise. And yes, it is easily solved. >=20 > > I clearly wrote about integrating with CIDER, not rewriting it. > > So, again, you're really reading things that I didn't write. > > > > Well, you did speak about RCP and there's nothing at the RCP level > > happening between clojure-mode and CIDER. (all the RCP-related code = is > > in CIDER) The APIs that are being used are things like "find the > > current Clojure namespace", sexp-related functions, etc. >=20 > What I wrote is that there's nothing transcendental that I can detect > about the architecture of an RPC system for Emacs like CIDER. There's= a > major mode, a collection of minor modes and a reflection backend in the > host language. >=20 > > experts". I'm not an expert in LSP and I wouldn't dare to lecture you > > how to do things in eglot, but I do know a bit about Clojure, nREPL > > and all the Emacs packages and I happen to know what we've tried and > > didn't work out. You want to brush this aside, for reasons that are > > still unclear to me. >=20 > That's the thing: Noone is lecturing you on anything. Noone's even > asking you for anything. If anything it's the other way round, you se= em > want us to literally sit through a lecture of yours on the subject. >=20 > > If all this is not a paternalistic attempt at dissuasion, it's at > > least odd from someone who's already said he's not interested > > in contributing to this endeavor, and who's not really being > > asked to anymore. > > > > What "endeavour" is that exactly? Bringing > > clojure-mode/clojure-ts-mode to core or replacing them with 2 lines = of > > code? >=20 > Writing a new major mode, of course, a direct: >=20 > * consequence of Richard's request > * your refusal to integrate clojure-mode or clojure-ts-mode > * Philip's interesting suggestion >=20 > It's the top message of this discussion, have you read it? And yes it= 's > two lines of code, but you have to start somewhere and that's what I > did. TreeSitter could also be useful later on, for font-locking, etc.= .. >=20 > > And who started the conversation in a hostile manner? If I didn't > > happen to be subscribed to emacs-devel I wouldn't even know what was > > being discussed here, given how events unfolded. Is it really > > surprising I'd be unhappy about the communication on the topic so fa= r? >=20 > What hostile manner? Do we need permission from you to start discussi= ng > Clojure editing facilities here? >=20 > Jo=C3=A3o >=20 >=20 --8950859873ef4cb58311605bfaa4dc71 Content-Type: text/html;charset=utf-8 Content-Transfer-Encoding: quoted-printable
What hostile manner?  Do we need permission from you to = start discussing
Clojure editing facilities here
=

You don't need my permission to do anyt= hing. But in my book it's good manners to try to get people involved in = a conversation that might benefit from their presence. One day perhaps y= ou'll learn that things happen a lot smoother if you put some minimal ef= forts to be more considerate when you communicate with others - a point = I've been trying to make in quite a few messages.

I'll leave most of the other points without a response, given th= at at this point we're not really discussing anything other than who mis= understood who, which I'm tired of.

On Mon= , Sep 4, 2023, at 12:21 AM, Jo=C3=A3o T=C3=A1vora wrote:
"Bozhidar Batsov" <bozhidar@batsov.dev> writes:

>  Sure I got that.  And curren= tly CIDER is strongly coupled to
>  implementation= details of clojure-mode.
>
> You say = it like it was some design failure,

No, I d= idn't.  You're again imagining things.  I'm just stating
objective facts which are pretty relevant if one wants to add C= IDER
interoperation capability to the new major mode that = is the subject of
this thread.

> The APIs that are being used are things like "find the current Cl= ojure
> namespace", sexp-related functions, etc.

Yes, that's what I meant by "the existing informa= l API between the two
realities: major mode and CIDER over= lay minor mode".  Those things you
mention are very s= imilar to the coupling between SLIME/SLY and
lisp-mode.&nb= sp; If someone wanted to make a new Common Lisp mode (say, a
TreeSitter one) and they wanted to use SLY with it, the same problem<= br>
would arise.  And yes, it is easily solved.
=

>  I clearly wrote about integrating with CI= DER, not rewriting it.
>  So, again, you're really= reading things that I didn't write.
>
&g= t; Well, you did speak about RCP and there's nothing at the RCP level
> happening between clojure-mode and CIDER. (all the RCP-= related code is
> in CIDER) The APIs that are being use= d are things like "find the
> current Clojure namespace= ", sexp-related functions, etc.

What I wrot= e is that there's nothing transcendental that I can detect
about the architecture of an RPC system for Emacs like CIDER.  The= re's a
major mode, a collection of minor modes and a refle= ction backend in the
host language.

> experts". I'm not an expert in LSP and I wouldn't dare to le= cture you
> how to do things in eglot, but I do know a = bit about Clojure, nREPL
> and all the Emacs packages a= nd I happen to know what we've tried and
> didn't work = out. You want to brush this aside, for reasons that are
&g= t; still unclear to me.

That's the thing: N= oone is lecturing you on anything.  Noone's even
aski= ng you for anything.  If anything it's the other way round, you see= m
want us to literally sit through a lecture of yours on t= he subject.

>  If all this is not a= paternalistic attempt at dissuasion, it's at
>  l= east odd from someone who's already said he's not interested
>  in contributing to this endeavor, and who's not really bei= ng
>  asked to anymore.
>
> What "endeavour" is that exactly? Bringing
>= ; clojure-mode/clojure-ts-mode to core or replacing them with 2 lines of=
> code?

Writing a new maj= or mode, of course, a direct:

* consequence= of Richard's request
* your refusal to integrate clojure-= mode or clojure-ts-mode
* Philip's interesting suggestion<= br>

It's the top message of this discussion, ha= ve you read it?  And yes it's
two lines of code, but = you have to start somewhere and that's what I
did.  T= reeSitter could also be useful later on, for font-locking, etc...

> And who started the conversation in a hostil= e manner?  If I didn't
> happen to be subscribed t= o emacs-devel I wouldn't even know what was
> being dis= cussed here, given how events unfolded. Is it really
> = surprising I'd be unhappy about the communication on the topic so far?

What hostile manner?  Do we need permis= sion from you to start discussing
Clojure editing faciliti= es here?

Jo=C3=A3o

=


--8950859873ef4cb58311605bfaa4dc71--