unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Thien-Thi Nguyen <ttn@giblet.glug.org>
Cc: a.rottmann@gmx.at, mvo@zagadka.ping.de, neil@ossau.uklinux.net,
	guile-devel@gnu.org, guile-user@gnu.org
Subject: Re: [d.love@dl.ac.uk: dynamic loading of native code modules]
Date: Wed, 24 Apr 2002 22:32:03 -0700	[thread overview]
Message-ID: <E170brP-0000Gx-00@giblet> (raw)
In-Reply-To: <873cxkj54j.fsf@raven.i.defaultvalue.org> (message from Rob Browning on Wed, 24 Apr 2002 13:58:20 -0500)

   From: Rob Browning <rlb@defaultvalue.org>
   Date: Wed, 24 Apr 2002 13:58:20 -0500

   For the time being, I think I had better respond to you on technical
   points if I think I can help, and limit my communications otherwise.
   The "Have you stopped beating your wife lately?"  communication
   strategy just makes me tired.  It makes work that would otherwise be
   enjoyable more of a chore.  OPMMV.

fair enough.  technically, there are several plug-in architectures in
existence to study from.  internal interfaces documentation is available
for some of them (typically, the good ones :-).  our job as a community
of guile programmers is to know guile well enough (including through
using guile) to be able to precisely describe our guile usage patterns
wrt other objects on the system.  these patterns most likely would be
influenced (in practice) by usage of these existing plug-in
implementations.

next, those who factor break down the patterns into attributes of the
general usage.  attributes may map to variables and procedures, which
are slammed into source by those who code, and explained thoroughly by
those who write about code.

this code and documentation is the toolkit and mini-language for
expressing an FFI.  it could be delivered alone as an "extensible
attribute mapping framework" or whatever.

interesting FFIs (ltdl, bfd, *.out, network streams, source in some vfs,
loopback dev, etc) can be expressed using this toolkit and (here's the
slackful part for maintainers :-) experimentation at that level is a
user concern and can be done completely in user land.  no worries, oop
ack!

for the purposes of bundled object libraries (aside from libguile),
guile itself uses the FFI api, in 1.4 or 1.6 or 1.8 or ... fashion, or
perhaps in the fashion of one of the users' creations.

so, this is what needs to be done to really put the active design phase
back in the users' hands and leave the maintainers w/ the core to tend,
for FFI.

bonus: this kind of process can run parallel w/ maintainers' own
experimentation w/ FFI architectures, which upon reflection, cannot be
called stupid because experimentation is a path w/ unknown ending (the
only stupidity would be not seeing this ;-).

to kick this off, can someone post an exhaustive summary of plug-in
architectures?  i will add that (and any further additions) under
workbook/ somewhere, no questions asked.

some seed attributes to think about:
 is-2-phase
 has-hook
 is-hooks-based
 depends-on-env-vars
 passes-through-env-vars-prefixing
 passes-through-env-vars-modifying-in-some-weird-way
 unloadable
 requires-system
 part-of-ABSTRACTION-PROGRAM-feature-list
 [your attributes here]

coders feel free to post code (if you know what you're doing :-).
everyone elese, please ask questions and point out flaws in the
approach.  i think we can get this ffi-toolkit api prepared and in use
for 1.8.

thi

_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-devel


  reply	other threads:[~2002-04-25  5:32 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-04-12  1:06 [d.love@dl.ac.uk: dynamic loading of native code modules] Thien-Thi Nguyen
2002-04-13  8:50 ` Neil Jerram
2002-04-14  0:58   ` Rob Browning
2002-04-14 22:22     ` Neil Jerram
2002-04-15  4:21       ` Rob Browning
2002-04-16 20:23         ` Neil Jerram
2002-04-17  5:25           ` Rob Browning
2002-04-20  8:14           ` Thien-Thi Nguyen
2002-04-20 11:07             ` Neil Jerram
2002-04-15 12:15       ` Marius Vollmer
2002-04-16 20:24         ` Neil Jerram
2002-04-17  0:53           ` NIIBE Yutaka
2002-04-20  7:57             ` Thien-Thi Nguyen
2002-04-17  5:36           ` Rob Browning
2002-04-17  5:43             ` Rob Browning
2002-04-20  7:53             ` Thien-Thi Nguyen
2002-04-21 15:20               ` Rob Browning
2002-04-21 15:51                 ` Robert A. Uhl
2002-04-21 16:27                   ` Rob Browning
2002-05-14  8:53                 ` Thien-Thi Nguyen
2002-04-14 21:30   ` Marius Vollmer
2002-04-15 17:58     ` Andreas Rottmann
2002-04-15 19:06       ` Marius Vollmer
2002-04-24  8:00       ` Thien-Thi Nguyen
2002-04-24 14:33         ` Rob Browning
2002-04-24 14:51           ` rm
2002-04-24 15:14             ` Andreas Rottmann
2002-04-24 15:48               ` Rob Browning
2002-04-24 16:15                 ` Bill Gribble
2002-04-24 16:24                   ` Rob Browning
2002-04-24 18:10                   ` Andreas Rottmann
2002-04-24 20:36                     ` Rob Browning
     [not found]                     ` <87wuuwhm08.fsf@raven.i.defaultvalue.org>
2002-04-25  2:05                       ` Joshua Judson Rosen
2002-04-25  3:03                         ` Rob Browning
2002-04-24 18:06                 ` Andreas Rottmann
2002-04-24 20:40                   ` Rob Browning
2002-04-24 20:53                     ` Andreas Rottmann
2002-04-30  0:26                     ` Lynn Winebarger
2002-04-30  1:35                       ` Thien-Thi Nguyen
2002-04-30  2:33                         ` Lynn Winebarger
     [not found]                         ` <0204292133140I.10649@locke.free-expression.org>
2002-05-04  0:19                           ` Thien-Thi Nguyen
2002-04-30  0:20                 ` Lynn Winebarger
2002-04-24 15:28             ` Rob Browning
2002-05-15  0:19               ` Thien-Thi Nguyen
2002-04-24 18:34           ` Thien-Thi Nguyen
2002-04-24 18:58             ` Rob Browning
2002-04-25  5:32               ` Thien-Thi Nguyen [this message]
2002-05-01  5:00           ` Lynn Winebarger
2002-05-01 13:50             ` Rob Browning
2002-04-24  0:52     ` Thien-Thi Nguyen
2002-04-20  9:06   ` Thien-Thi Nguyen
2002-04-20 12:21     ` Neil Jerram
2002-04-20 12:44       ` Thien-Thi Nguyen
2002-04-24  0:09   ` Thien-Thi Nguyen
2002-04-14  0:34 ` Rob Browning
2002-04-14  2:55   ` Rob Browning
2002-04-24  0:24   ` Thien-Thi Nguyen
2002-04-24  5:25     ` Rob Browning
2002-04-24 21:18       ` Marius Vollmer
2002-04-25  4:10         ` Thien-Thi Nguyen
2002-04-28 15:32           ` Marius Vollmer
2002-04-28 20:19             ` Thien-Thi Nguyen
2002-05-14 10:57       ` Thien-Thi Nguyen
2002-05-14 16:11         ` Bill Gribble
2002-05-14 20:54           ` Thien-Thi Nguyen

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=E170brP-0000Gx-00@giblet \
    --to=ttn@giblet.glug.org \
    --cc=a.rottmann@gmx.at \
    --cc=guile-devel@gnu.org \
    --cc=guile-user@gnu.org \
    --cc=mvo@zagadka.ping.de \
    --cc=neil@ossau.uklinux.net \
    --cc=ttn@glug.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).