From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Phil Hagelberg Newsgroups: gmane.emacs.devel Subject: Re: Kickstarter for Emacs Date: Fri, 20 Apr 2012 17:10:33 -0700 Message-ID: References: <87wr5dfm9v.fsf@gnu.org> <87398118ys.fsf@thinkpad.tsdh.de> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: dough.gmane.org 1334967045 1400 80.91.229.3 (21 Apr 2012 00:10:45 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 21 Apr 2012 00:10:45 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Apr 21 02:10:44 2012 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 1SLNuV-0006ov-Pe for ged-emacs-devel@m.gmane.org; Sat, 21 Apr 2012 02:10:44 +0200 Original-Received: from localhost ([::1]:44431 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SLNuU-0006Pv-Od for ged-emacs-devel@m.gmane.org; Fri, 20 Apr 2012 20:10:42 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:35597) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SLNuR-0006Pd-D4 for emacs-devel@gnu.org; Fri, 20 Apr 2012 20:10:40 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SLNuP-0005Pg-76 for emacs-devel@gnu.org; Fri, 20 Apr 2012 20:10:38 -0400 Original-Received: from mail-iy0-f169.google.com ([209.85.210.169]:35955) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SLNuP-0005Ly-2Z for emacs-devel@gnu.org; Fri, 20 Apr 2012 20:10:37 -0400 Original-Received: by iajr24 with SMTP id r24so17586303iaj.0 for ; Fri, 20 Apr 2012 17:10:33 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:x-gm-message-state; bh=CaqzNM2cbsXw5ETUIRYm4MsutRGRwQp++u4SO3qDoiA=; b=EFPDCZw2Q79+qHXckiBDk6a5XH8iERhdR3Rqt2mH6Kw0GtzURlrCAJquLcrF55MdRF EnHA3CRVNHD9xo9lLDDbzT2RLde9Crn6dHj035SYLdv8gmlfTI5c2vhkPADDwsqAHXOr bEgbOd+3VVV58YaoZxo30MFHz9SKJYt+3mDmhAKN67PE1HNIDhKwsaK/L3p+NhTiDqv6 WA9f4llgMq9+U20fbVgGY1ac08MF1BaN2Lg8J0hZMhWqf6wmr6eRhjHHiSv98C21orZN Qtca5yHZ9BZyTkncgNjEIxAuj0DXOV1ErIs/FyxJJ6SDzR/k8UUsox2SjLitB08aNo1u MvKA== Original-Received: by 10.50.185.232 with SMTP id ff8mr202990igc.5.1334967033911; Fri, 20 Apr 2012 17:10:33 -0700 (PDT) Original-Received: by 10.50.236.2 with HTTP; Fri, 20 Apr 2012 17:10:33 -0700 (PDT) In-Reply-To: X-Gm-Message-State: ALoCoQktA0TOh7FZDL+8DJqmii7pUZx68SUvYPJqpvSxkmJUr5apbHp3XsbWcRkk2tJFJHShv6iV X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 209.85.210.169 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:149880 Archived-At: On Thu, Apr 19, 2012 at 2:02 PM, Stefan Monnier wrote: >> I'd happily contribute money to the development of the concurrency >> branch, the xembed work, or immutable strings/data structures. > > Curious: what do you expect "immutable strings/data structures" > to provide? I have been thinking about implementing egal from Henry Baker's famous equality paper[1] in Emacs Lisp, but it is not very practical unless you can make certain guarantees of immutability. Knowing that two mutable strings are currently equal is not nearly as useful as knowing that they will always be equal, and indeed in a concurrent setting is hardly useful at all. Being able to construct a list or string that is a stable value (that is, guaranteed not to change) allows you to write code that is referentially transparent and thus much easier to understand and maintain. But then again, there is so much extant code that works in terms of mutable strings and lists that interoperating between pure code and mutable-friendly code might be too burdensome. I was thinking about immutability primarily in the context of a compiler that could target Emacs Lisp, which is probably crazy. =) -Phil [1] - http://home.pipeline.com/~hbaker1/ObjectIdentity.html