From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eric Schulte Newsgroups: gmane.emacs.devel Subject: Re: EIEIO Date: Fri, 14 Mar 2014 14:13:07 -0600 Message-ID: <878usc8ros.fsf@gmail.com> References: <53212048.70901@siege-engine.com> <5321B561.2030004@online.de> <53224F2B.3070600@siege-engine.com> <532268F2.60809@dancol.org> <877g7xazhr.fsf@ericabrahamsen.net> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1394828370 5801 80.91.229.3 (14 Mar 2014 20:19:30 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 14 Mar 2014 20:19:30 +0000 (UTC) Cc: emacs-devel@gnu.org To: Eric Abrahamsen Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Mar 14 21:19:40 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 1WOYZw-0004Ya-JY for ged-emacs-devel@m.gmane.org; Fri, 14 Mar 2014 21:19:40 +0100 Original-Received: from localhost ([::1]:47030 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WOYZw-0005vM-6e for ged-emacs-devel@m.gmane.org; Fri, 14 Mar 2014 16:19:40 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40096) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WOYVi-00073x-4P for emacs-devel@gnu.org; Fri, 14 Mar 2014 16:15:22 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WOYVd-0001lq-VK for emacs-devel@gnu.org; Fri, 14 Mar 2014 16:15:18 -0400 Original-Received: from mail-pa0-x22a.google.com ([2607:f8b0:400e:c03::22a]:46389) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WOYVd-0001jk-JY for emacs-devel@gnu.org; Fri, 14 Mar 2014 16:15:13 -0400 Original-Received: by mail-pa0-f42.google.com with SMTP id fb1so3130421pad.1 for ; Fri, 14 Mar 2014 13:15:12 -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; bh=r7DXJnugy9ywrI5FIlCan2rjRc1vB7yhbFbCiK9/Aos=; b=Epu7pCSkVxTsxbkG4s7PPVvlYLyc9M7txSqIcHYgdHY9zczWC7WR8hMEaSTdIwUXOv WlmAPHg84w43/4734/wKtxIs9dhq0BBhp6L0d7K2zrQRQQOKnG8p+E9kBwfR+kCqizm8 U0BY1f0sGlkfUtOpayFfKJfO21BJGv87gy6NKsAxufqLYPF8WVhpYFhOTk0EL8IZG9xC lfkrJYfajssuarJr+QTMmqVc5YC3LnGd2shTVDUqKAkVNDaSkBIt2Y7wTOrEi+iqCzIO Yya0RTKs6LhAnHG/pkU+TqLBiAMGXKxDdxfvePLW2VlIc2ROnKOLfYNImR/Et/N2HZIn /ceg== X-Received: by 10.68.249.100 with SMTP id yt4mr5245786pbc.165.1394828112123; Fri, 14 Mar 2014 13:15:12 -0700 (PDT) Original-Received: from bagel (c-174-56-50-60.hsd1.nm.comcast.net. [174.56.50.60]) by mx.google.com with ESMTPSA id ei4sm19337071pbb.42.2014.03.14.13.15.09 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 14 Mar 2014 13:15:11 -0700 (PDT) In-Reply-To: <877g7xazhr.fsf@ericabrahamsen.net> (Eric Abrahamsen's message of "Fri, 14 Mar 2014 17:41:36 +0800") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:400e:c03::22a 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:170371 Archived-At: Eric Abrahamsen writes: > Daniel Colascione writes: > >> On 03/13/2014 05:36 PM, Eric M. Ludlam wrote: >>> The key thing that EIEIO lets me do is define interfaces that allows >>> modules to work together. One more experiential point in this thread. I implemented an Emacs GO mode recently and (thanks to EIEIO) I was able to transparently support reading/writing of moves/game-state to/from multiple GO engines, network protocols, game formats (sgf) and even the Emacs display and user, all through a single API [1]. I would not have even attempted this without EIEIO, but with EIEIO it was a pleasure. Best, Footnotes: [1] https://raw.github.com/eschulte/el-go/master/go-api.el -- Eric Schulte https://cs.unm.edu/~eschulte PGP: 0x614CA05D