From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= Newsgroups: gmane.emacs.devel Subject: Re: ELPA submission: drepl (REPL protocol) Date: Thu, 2 Nov 2023 14:26:56 +0000 Message-ID: References: <87wmv4bmtx.fsf@gmail.com> <874ji7w44p.fsf@posteo.net> <87sf5p9vkm.fsf@gmail.com> <87edh9z5d1.fsf@posteo.net> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="2429"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Augusto Stoffel , emacs-devel@gnu.org To: Philip Kaludercic Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Nov 02 15:28:00 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 1qyYfv-0000Mu-Ej for ged-emacs-devel@m.gmane-mx.org; Thu, 02 Nov 2023 15:27:59 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qyYfA-0006RM-Hx; Thu, 02 Nov 2023 10:27:12 -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 1qyYf9-0006RE-PA for emacs-devel@gnu.org; Thu, 02 Nov 2023 10:27:11 -0400 Original-Received: from mail-lf1-x132.google.com ([2a00:1450:4864:20::132]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qyYf8-0007d0-7I for emacs-devel@gnu.org; Thu, 02 Nov 2023 10:27:11 -0400 Original-Received: by mail-lf1-x132.google.com with SMTP id 2adb3069b0e04-50797cf5b69so1130061e87.2 for ; Thu, 02 Nov 2023 07:27:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1698935228; x=1699540028; darn=gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=/ZwlxAPL6GtzzFcRgc8YKuUktQbIe71I14j748Js1mA=; b=LoB4H/UVht57f8pMgURjH6urP+i1zmAtHgFoGWJgJuhySSyOH2DgNEoY1eGgjkpJu4 HC8udyOAcK+QgwfRQwkZQoy3nYTfU3K9YY7kzSnvum0HYMBzcF2Ixh/kNQnXMp9Vgf8G oxEUTO5mONrdIN/OUQmVhKT9PyAsy27n+CvToj4Bwaa4907Bg7/pwDrBt+HYkKUIgzHi pU/d0wTNO7HRMymCMB8NJLQQQ2A/rgjFZxk3UTs/1ua8SB5OuWSlKzpw5bDWt55nQZGr iFWyeT7M1KqP+pM1P9aakUU+wyKiKu4hINezsTmFAoN/2CvtDsyyPHhv38nK0XsbQOA3 bG5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698935228; x=1699540028; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/ZwlxAPL6GtzzFcRgc8YKuUktQbIe71I14j748Js1mA=; b=wvX9Ez93KsrqC7M/ItB+3y/FdNvyH6vauMSnGEyGGN9zsURNqm1O7zL0ChEvm+dOxd kofLHoGuoNTlPfDJia+dZ0+qurhrhy2lVJThRY0BWVXm6dR2Z9Lmd7VrnQyeGwfERpBC 8MGweJ5SeYK9seT6p1mhT+tOc++Nb2bZMhBuRZAqcQMkhFosg5uXdA/+2SuUkKW7CY7s 2Ub/kv0n61BPoFWwxYjfCEoZAVNWnPMh1gcYp+jSv/lsF/d4PCY1tFL3DcwG8CoCvmEZ qJ4OjaQHQzsqTsd3GUqHGeNBpO7KHgcSowj6Gung+/hiCNk+gfvnJnLFApjP3wJhJQfM t1Gw== X-Gm-Message-State: AOJu0YwzZstDnKaLyMcM8ceWBngLM88NAbYaCTQr15YQcGXzYn251eev 3yL61kcqI10BRardAQavDmxl9E8U1xpWJh0+BfXd+a/bRitOgg== X-Google-Smtp-Source: AGHT+IEyItJL24gjO0yPk9sb9+GalhYXyz96QfYO8ofQDIflB+bwOMVSXSOgYA7ByDOV20lo6A/wg5EDfxqt17W3NH0= X-Received: by 2002:a05:6512:370b:b0:507:a003:57a2 with SMTP id z11-20020a056512370b00b00507a00357a2mr13044616lfr.52.1698935228044; Thu, 02 Nov 2023 07:27:08 -0700 (PDT) In-Reply-To: <87edh9z5d1.fsf@posteo.net> Received-SPF: pass client-ip=2a00:1450:4864:20::132; envelope-from=joaotavora@gmail.com; helo=mail-lf1-x132.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, T_SCC_BODY_TEXT_LINE=-0.01 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:312121 Archived-At: On Wed, Nov 1, 2023 at 6:38=E2=80=AFPM Philip Kaludercic wrote: > > Augusto Stoffel writes: > > > On Tue, 31 Oct 2023 at 09:08, Philip Kaludercic wrote: > > > >> The idea seems interesting, I'll have to try it out at some point > >> (though I don't really use Python or Lua much, so I hope you plan to a= dd > >> more languages in the future). > > > Sure, let me know if you have any ideas. A good candidate, as I > > mention in the readme, would be a language that has a good embeddable > > REPL library that you hack into (as opposed to a program where the > > REP-loop is more or less hardcoded). > > What does a REPL library need, that most languages couldn't implement > themselves if they have an eval function? > > >> (cl-defgeneric drepl--command (repl) > >> "The command to start the REPL interpreter as a list of strings." > >> (ignore repl) > >> - (error "This needs an implementation")) > >> + (error "This needs an implementation")) ;Mention what "this" is > > > > _This_ is the method. This is one of the two things that cannot have a > > default implementation and should be implemented by every subclass :-). > > Is the message confusing? > > I am just imagining an error message appearing in the mini buffer saying > "This needs an implementation", without an indication where the error is > coming from. Two notes here: * If this generic is something that anyone else besides drepl.el is meant to add methods to, then it shouldn't be a '--' symbol. * Normally, instead of "error", CL programmers just leave out such a default implementation. The standard "No applicable method" error already signals that some generic function was invoked with arguments for which there wasn't an applicable method, and the error message contains information about those arguments. Jo=C3=A3o