From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Should records be able to mimic primitive types? Date: Mon, 12 Jun 2017 20:00:31 +0300 Message-ID: <83tw3l3zv4.fsf@gnu.org> References: <8777899d-ca8e-212c-b8bf-2f8da4c54836@cs.ucla.edu> <83zidg57xv.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1497286892 20496 195.159.176.226 (12 Jun 2017 17:01:32 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 12 Jun 2017 17:01:32 +0000 (UTC) Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org To: Philipp Stephani Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Jun 12 19:01:28 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dKSiV-000578-Pf for ged-emacs-devel@m.gmane.org; Mon, 12 Jun 2017 19:01:27 +0200 Original-Received: from localhost ([::1]:39215 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dKSib-0004gS-8b for ged-emacs-devel@m.gmane.org; Mon, 12 Jun 2017 13:01:33 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39618) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dKShq-0004f7-Lf for emacs-devel@gnu.org; Mon, 12 Jun 2017 13:00:47 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dKShn-0003iw-Eh for emacs-devel@gnu.org; Mon, 12 Jun 2017 13:00:46 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:53288) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dKShn-0003is-Bk; Mon, 12 Jun 2017 13:00:43 -0400 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:3583 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dKShm-0001g2-Ko; Mon, 12 Jun 2017 13:00:43 -0400 In-reply-to: (message from Philipp Stephani on Mon, 12 Jun 2017 15:07:16 +0000) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:215593 Archived-At: > From: Philipp Stephani > Date: Mon, 12 Jun 2017 15:07:16 +0000 > Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org > > It's okay to disagree, but these have been the principles underlying > Emacs development since about forever, so please try to be consistent > with them as long as they are followed. I don't think a case for > making Emacs Lisp a more restricted development environment than it is > now will gain many supporters. E.g., even the move to make characters > a special data type separate from integers, something the XEmacs > actually did, was rejected by Emacs. > > That's not my intention. What I have in mind is to raise more signals in cases where users use Emacs > functions incorrectly instead of employing unspecified behavior. If some usage is unequivocally wrong, can never support legitimate use cases, and the defenses are not too expensive, then I think this could be okay. But we need to be careful not to disallow legitimate, though perhaps somewhat dangerous practices. Emacs's tradition is to trust the Lisp programmers not to shoot themselves in the foot, so we generally prefer to err on that side of the line, when in doubt. Punishing the innocent on behalf of possibly guilty is something I think we should try to avoid.