From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Marius Vollmer Newsgroups: gmane.lisp.guile.devel Subject: Re: What replaces scm_register_module_xxx (Doc update?) Date: 08 Aug 2002 22:26:18 +0200 Sender: guile-devel-admin@gnu.org Message-ID: <87sn1p2j2t.fsf@zagadka.ping.de> References: <20020808134824.GB23831@www> <20020808102103.021cdc0c.dsmith@altustech.com> <874re5mnfs.fsf@raven.i.defaultvalue.org> <20020808161958.GA24162@www> NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1028838389 9099 127.0.0.1 (8 Aug 2002 20:26:29 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Thu, 8 Aug 2002 20:26:29 +0000 (UTC) Cc: Rob Browning , "Dale P. Smith" , guile-devel@gnu.org Return-path: Original-Received: from fencepost.gnu.org ([199.232.76.164]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 17ctrX-0002Me-00 for ; Thu, 08 Aug 2002 22:26:28 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.35 #1 (Debian)) id 17cts8-0005LR-00; Thu, 08 Aug 2002 16:27:04 -0400 Original-Received: from dialin.speedway43.dip164.dokom.de ([195.138.43.164] helo=zagadka.ping.de) by fencepost.gnu.org with smtp (Exim 3.35 #1 (Debian)) id 17ctrR-0005KR-00 for ; Thu, 08 Aug 2002 16:26:21 -0400 Original-Received: (qmail 14549 invoked by uid 1000); 8 Aug 2002 20:26:18 -0000 Original-To: rm@fabula.de In-Reply-To: <20020808161958.GA24162@www> Original-Lines: 34 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 Errors-To: guile-devel-admin@gnu.org X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Developers list for Guile, the GNU extensibility library List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.lisp.guile.devel:1022 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:1022 rm@fabula.de writes: > If i want my users to be able to script some of my applications > functionality there's no library i can load with 'load-extension' You can call C functions by other means than by 'load-extension' ;) If you want to make several modules available to your users with functions in them that are implemented in C, you can write the thin Scheme wrapper for each module, but instead of calling load-extension you directly call a previously registered C function. Like so void foo_init_inits () { scm_c_define_gsubr ("foo-init-strings-bindings", ...); scm_c_define_gsubr ("foo-init-utils-bindings", ...); } ;; file: foo/strings (define-module (foo strings)) (foo-init-strings-bindings) (export foo-1) (export foo-2) (export bar-1) ;; file: foo/utils (define-module (foo utils)) (foo-init-utils-bindings) (export foo-4) (export foo-5) There is the fine point of in what module foo-init-strings-bindings is defined. I'm not sure about that, right now... _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel