From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: joaotavora@gmail.com (=?iso-8859-1?Q?Jo=E3o_T=E1vora?=) Newsgroups: gmane.emacs.devel Subject: Re: About CEDET, Completion, and compilers Date: Thu, 13 Mar 2014 14:04:14 +0000 Message-ID: References: <53212048.70901@siege-engine.com> <5321B561.2030004@online.de> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1394719462 24629 80.91.229.3 (13 Mar 2014 14:04:22 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 13 Mar 2014 14:04:22 +0000 (UTC) Cc: "Eric M. Ludlam" , emacs-devel@gnu.org To: Andreas =?iso-8859-1?Q?R=F6hler?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Mar 13 15:04:32 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 1WO6FL-0000kg-FX for ged-emacs-devel@m.gmane.org; Thu, 13 Mar 2014 15:04:31 +0100 Original-Received: from localhost ([::1]:39147 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WO6FK-0001He-Rw for ged-emacs-devel@m.gmane.org; Thu, 13 Mar 2014 10:04:30 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:60480) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WO6FE-0001H8-0T for emacs-devel@gnu.org; Thu, 13 Mar 2014 10:04:28 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WO6F9-0003G8-At for emacs-devel@gnu.org; Thu, 13 Mar 2014 10:04:23 -0400 Original-Received: from mail-we0-x230.google.com ([2a00:1450:400c:c03::230]:61300) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WO6F9-0003Fy-4F for emacs-devel@gnu.org; Thu, 13 Mar 2014 10:04:19 -0400 Original-Received: by mail-we0-f176.google.com with SMTP id x48so876509wes.21 for ; Thu, 13 Mar 2014 07:04:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type:content-transfer-encoding; bh=yhwHw37/IKBRXz+fGWrRRbh8uNi1GjJ3vntEMmbt7RA=; b=NAtwsjlnbpi5dxWJCbKn3vxNS2dkaMup0PIyQEIG3TkqBZ+vDiSaYwRPaCFxuuDgk1 zjjL4tr3PAchwh1MhrDlWpOcj8tTkDtAb6hWt7w6Pd0j2Kxv/Q2eghRxVSW5Yk/It3Lp BKXI0NoWovX7R95GkZVkAcwRGpT/eJDzRkgIxkVVEuFBgrX5Q8YPHtwU0hPQIxiSTiqK wW0Ck73eMEQKJnTdeERchTbLu5BN90jjWNgPzP2j/tsF7l/HkcB0TEktdAvUz1yDeofS 7U4+QDAyvc6LcljSvYcHSlSAKWL10xdhogjVU3Ogd/l2WKZWQNSss648FJmz1F+YPnHb LwcA== X-Received: by 10.180.19.35 with SMTP id b3mr1846504wie.20.1394719458227; Thu, 13 Mar 2014 07:04:18 -0700 (PDT) Original-Received: from BELMONTE.yourcompany.com (mail3.siscog.pt. [195.23.29.18]) by mx.google.com with ESMTPSA id fq16sm5926622wjc.3.2014.03.13.07.04.16 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 13 Mar 2014 07:04:17 -0700 (PDT) In-Reply-To: <5321B561.2030004@online.de> ("Andreas \=\?iso-8859-1\?Q\?R\=F6hle\?\= \=\?iso-8859-1\?Q\?r\=22's\?\= message of "Thu, 13 Mar 2014 14:40:49 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (windows-nt) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c03::230 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:170318 Archived-At: Andreas R=F6hler writes: > Given that's true - what about dropping EIEIO and re-building > everything in plain Emacs Lisp? FWIW, Eric Schulte's web-server [1] uses EIEIO and has recently been accepted in Emacs ELPA. Eric reports it to be an roughly an order of magnitude faster than el-node [2], and it apparently creates an EIEIO object for every request. The code looks clean enough, but I didn't see any `defmethod's or complicated inheritance. But I've also noticed that some dismiss EIEIO as some kind of overkill, a cannon to kill a fly. That's sometimes true, though I frequently wish later that I had started out with a cannon. That's why in CL I almost always start with CLOS right off the bat. So, I've read some of the EIEIO docs, and know it's not as powerful as CLOS, but would like to hear some experience about when to use it, actual downsides experienced, etc... Using more EIEIO could possibly make some people (including me) understand, approach, and accept CEDET better. Jo=E3o [1] https://github.com/eschulte/emacs-web-server [2] http://eschulte.github.io/emacs-web-server/benchmark/