From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: pcase.el Date: Tue, 28 Sep 2010 00:51:40 +0200 Message-ID: References: <87vd5x7ty2.fsf@stupidchicken.com> <87vd5wo48a.fsf@stupidchicken.com> <8739t03q2g.fsf@stupidchicken.com> <87k4mb2mfu.fsf@stupidchicken.com> <87pqw3nm4y.fsf@stupidchicken.com> <87k4m9esog.fsf@gmail.com> <874odd413d.fsf_-_@lifelogs.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1285628503 31367 80.91.229.12 (27 Sep 2010 23:01:43 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 27 Sep 2010 23:01:43 +0000 (UTC) Cc: Ted Zlatanov , emacs-devel@gnu.org To: Leo Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Sep 28 01:01:42 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1P0MhZ-0003CV-0l for ged-emacs-devel@m.gmane.org; Tue, 28 Sep 2010 01:01:41 +0200 Original-Received: from localhost ([127.0.0.1]:33545 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P0MZU-0002US-Hg for ged-emacs-devel@m.gmane.org; Mon, 27 Sep 2010 18:53:20 -0400 Original-Received: from [140.186.70.92] (port=40719 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P0MXs-0001ha-CZ for emacs-devel@gnu.org; Mon, 27 Sep 2010 18:51:41 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1P0MXr-0004Ca-40 for emacs-devel@gnu.org; Mon, 27 Sep 2010 18:51:40 -0400 Original-Received: from fencepost.gnu.org ([140.186.70.10]:59907) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P0MXr-0004CV-00 for emacs-devel@gnu.org; Mon, 27 Sep 2010 18:51:39 -0400 Original-Received: from dyn.83-228-217-009.dsl.vtx.ch ([83.228.217.9]:15254 helo=fmsmemgm.homelinux.net) by fencepost.gnu.org with esmtpsa (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.69) (envelope-from ) id 1P0MXp-00011B-QJ; Mon, 27 Sep 2010 18:51:38 -0400 Original-Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id 0BB036611D; Tue, 28 Sep 2010 00:51:40 +0200 (CEST) In-Reply-To: (Leo's message of "Mon, 27 Sep 2010 17:59:28 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:131038 Archived-At: SM> The future has passed. It's called `pcase'. [...] > There's also an erlang-style matcher for elisp here: > http://code.google.com/p/distel/. Not to belittle that code, but its internal working is very different: it does not preprocess that `case' into an efficient decision tree, but instead naively tries each pattern in turn, in many cases performing the same tests over and over again (even interpreting patterns at run-time rather than precompiling them). So pcase should show *much* higher performance (100% untested claim). Stefan