From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 64667431FBC for ; Tue, 26 Jan 2010 07:51:53 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: -0.649 X-Spam-Level: X-Spam-Status: No, score=-0.649 tagged_above=-999 required=5 tests=[AWL=-0.650, BAYES_50=0.001] autolearn=ham Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id B+UIoWyW7Ws9 for ; Tue, 26 Jan 2010 07:51:52 -0800 (PST) Received: from mail-fx0-f217.google.com (mail-fx0-f217.google.com [209.85.220.217]) by olra.theworths.org (Postfix) with ESMTP id 7EF91431FAE for ; Tue, 26 Jan 2010 07:51:52 -0800 (PST) Received: by fxm9 with SMTP id 9so2225179fxm.30 for ; Tue, 26 Jan 2010 07:51:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:content-type:cc:subject:from :to:in-reply-to:references:date:message-id:user-agent :content-transfer-encoding; bh=5AG0NgLQFteEJACDwOkVVs408qbj0MCKjQF1OPR0kWs=; b=oPPODZU9f/rSVt381nYsuW78/M1+PzjWYkl5m265E8ePbbq5X/hutv2PC3+8VQX7mc 8fkCSDki3Jr3wGiEh0hXotK9RDYpVRGCXQWQSmebtarnV0BTKeJdofV2gJ8ZZFneJi49 bTGNMZCBOAEDLrSM94VdEV0yelTL9LO0lPf3E= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=content-type:cc:subject:from:to:in-reply-to:references:date :message-id:user-agent:content-transfer-encoding; b=NTbFQnR6D5nMu/EnIqJEXX9OVDuhgAS8n1JlCbdWAngoMmxO/cxOW/ijm5dICavPro ixD+I5ESmMkyD6hriAp2rKGbTf6uduWYf9YmU6xDgGAeEVfnhdGrlQb3XkTP4FVUvAR3 XNCaXM6EgfxAdRXa57PlU0Ek7Ii3Mw2WsYSJs= Received: by 10.87.63.20 with SMTP id q20mr1770908fgk.27.1264521111526; Tue, 26 Jan 2010 07:51:51 -0800 (PST) Received: from localhost (pool-74-106-64-24.spfdma.east.verizon.net [74.106.64.24]) by mx.google.com with ESMTPS id l19sm8607096fgb.10.2010.01.26.07.51.49 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 26 Jan 2010 07:51:50 -0800 (PST) Content-Type: text/plain; charset=UTF-8 From: Ben Gamari To: Simon Cozens In-reply-to: <4B5EA931.6080804@simon-cozens.org> References: <4B5DE02C.3070309@simon-cozens.org> <1264476319-sup-7498@ben-laptop> <4B5EA931.6080804@simon-cozens.org> Date: Tue, 26 Jan 2010 10:51:45 -0500 Message-Id: <1264520598-sup-6733@ben-laptop> User-Agent: Sup/git Content-Transfer-Encoding: 8bit Cc: notmuch Subject: Re: [PATCH] Mail::Notmuch Perl wrapper X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Jan 2010 15:51:53 -0000 Excerpts from Simon Cozens's message of Tue Jan 26 03:34:57 -0500 2010: > > Yes, this is why I chose not to use SWIG: if I'm going to automatically > get code that doesn't do what I want and then have to manually write > code that does, why not just manually write code that does? (well, > semi-manually: xsubpp extracted all the function signatures for me.) > You bring up a very good point here. It seems like Perl is nice in that it has tools that allow you to easily bring up a set of bindings. Unfortunately, it seems that many other languages (Python included) aren't as well endowed. > I guess the advantage of SWIG is that it gets you code that you don't > want in many different languages. > This is actually precisely my logic. It saves you the work of having to do the grunt work of writing the glue for each of the signatures. However, it seems that in some languages this isn't nearly as difficult. > Anyway, whichever way you do it, you'll still need the class > documentation and the tests - feel free to take them from my patch if > you end up going the SWIG route for Perl. > You might have the right approach in not choosing a cookie-cutter solution for binding generation. There certainly are tools[1][2][3] for Python that make the job a great deal easier. Maybe these would be a better choice. Ultimately, we'd probably end up with more code to maintain, however the end result would likely be cleaner than the current stacked bindings approach. What do people think? - Ben [1] http://www.cython.org/ [2] http://freshmeat.net/projects/python-sip/ [3] http://code.google.com/p/pybindgen/