From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Andrea Corallo Newsgroups: gmane.emacs.devel Subject: Re: A prototype for a binding based approach to proper namespaces Date: Sat, 09 May 2020 16:14:39 -0700 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="33086"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) Cc: emacs-devel@gnu.org To: Daniel Colascione Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun May 10 01:15:24 2020 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 1jXYgm-0008Wh-4d for ged-emacs-devel@m.gmane-mx.org; Sun, 10 May 2020 01:15:24 +0200 Original-Received: from localhost ([::1]:37702 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jXYgl-0006fN-7E for ged-emacs-devel@m.gmane-mx.org; Sat, 09 May 2020 19:15:23 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:48154) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jXYgD-0006ER-B0 for emacs-devel@gnu.org; Sat, 09 May 2020 19:14:49 -0400 Original-Received: from mx.sdf.org ([205.166.94.20]:61365) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jXYgB-00085c-V3 for emacs-devel@gnu.org; Sat, 09 May 2020 19:14:48 -0400 Original-Received: from sdf.org (ma.sdf.org [205.166.94.33]) by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 049NEdoa002616 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Sat, 9 May 2020 23:14:39 GMT Original-Received: (from akrl@localhost) by sdf.org (8.15.2/8.12.8/Submit) id 049NEdJC009862; Sat, 9 May 2020 16:14:39 -0700 In-Reply-To: (Daniel Colascione's message of "Sat, 09 May 2020 10:17:48 -0700") Received-SPF: pass client-ip=205.166.94.20; envelope-from=akrl@sdf.org; helo=mx.sdf.org X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/09 19:14:42 X-ACL-Warn: Detected OS = ??? X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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:249596 Archived-At: Daniel Colascione writes: >>> No, not in this case. This is something that might appear to be fine >>> in isolated tests or in modules that don't get a lot of use, but the >>> more people use this thing, the worse it gets, right? I don't see any >>> reason to *prefer* this approach to the zero cost one. Let's not be >>> slow for no benefit. >> >> If the alternative is the read time approach I think many people think >> it has disadvantages. Are proposing a third way? > > > Which specific disadvantages? I think there as been recently other discussions here on this, you can look them up. I'd say read-time side effects and symbol leakage. This is all coming from having different obarrays the reader is working on. Anyway reasoning about I think is possible to have no additional indirections in (byte-)compiled code with this system too. If the Lexspace is known at compile time and so is the final slot into the binding to be used this should be used directly. It shouldn't be hard to implement. Andrea -- akrl@sdf.org