From: rm@fabula.de
Cc: rm@fabula.de, Rob Browning <rlb@defaultvalue.org>,
"Dale P. Smith" <dsmith@altustech.com>,
guile-devel@gnu.org
Subject: Re: What replaces scm_register_module_xxx (Doc update?)
Date: Mon, 19 Aug 2002 21:05:24 +0200 [thread overview]
Message-ID: <20020819190524.GA21020@www> (raw)
In-Reply-To: <m37kipwv9o.fsf@laruns.ossau.uklinux.net>
On Sat, Aug 17, 2002 at 12:59:47PM +0100, Neil Jerram wrote:
> OK, so the idea is:
>
> HTTP request for some URL --->
> mapped by Apache config file to generic mod_guile handler,
> with parameters indicating the module in which the appropriate
> handler proc lives, and perhaps the proc name as well (?)
Yes, indeed. On can 'map' a request URL to an module/handler:
| <Location /blub>
| ...
| GuileSetHandler (foo bar)
| </Location>
or with an optional handler name:
| GuileSetHanlder ((foo bar) . my-handler)
> mod_guile handler uses the module and calls the handler proc from that
> module (how do you handle handler procs with the same name in
> different modules? perhaps by not actually importing them)
Correct, i don't import the modules, i just use them as namespace compartments.
> Now we're into Scheme code, that has a SMOB in its hand and wants to
> use the utility functions defined in (apache request) etc. to play
> with it, which it does using use-module in the usual way.
>
> And the problem was: how do you export the C definitions for (apache
> request) etc. into their respective modules?
>
> I presume that Marius's docs for the C module API have given you one
> answer, using scm_c_define, scm_c_with_module etc. Another
> possibility would be to write a C function per module to register its
> definitions as Guile primitives:
>
> void mg_register_apache_request_primitives ()
> {
> scm_c_define_gsubr (...);
> ...
> }
This is how i do it currently. An init function per functional unit/module.
>
> Then at the top of apache/request.scm, you can call this using either
> load-extension or the dynamic-* functions:
>
> (define-module (apache request)
> ...)
>
> (load-extension "libmg" "mg_register_apache_request_primitives")
Currently i pass these init functions to 'scm_c_define_module', but that's
probably equivalent to your solution.
> Does this cover everything, and would you mind if I reworked this into
> another example for the manual?
Sounds fine to me. As soon as i get space on a server i'll put the code
online (together with some samples ;-)
Ralf
> Regards,
> Neil
>
_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-devel
next prev parent reply other threads:[~2002-08-19 19:05 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-08-08 13:48 What replaces scm_register_module_xxx (Doc update?) rm
2002-08-08 14:21 ` Dale P. Smith
2002-08-08 14:23 ` Dale P. Smith
2002-08-08 14:31 ` Rob Browning
2002-08-08 16:19 ` rm
2002-08-08 17:59 ` Dale P. Smith
2002-08-08 18:24 ` rm
2002-08-08 20:26 ` Marius Vollmer
2002-08-08 21:28 ` Neil Jerram
2002-08-09 15:36 ` rm
2002-08-17 11:59 ` Neil Jerram
2002-08-19 19:05 ` rm [this message]
2002-08-09 8:47 ` Matthias Koeppe
2002-08-09 10:00 ` rm
2002-08-09 11:29 ` Matthias Koeppe
2002-08-09 13:23 ` rm
2002-08-10 14:44 ` Marius Vollmer
2002-08-11 23:20 ` Marius Vollmer
2002-08-17 8:09 ` Dirk Herrmann
2002-08-17 11:05 ` Neil Jerram
2002-08-24 8:08 ` Dirk Herrmann
2002-08-26 21:45 ` Neil Jerram
2002-08-26 22:04 ` Marius Vollmer
2002-08-21 19:35 ` Marius Vollmer
2002-08-13 0:40 ` Marius Vollmer
2002-08-17 22:37 ` Dale P. Smith
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/guile/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20020819190524.GA21020@www \
--to=rm@fabula.de \
--cc=dsmith@altustech.com \
--cc=guile-devel@gnu.org \
--cc=rlb@defaultvalue.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).