From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.devel Subject: Re: [patch] subordinate SMOBs with GOOPS superclasses Date: Wed, 05 Dec 2007 23:19:58 +0100 Message-ID: <8763zc3htd.fsf@pobox.com> References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1196893423 18335 80.91.229.12 (5 Dec 2007 22:23:43 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 5 Dec 2007 22:23:43 +0000 (UTC) Cc: guile-devel To: "Marco Maggi" Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Wed Dec 05 23:23:53 2007 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1J02ee-0001N8-TQ for guile-devel@m.gmane.org; Wed, 05 Dec 2007 23:23:45 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J02eO-0000dL-57 for guile-devel@m.gmane.org; Wed, 05 Dec 2007 17:23:28 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1J02eK-0000cz-9t for guile-devel@gnu.org; Wed, 05 Dec 2007 17:23:24 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1J02eI-0000cX-He for guile-devel@gnu.org; Wed, 05 Dec 2007 17:23:23 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J02eI-0000cU-Cu for guile-devel@gnu.org; Wed, 05 Dec 2007 17:23:22 -0500 Original-Received: from ambient.dashsystems.com ([216.27.85.7] helo=kettle.ambient-hosting.net) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1J02eI-0003Ip-0x for guile-devel@gnu.org; Wed, 05 Dec 2007 17:23:22 -0500 Original-Received: from localhost.localdomain (ambient-hosting.net [10.1.6.1]) by kettle.ambient-hosting.net (Postfix) with ESMTP id 59FF5880DB; Wed, 5 Dec 2007 17:20:00 -0500 (EST) Original-Received: by localhost.localdomain (Postfix, from userid 1000) id 50C0F118221; Wed, 5 Dec 2007 23:19:59 +0100 (CET) In-Reply-To: (Marco Maggi's message of "Tue\, 27 Nov 2007 07\:57\:02 +0100") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1.50 (gnu/linux) X-detected-kernel: by monty-python.gnu.org: Linux 2.4-2.6 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:6915 Archived-At: Hi Marco, What follows is a review by an ignorant individual! On Tue 27 Nov 2007 07:57, "Marco Maggi" writes: > The attached patch documents the creation of > a GOOPS class whenever a new SMOB type is > defined and GOOPS has been already loaded. Excellent! Would be nice if the mime type of your patch were noted as text. Anyway, this behavior is confusing, and it's nice that you're documenting it. +If GOOPS is loaded when @code{scm_make_smob_type} is invoked: a new You probably wanted a comma there. +A special smob type is implemented to overcome the 255 limit on the +number of smob types. Its procedures dispatch the call to procedures +referenced by a subsmob descriptor. Sounds really byzantine. The tagging system has that aspect to it, yes, but perhaps there's a point where the complexity is too much. Why wouldn't you use structs or something, specializing allocate-instance in GOOPS to give you some kind of structure that can hold a variable number of raw machine words? That's probably a better foundation for wrapping N > 255 C types. Anyway, just a thought. Cheers, Andy -- http://wingolog.org/ _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel