From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.emacs.devel Subject: Re: Emacs Lisp's future Date: Sat, 27 Sep 2014 17:41:57 +0200 Message-ID: <87h9ztm5oa.fsf@fencepost.gnu.org> References: <54193A70.9020901@member.fsf.org> <87lhp6h4zb.fsf@panthera.terpri.org> <87k34qo4c1.fsf@fencepost.gnu.org> <54257C22.2000806@yandex.ru> <83iokato6x.fsf@gnu.org> <87wq8pwjen.fsf@uwakimon.sk.tsukuba.ac.jp> <837g0ptnlj.fsf@gnu.org> <87r3yxwdr6.fsf@uwakimon.sk.tsukuba.ac.jp> <87tx3tmi3t.fsf@fencepost.gnu.org> <834mvttgsf.fsf@gnu.org> <87lhp5m99w.fsf@fencepost.gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1411832539 10065 80.91.229.3 (27 Sep 2014 15:42:19 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 27 Sep 2014 15:42:19 +0000 (UTC) Cc: handa@gnu.org, Eli Zaretskii , dmantipov@yandex.ru, stephen@xemacs.org, emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Sep 27 17:42:10 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XXu8P-0007Lz-Kp for ged-emacs-devel@m.gmane.org; Sat, 27 Sep 2014 17:42:09 +0200 Original-Received: from localhost ([::1]:56220 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XXu8P-00060J-2E for ged-emacs-devel@m.gmane.org; Sat, 27 Sep 2014 11:42:09 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:56893) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XXu8K-00060A-TQ for emacs-devel@gnu.org; Sat, 27 Sep 2014 11:42:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XXu8J-0000yt-Oq for emacs-devel@gnu.org; Sat, 27 Sep 2014 11:42:04 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:40583) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XXu8J-0000wt-LN for emacs-devel@gnu.org; Sat, 27 Sep 2014 11:42:03 -0400 Original-Received: from localhost ([127.0.0.1]:47758 helo=lola) by fencepost.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XXu8D-0007cF-Sj; Sat, 27 Sep 2014 11:41:58 -0400 Original-Received: by lola (Postfix, from userid 1000) id 6BD50E08F5; Sat, 27 Sep 2014 17:41:57 +0200 (CEST) In-Reply-To: (Stefan Monnier's message of "Sat, 27 Sep 2014 11:24:48 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:174745 Archived-At: Stefan Monnier writes: >>> Could you move on to some other discussion? >>> I mean, it's not like this is a problem we need to fix now (if ever). >> Uh, Pango was an analogy example. The actual question was whether Emacs >> can or should delegate its character encoding/decoding processing (not >> really significantly related to Pango but subject to similar >> considerations) to GUILE's current mechanisms. Which seem to be >> libunistring via libiconv (both GNU libraries it would appear) rather >> than the ICU mentioned elsewhere. > > And, again: it's not like this is a problem we need to fix now (if ever). > >> The GUILE bridge is there. Robin Templeton's status of the port is that >> it is mostly complete, with strings/buffers being the most notable part >> obliterating acceptable performance via thick glue layers between Emacs' >> and GUILE's different implementations of similar concepts. > > Do you know this to be a fact? is about keeping them separate. lists "Unify Elisp and Scheme strings". I thought I read something from Robin about buffers/strings being a performance issue, but searching on the respective developer lists points rather to dynamic scopes and/or buffer-local variables. > AFAIK, Guile-Emacs could perfectly live with having Emacs buffers, > Emacs strings, and Scheme strings, with no extra cost, except when you > *want* to convert between them (but as long as you don't run any > Scheme, you shouldn't need/want to do any such conversion). GUILE runs on a VM and obviously the native data types known to the VM will be favored regarding its performance. It may be that the cost of processing strings is such that it will dominate the VM code processing, but since one of the most fundamental data types of both Scheme and Lisp are interned strings (namely symbols), I'd still expect quite a bit of unnecessary churn when Emacs strings cannot just use GUILE primitives. Not least of all maintaining two sets of primitives. -- David Kastrup